Qu'est-ce que Heroku exactement?

135

Je viens de commencer à apprendre Ruby sur rails et je me demandais ce qu'était vraiment Heroku? Je sais que c'est un cloud qui nous aide à éviter d'utiliser des serveurs? Quand l'utilisons-nous réellement?

user1452803
la source
7
Dans les termes les plus simples: Heroku vous permet de déployer des applications Web en poussant votre code vers leur dépôt. Heroku s'occupe de tout pour vous.
Bobby
Puis-je l'utiliser pour le déploiement du backend d'applications mobiles? prend-il en charge mongoDb?
vikramvi le

Réponses:

198

Heroku est une plateforme cloud en tant que service. Cela signifie que vous n'avez pas à vous soucier de l'infrastructure; vous vous concentrez simplement sur votre application.

En plus de ce que Jonny a dit , il y a quelques fonctionnalités d'Heroku:

  • Déploiement instantané avec Git push - la construction de votre application est effectuée par Heroku à l'aide de vos scripts de construction
  • De nombreuses ressources complémentaires (applications, bases de données, etc.)
  • Mise à l'échelle des processus - mise à l'échelle indépendante pour chaque composant de votre application sans affecter les fonctionnalités et les performances
  • Isolation - chaque processus (aka dyno) est complètement isolé les uns des autres
  • Journalisation et visibilité complètes - accès facile à toutes les sorties de journalisation de chaque composant de votre application et de chaque processus (dyno)

Heroku fournit un tutoriel très bien écrit qui vous permet de démarrer en quelques minutes. En outre, ils fournissent gratuitement les 750 premières heures de calcul, ce qui signifie que vous pouvez avoir un processus (aka Dyno) sans frais. Les performances sont également très bonnes, par exemple une application Web simple écrite en node.js peut gérer environ 60 à 70 requêtes par seconde.

Les concurrents Heroku sont:

À M
la source
69
+1 pour avoir également mentionné qu'il existe d'autres services comme alternatives.
Karl-Johan Sjögren
6
Je veux juste savoir quelle est la différence entre exécuter une application rails sur le serveur Web localhost / apache et exécuter l'application sur heroku?
neo1691
23
Pour moi, la simple lecture de la liste des concurrents m'a permis de comprendre ce que pouvait être Heroku.
Code Poet
35
La liste des concurrents est un peu trompeuse. La plupart des «concurrents» de la liste proposent une infrastructure cloud en tant que service, tandis que Heroku vend leur gestion de l'infrastructure cloud en tant que service. Heroku lui-même est un client d'AWS; lorsque vous poussez vers Heroku, votre application est assise sur des instances AWS. Dire qu'ils sont des concurrents, c'est comme dire qu'un organisateur de mariage est en concurrence avec les salles de banquet.
Adelmar le
1
dzone.com/articles/…
Kyle Bridenstine
24

C'est une solution serveur évolutive basée sur le cloud qui vous permet de gérer facilement le déploiement de vos applications Rails (ou autres) à condition de vous abonner à un certain nombre de conventions (par exemple Postgres comme base de données, pas d'écriture sur le système de fichiers).

Ainsi, vous pouvez facilement évoluer au fur et à mesure que votre application se développe en améliorant votre base de données et en augmentant le nombre de dynos (instances Rails) et de workers.

Cela ne vous aide pas à éviter d'utiliser des serveurs, vous aurez besoin d'une certaine compréhension de la gestion des serveurs pour déboguer efficacement les problèmes avec votre combinaison plate-forme / application. Cependant, bien que cela soit comparativement cher (c'est-à-dire par instance par rapport à la location d'une tranche sur Slicehost ou quelque chose du genre), il existe un compte gratuit et c'est un compromis approximatif entre le fait qu'il soit plus rentable de payer quelqu'un pour créer votre propre solution ou prendre la dépense supplémentaire.

John H
la source
8

Heroku fournit essentiellement un espace Web pour télécharger votre application

Si vous téléchargez une application Rails, vous pouvez suivre ce tutoriel https://github.com/mrkushjain/herokuapp

Kush Jain
la source
4
auto-promouvant sans vergogne votre Github maintenant?
3

À mon avis, il s'agit d'un service d'hébergement Web administré évolutif, prêt à évoluer dans tous les sens pour que vous n'ayez pas à vous en soucier.

Ce n'est pas utile pour une application Web PHP normale, car il existe de nombreux services d'hébergement Web avec ftp pour un site Web simple sans besoin d'évolutivité, mais si vous avez besoin de quelque chose de plus grand, Heroku ou quelque chose de similaire, c'est ce dont vous avez besoin.

Il est exposé en tant que service via un outil de ligne de commande afin que vous puissiez écrire des scripts pour automatiser vos déploiements. Quoi qu'il en soit, il est assez similaire à d'autres services d'hébergement Web avec Git activé, mais Heroku le rend plus simple.

C'est son truc, pour vous simplifier les tâches administratives, pour vous faire gagner du temps. Mais je ne suis pas sûr, car je ne fais que commencer par ça!

Une belle introduction de son fonctionnement dans la documentation officielle est:

https://devcenter.heroku.com/articles/how-heroku-works

R01010010
la source
0

Par DZone: https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup

Heroku est un produit de plate-forme en tant que service (PaaS) basé sur AWS et est très différent d'Elastic Compute Cloud. Il est très important de différencier les solutions «Infrastructure en tant que service» et «Plateforme en tant que service» lorsque nous envisageons de déployer et de prendre en charge notre application à l'aide de ces deux solutions.

Heroku est bien plus simple à utiliser qu'AWS Elastic Compute Cloud. C'est peut-être même trop simple. Mais il y a une bonne raison à cette simplicité. La plate-forme Heroku nous équipe d'un environnement d'exécution et de serveurs d'applications prêts à l'emploi. De plus, nous bénéficions d'une intégration transparente avec divers instruments de développement, un système d'exploitation préinstallé et des serveurs redondants.

Par conséquent, avec Heroku, nous n'avons pas besoin de penser à la gestion de l'infrastructure, contrairement à AWS EC2. Il nous suffit de choisir un plan d'abonnement et de modifier notre plan si nécessaire.

Cet article explique bien les différences entre Heroku et AWS, mais il semble que vous puissiez choisir d'autres fournisseurs iaas (infrastructure) autres qu'AWS. Donc, en fin de compte, Heroku semble simplement simplifier le processus d'utilisation d'un fournisseur de cloud, mais à un coût.

entrez la description de l'image ici

Kyle Bridenstine
la source