Les bénéfices du PaaS et DevOps
Les utilisateurs sont rois ! En tant que tel, les équipes IT font des pieds et surtout des mains afin de trouver comment maintenir leur niveau d’expérience et répondre rapidement à leurs nouvelles envies. Celles-ci, sans vouloir être désobligeant vis à vis des rois, varient au grès de la pluie et du vent et les IT doivent suivre la météo.
La méthodologie DevOps est là pour anticiper les orages en permettant de délivrer des versions d’applications en cycle continu et redonner le sourire aux utilisateurs. Les études du Gartner ont donc tendance à opter pour un éclaircissement du temps. En effet une croissance de 21% sur le marché des outils associés à DevOps est annoncée pour 2015 (soit 2,3 Md$). Considérant, d’après une étude du CA, que 24% des entreprises IT au niveau mondial disent avoir adopté la méthode DevOps et seulement 12% en France, les outils DevOps vont se multiplier et ce sera aux entreprises de les mettre en place dans leur infrastructure ou de construire l’infrastructure qui sera à même de les recevoir. Cela nous amène à la question suivante, quels modèles de service sont à même d’accueillir et déployer les outils DevOps et comment choisir parmi ces modèles celui qui conviendra à votre infrastructure?
Nous tenterons de vous éclairer en faisant un rapide rappel de la méthodologie DevOps et des modèles de Service (PaaS, IaaS, SaaS). Nous mettrons ensuite en avant les liens entre le concept DevOps et ces modèles pour enfin fixer quelques lignes de conduite à suivre quant au choix du modèle de service pour votre implémentation des outils DevOps.
Qu’est ce que le PaaS et DevOps ?
Pour rappel, DevOps est un concept plus ou moins récent qui concilie deux mondes de l’informatique avec des visions totalement opposées : celui du développement (Dev) et celui des opérations (Ops), autrement dit l’exploitation ou la production. (Pour plus de détails, voir notre article DevOps ici)
Le PaaS (Platform as a Service), est le dernier arrivé de la famille des “aaS” (après le IaaS et SaaS) et représente tout ce qui est entre l’infrastructure et les applications, y compris les services associés. Pour plus d’informations, consultez l’article d’Erik Ableson sur ce sujet (ici).
Mais quel lien entre les modèles de service et DevOps ?
Alors que DevOps est une stratégie visant à arriver à ses fins, les modèles de service, PaaS et IaaS, offrent les moyens d’y arriver. De manière transverse, on ne peut pas parler de PaaS sans réfléchir aux méthodes DevOps. En effet, on réfléchit rarement à l’outil à utiliser avant d’avoir défini ce que l’on voulait mettre en place.
Typiquement, les architectures de type à la demande pour DevOps peuvent se décomposer en 2 catégories :
- IaaS (Infrastructure as a Service)
- offre l’infrastructure de base (calcul, réseau et stockage)
- possibilité d’utiliser des outils d’orchestration tels que Chef, Puppet, ou ANSIBLE pour automatiser le déploiement d’applications, configurer un environnement de développement unifier et évolutif
- PaaS (Platform as a Service)
Où une “couche plate-forme” est déployée sur une “couche d’infrastructure” élastique déjà existante, intégrant des outils d’orchestration lui permettant d’évoluer de façon transparente dans le but de subvenir aux besoins des applications
L’utilisation du IaaS implique de définir et mettre en place les différents environnement de développement (dev, test, prod) et d’espérer que ceux ci soient et restent uniformes/identiques afin de ne pas avoir de surprises lors de la mise en production de l’application. Ce travail est à répéter pour chaque application à développer. Enfin si l’on veut profiter de l’automatisation il faut utiliser des outils comme Chef, Puppet ou Ansible.
Les solutions PaaS vont permettre by design de définir facilement les couches d’environnement s’appuyant sur l’infrastructure et offrir une portabilité à :
– micro échelle : lors du développement
– macro échelle : vers différentes infrastructures privées publiques
Le PaaS aide les équipes IT à mettre en place des environnements de développement, test et production totalement uniformes sans la nécessité d’utiliser des outils tiers. De fait, le PaaS apparaît comme étant le mieux adapté pour mettre en place une méthodologie DevOps dans le cadre des développements modernes en intégration continue.
Quels bénéfices pourrait on tirer de l’association PaaS/DevOps?
De là, nous pouvons déduire quelques bénéfices liés à l’utilisation du PaaS et de Devops :
- Optimisation du processus du développement à la production
- Réponse plus rapide aux besoins des clients
- Meilleure détection des erreurs de codes
- Réelle collaboration entre les équipes de développeurs et de production
- Portabilité des applications
- Uniformisation des environnements applicatifs
Ces différents points feront que DevOps va devenir, au sein des entreprises, un des fondements de la stratégie de modernisation de leur infrastructure.
De plus, pour profiter au maximum des avantages qu’offre le cloud , les sociétés seront obligées de moderniser leur infrastructure et donc d’adopter des outils modernes tels que DevOps et le PaaS.
Openstack et Docker, futurs piliers de l’infrastructure IT des entreprises. Lire les conclusions de l’étude RightScale ici.
Adrien Huerre
Maxime Piedeleu
Erik Ableson