blue-green deployment.
La plupart des Cloud Providers proposent des load balancer as a service (LBaaS) pour soulager cette charge de travail. Nous parlons aussi bien d’AWS, d’Azure, que des français, Scaleway et Outscale par exemple qui ont tous plus ou moins une offre de load balancer as a service.
Nous sommes arrivés à la fin du top 5 mais il y a un numéro bonus.
Si vous utilisez une technologie suffisamment standardisée, c’est-à-dire suffisamment répandue (Ruby on Rails, Node.js, Spring Boot, etc.), il est inutile de compiler, stocker et gérer le cycle de vie de vos artefacts applicatifs, de les télécharger, de les bouger au bon endroit sur le réseau, de démarrer ni d'arrêter des serveurs avec votre interface applicatif (votre JAR). En effet, tout le monde s’accorde sur la manière de compiler, de distribuer, de démarrer et de configurer votre serveur.
Heroku (un PaaS : Platform as a service) est la référence en la matière. Il existe beaucoup de services calqués sur le même modèle : nous pouvons citer Azure App Service, AWS Elastic Beanstalk, Google App Engine, Scalingo, Clever Cloud…
“Entre le moment où vous dites, tiens j’aimerais bien faire un “hello world” pour tester et le moment où il est disponible dans le monde entier avec une latence hyper faible, il peut se passer quelque chose comme 5 minutes”. D’un point de vue coût de délai, en comparaison avec le fait de devoir démarrer des VMs, déployer, compiler… c’est un bon gain de temps.
“Si un middleware existe, alors il est disponible en self-service sur le Cloud.”
Il existe nécessairement quelqu’un qui s’est spécialisé sur le sujet et qui propose le middleware as a service à la demande.
Par ailleurs, Florent nous rappelle, qu’en tant qu’ingénieur, nous avons tendance à régler nos problèmes en rajoutant encore plus de problèmes par-dessus. Pourtant il serait légitime de se demander si nous n’en aurions pas moins en retirant des choses de notre système.
“Si le contexte change, vous devez changer d’avis.”
“Enfin, à cause des coûts perdus, des coûts cachés, des biais d’ingénieurs, vous êtes à risque de perdre le focus sur ce qui est le plus urgent, le plus important pour votre organisation : continuer d’apporter rapidement de la valeur à vos utilisateurs.”