Heroku - 2 Présentation Heroku v 4

Bienvenue dans ce cours d'introduction à Heroku. Avant d'entrer dans les détails, présentons l'outil et listons les prérequis nécessaires. À la fin de cette série, vous serez capable de déployer vos propres applications web et d'utiliser les fonctionnalités d'Heroku pour gagner du temps. Nous parlerons également de son architecture pour mieux comprendre comment les choses fonctionnent en interne, et terminerons avec des exemples concrets en situation réelle.

Prérequis et concept PaaS

Les prérequis sont très limités, mais il sera plus facile de suivre le cours avec une connaissance basique en Python ou Node.js (un peu de programmation au fil des exemples) et en Git (une bonne partie du travail s'effectue via Git). Maintenant, qu'est-ce qu'Heroku ? Heroku est une plateforme en tant que service, ou PaaS (Platform as a Service). Concrètement, c'est un fournisseur de services cloud qui propose hardware et logiciels via Internet pour développer des applications, sans que vous ayez à installer votre propre infrastructure.

Sans ce type de service, déployer une application en interne nécessite une équipe complète d'informaticiens : acheter et installer le matériel, configurer les systèmes d'exploitation, le middleware (bases de données, serveurs web), gérer les accès et la sécurité, intégrer aux outils de gestion existants… Avec Heroku, tout cela est pris en charge pour vous : vous vous concentrez uniquement sur votre code applicatif.

  • PaaS = Platform as a Service (infra fournie)
  • Dynos : conteneurs virtuels Linux qui exécutent votre code
  • Scaling : nombre de dynos ajustable selon la charge
  • Facturation : selon nombre et taille des dynos utilisés
  • Heroku tourne sur l'infrastructure AWS

Les applications Heroku sont exécutées dans des dynos : des conteneurs Linux isolés et virtualisés conçus pour exécuter du code selon les commandes que vous spécifiez. Les développeurs peuvent scaler leurs applications à un nombre quelconque de dynos selon la demande en ressources ou pour la réplication. Les dynos sont la brique fondamentale d'Heroku, qu'on déploie une application simple ou très sophistiquée. Heroku facture ses clients selon le nombre et la taille des dynos consommés.

Pourquoi Heroku plutôt qu'AWS directement ? Si l'on compare, Heroku tourne en fait sur AWS en interne. Choisir Heroku plutôt qu'AWS a du sens si vous n'avez pas (ou ne voulez pas avoir) une équipe DevOps pour gérer l'infrastructure : Heroku est bien plus accessible aux novices et aux startups, plus simple à apprendre et à configurer. De nombreux add-ons permettent d'ajouter des fonctionnalités en un clic. Néanmoins, Heroku coûte un peu plus cher qu'AWS, et AWS reste plus intéressant pour de l'informatique « lourde » : data mining, machine learning, etc. À bientôt pour la suite du cours.