Actualités

[28/04/2017] Smile annonce son plan stratégique Open Arrow 2021 et accueille à son capital EURAZEO PME, nouvel actionnaire de référence qui succède à Keensight Capital

Smile, leader de l’intégration et l’infogérance de solutions open source, choisit son nouvel actionnaire majoritaire et s’offre de nouveaux moyens lui permettant le déploiement de son plan stratégique OPEN ARROW 2021 visant à créer un nouveau champion européen de l’IT de plus de 200M€ de chiffre d’affaires.

[25/04/2017] Smile est à nouveau Strategic Partner Alfresco !

Pour la quatrième année consécutive, Smile est Strategic partner Alfresco, le plus haut niveau de partenariat !

[12/04/2017] Smile décroche le statut de Partenaire Global Elite Magento !

Smile est très heureux d'annoncer que nous devenons Partenaire Global Elite Magento - un statut accordé à seulement 5 entreprises dans le monde !

Toutes les actualités picto
       

Vous avez besoin de mettre à jour votre Lecteur Flash Flash 7

Guillemet ouvrant l'actualité des solutions
et des technologies open source Guillemet fermant
picto

Continuous Delivery, ou la révolution DevOps en marche

DevOps, Continuous Delivery, Continuous Integration, ... sont en pleine effervescence, tirés par la dynamique Docker et celle de nombreuses solutions open source comme Ansible, Puppet. Mais à quoi ça sert tout ça ?...

"Continuous Delivery" ?

La démarche DevOps se base sur le fait que le développement logiciel et son aspect production, opérationnel, sont fortement imbriqués, et qu'ils doivent par conséquent être gérés ensemble, et ce, dès le début d'un projet. Issue de cette démarche devops, le Continuous Delivery est une orientation du développement logiciel consistant à livrer régulièrement et de manière automatisée. Cette orientation nous vient des leaders du web - Google, Amazon, ... - qui ont un besoin fort de livrer en continu des améliorations de leurs services sur internet.

Bien sur, ce n'est pas si récent que de vouloir livrer ses développements de manière itérative.  Dans le cadre d'une méthodologie agile, il faut par exemple livrer de manière régulière, après chaque sprint. Cependant, d'une part les besoins actuels de time-to-market imposent un nouveau rythme, bien supérieur, nécessitant industrialisation et automatisation des processus. Aussi Google, Facebook, Amazon, Twitter et autres, mettent en production plusieurs fois par semaine, ou même plusieurs fois par jour ! D'autre part, par rapport à une méthodologie agile classique, il ne s'agit pas uniquement de livraisons en test, mais bien de livraison en production, données comprises, sans impact, régression ou incident !

Comment ca marche ?

Tout d'abord, il est indispensable de mettre en place une PIC (Plateforme d'Intégration Continue) qui permet d'assurer la qualité logicielle en continu. Le sujet est très bien couvert par les solutions open source comme Jenkins, sans oublier Git ou SVN pour la gestion des sources, et cela impose d'assurer une excellente couverture de code via les tests automatisés, mais c'est un sujet que l'on pourra détailler une prochaine fois.

Je m'attarderai plutôt sur les solutions techniques sous-jacentes à la mouvance devops, permettant d'intégrer la production dans le développement, et le développement dans la production. Le Continuous Delivery suppose la création d'environnements iso à partir du développement, jusqu'à la production, et aussi en sens inverse, en intégrant les contraintes actualisées de la production jusqu'au développement. Pour cela, les outils open source fleurissent et se complètent : Docker, Ansible, et Panamax, mais aussi Puppet, Chef,  ...

Docker, tout d'abord, permet de créer des conteneurs, basé sur LXC déjà bien connu,  qui peuvent embarquer les logiciels souhaités. Une des révolutions apportées par Docker est qu'il permet d'installer n'importe quoi, et de le déployer sur n'importe quel environnement, avec une virtualisation ultra légère, et donc ultra performante. Pour être plus précis, la première révolution vient de LXC lui-même, et Docker va apporter toute la manipulation des conteneurs LXC, ce qui n'est pas rien non plus. Pour autant, il n'y en a pas que Docker, et d'autres solutions similaires existent, basées sur une virtualisation avec isolation, qui peut avoir son intérêt dans certains cas. On citera Vagrant qui s'appuie sur VirtualBox.

La gestion des conteneurs pouvant devenir subtile dès lors que plusieurs conteneurs doivent fonctionner ensemble, tout en garantissant l'intégrité du fonctionnement en production lors des déploiements, Panamax apporte une gestion des conteneurs complexes. Même ce n'est pas la seule solution de ce type, et surtout que Panamax reste encore jeune et doit encore faire ses preuves.

Ansible, quant à lui, permet de configurer ses environnements à base de composants, et de les déployer dans des environnements cible, du développement à la production. Solution open source, déjà retenue par différents grands acteurs internet, son positionnement est "Ansible is the best way to manage Docker". Indéniablement porté par la vague Docker, il reste cependant cohérent dans un environnement non dockerisé.

Avec une approche technique différente, Puppet permet lui aussi de gérer des configurations et de déployer des solutions sur différents environnements. De même que Chef, relativement similaire. Ces deux derniers produits ont pour eux une maturité plus forte (2-3 ans tout de même, une éternité aujourd'hui !), une diffusion déjà plus large auprès des développeurs ou sysadmin, et des fonctionnalités avancées autour de la gestion des droits de déploiement, répondant à la problématique de sécurité associée.

Un des éléments non adressés par ces solutions porte sur la base de données, sur sa structure et ses données, sa modification dans le temps et sa compatibilité en version avec les différents environnements. Ceci est pour le moment porté par les logiciels applicatifs et pas par les outils devops, en tout cas pour le moment.

Open Source !

Toutes ces solutions sont distribuées sous licence open source. Certains ont des fonctionnalités complémentaires en version entreprise, mais l'essentiel est là, librement modifiable et diffusable. Même ThoughtWorks qui a fait son succès sur la solution propriétaire Go l'a reversée en open source, certainement en réponse à la montée en puissance de tous les autres outils open source. La suite nous dira si cette reconversion open source tardive vient à point, ou bien trop tard comme je le pense.

Quoi qu'il en soit, chacun pourra constater que l'open source est encore l'écosystème qui porte l'innovation, avec une émulation impressionnante, sachant faire collaborer les différents acteurs et communautés, y compris des concurrents, en mettant en commun leurs travaux, tout en assurant une diffusion ultra-large et ultra-rapide, bien au delà des canaux de distribution logiciels propriétaires.

Et pour mon équipe ?

Tout ceci est bien beau, mais comment je fais pour mettre en place les solutions de Continuous Delivery dans mes équipes de développement, et surtout lesquels choisir ?
La réponse est simple, appelez Smile !

Badr Chentouf
picto

Commentaires

Soyez la premiere personne à ajouter un commentaire sur cet article.
Ecrire un nouveau commentaire