Le Continuous Delivery  (CD) ou déploiement continu, a le vent en poupe. Ce lundi, s’ouvre à Londres une conférence européenne organisée par Jenkins et CloudBees, des piliers du développement en open source. Elle va mettre en évidence l’intérêt des services de « CD », un sujet qui préoccupe toutes les entreprises en phase de » transformation digitale ».

Depuis que les entreprises du secteur tertiaire ont mis les logiciels au  cœur de leur activité, la numérisation des processus s’accentuant, la dépendance vis à vis du « soft » devient cruciale. La capacité de modifier rapidement et d’améliorer ces logiciels pour s’adapter aux marchés ou à de nouvelles contraintes fait partie désormais des points critiques de ces organisations. Améliorer « le processus » qui permettra de réviser tous les autres  passe par l’automatisation des « livraisons » de nouveaux logiciels ou du moins de la mise à jour de leurs composants. Dans le développement de logiciels, des techniques telles que les tests automatisés, le contrôle de révision et la gestion de configuration permettent, théoriquement, des mises à jour rapides et fiables. C’est la cascade de révisions imposée par le continuous delivery ( voir schéma à droite).

La plateforme de référence pour les développeurs est depuis longtemps devenue le cloud

L’Automatisation de l’infrastructure sur laquelle ces logiciels reposent fait partie aussi du puzzle et le cloud simplifie beaucoup la gestion des taches grâce à son élasticité.

L’affaire n’est pas, bien sûr, très nouvelle pour les responsables bancaires qui ne peuvent se permettre d’arrêter un service plus de quelques minutes sous peine de perdre des millions d’euros. Le même problème se rencontre dans une dimension plus large avec tous les sites web et les sites de commerce électronique parfois bloqués quelques heures par des mises à jour qui ne fonctionnent pas comme prévu. Chacun rêve d’outils dans le cloud à la fois souples et peu couteux. Cela existe dans le domaine de l’open source mais faut-il encore une « base » dans le cloud pour faire tous ces travaux ?

Le Paas  s’impose

Les plates formes de développement as a service ( Paas) comme celles d’Amazon Web Service Google et Microsoft Azure ou encore Pivotal CF procurent un support très souple. Elles mettent à disposition des entreprises un environnement d’exécution rapidement disponible, en leur laissant la totale maîtrise des applications qu’elles peuvent installer, configurer et utiliser elles-mêmes. Il permet donc d’héberger des applications propriétaires.

Dans le secteur de l’open source, de véritables plate formes dites de « continuous Delivery » sont proposées mais elles ne sont pas encore bien connues du grand public car elles s’adressent surtout aux développeurs et aux fameux devops (voir la liste des principales à la fin de l’article), les développeurs de terrain directement concernés par le suivi des applications métiers. Parmi celles-ci, Cruise Control, Apache Continuum ou Jenkins sont les outils d’intégration continue (CI) les plus répandus dans les entreprises. Ces derniers permettent donc aux développeurs de gérer un processus de développement et concevoir, tester leurs logiciels plus rapidement et déployer régulièrement les mises à jour.  Mais les technologies de containers comme Docker ou les outils d’orchestration d’infrastructure comme Chef et Puppet ( image des différents acteurs ci-dessus), proposent en partie ces services et commencent à se présenter avec le même genre de fonctionnalités, la mode du CD (continuous Delivery) ayant prospéré dans les services marketing.

L’exemple de Jenkins

Téléchargé par plus de 100 000 entreprises, Jenkins, écrit en Java, fonctionne dans un conteneur de servlets tel qu’Apache Tomcat, ou en mode autonome avec son propre serveur Web embarqué. C’est une version dérivée de l’outil de Sun appelé Hudson. Lors du rachat de Sun par Oracle, au début des années 2000, l’outil avait été l’objet d’un conflit en interne, la firme de Larry Ellison voulant réduire ou du moins intégrer dans sa propre gamme tous les outils java (les outils EJB etc), l’offre Oracle étant déjà importante. Le successeur de Hudson, Jenkins, devenu indépendant est devenu incontournable avec près de 900 Plugg In. Selon sa documentation, Jenkins peut s’interfacer avec des systèmes de gestion de versions tels que CVS, Git et Subversion, et exécuter des projets basés sur Apache Ant et Apache Maven aussi bien que des scripts en Shell Unix ou des batch Windows.

Au-dessus de produits Open source comme Jenkins, on trouve donc de plus en plus (voir les différents acteurs) des outils destinées aux entreprises dans des solutions totalement rodées et « prêtes à l’emploi ». Tous les grands projets Open source sont désormais déclinés dans des produits « finis » et supportés par une équipe rodée, ce qui fait dire à leurs détracteurs qu’il s’agit d’une forme de tromperie dans la mesure où de toute manière il faudra payer. Mais le fait de savoir que l’on dispose, si l’on veut, du code original est très rassurant et une gage de pérennité. Sur la plate forme Jenkins, l’une d’elles s’appelle CloudBees.

Les passionnés de Java

Son PDG, le neuchâtelois Sacha Labourey a été l’un des piliers de JBoss (le serveur d’application java (détenu depuis 2006 par Red Hat) au moment où la firme venait de quitter Sun, le logiciel s’appelant encore à l’époque Enterprise Java Bean.

La communauté des développeurs issue de Sun étant très liée, la passion commune pour le développement java a soudé la nouvelle firme crée en 2010.  Kohsuke Kawaguchi qui est le principal développeur et fondateur du projet Jenkins est devenu ainsi aussi le CTO de CloudBees. Plusieurs autres contributeurs ( comitters) de base Jenkins sont également employés par CloudBees. Créer une culture d’entreprise qui soit suffisamment « flexible » et qui prenne en compte le collaboratif n’est pas simple et l’approche de CloudBees dépasse la seule création d’outillage. A sa création en 2010, CloudBees proposait essentiellement des services PASS pour créer, faire tourner et mettre à jour toutes les applications Web. Mais la concurrence des « gros » comme Google, Amazon et Microsoft a incité la firme à se spécialiser dans le Continuous Delivery avec l’appui d’anciens développeurs de Sun. La firme qui organise en partie la manifestation Jenkins aujourd’hui et demain à Londres devrait annoncer de nouveaux partenariats. La firme qui emploie près de 100 personnes, a levé plus de 50 millions de dollars auprès de sociétés de capital risque.

 

Quelques outils de continuous delivery en Open source

SonarQube, logiciel de supervision de la qualité du code

TeamCity https://www.jetbrains.com/teamcity/

…Lire la suite sur InformatiqueNews

Egalement sur InformatiqueNews :

Les apps vont déferler dans les entreprises

L’Open Container Project rassemble la plupart des éditeurs de logiciels