Blog DevOps

DevOps et Open Source : une synergie parfaite | Padok

Rédigé par Baptiste Briot de La Crochais | 15 juin 2020 22:00:00

Qu’est-ce que l’Open Source et le DevOps ?

L’Open Source c’est quoi exactement ?


Tout d’abord un peu d’histoire.

Les ordinateurs ont été créés pour la recherche, passant de mains en mains, avant d’entrer dans le monde des affaires qui fit apposer une licence payante sur les logiciels pour y avoir accès, “Vendor Lock-in”.

En 1983, en réaction à l’augmentation du prix des logiciels propriétaires et à leur manque d’agilité, Richard Stallman, se présente comme le Robin des Bois du logiciel. Par son association Free Software Foundation (FSF), l’émérite professeur du MIT, créé alors le projet GNU ayant vocation à créer un système d’exploitation, comme UNIX, mais libre “GNU”. La version utopiste de l’Open Source, le Free Software est créé.

En 1998, Eric Raymond fit preuve de pragmatisme et scinde le monde libre tout en gardant la qualité “Libre” essentielle du logiciel, pour adapter le Free Software au monde de l’entreprise et des profits. “Free” signifie à la fois “Gratuit” et “Libre”.

Ceci étant sujet à interprétation terminologique et non adapté au monde des affaires, l’Open Source (“ouvert”) devient alors la référence du logiciel libre : le mouvement Open Source Initiative est créé.

Ainsi, ces deux termes Free Software et Open Source ne connaissent aucune réelle différence en termes de licence, mais leurs distinctions demeurent au niveau de la philosophie et des valeurs.

L'un se rapproche d'un mouvement social en prônant la justice et la liberté (Free Software) alors que l'autre voit une méthodologie de développement en prônant un avantage pratique au logiciel libre (l'Open Source).

Ce qui est appelé aujourd’hui communément, au sens du projet Débian de GNU/Linux, « Open Source », est un logiciel libre de droit indépendant distribué sous une licence (GPL, MPL, BSD etc.) dont le code source est accessible et peut être modifié puis diffusé par tous, le logiciel n’est donc pas figé.

La réputation de l’Open Source évolue et peut bien souvent être sujet de méfiance ou encore de convoitise. Alors que le géant Microsoft, propriétaire de “lock-in”, en guerre contre l’Open-Source en 2001 déclarait “Linux est un cancer”, son PDG, Brad Smith a avoué récemment avoir été “du mauvais côté de l’Histoire en matière d’Open-Source” et devient un de ses plus grands défenseurs.

Le DevOps c’est quoi exactement ?


Le DevOps permet de livrer des nouvelles fonctionnalités directement aux utilisateurs finaux de manière automatisée grâce à l’intégration continue, en testant de manière automatisée chaque révision du code avant de les déployer (déploiement continu).

Le DevOps et ses outils Open Source

Les besoins du DevOps


Le principe du DevOps consiste à permettre de développer de nouvelles fonctionnalités sans porter atteinte à la stabilité de l’infrastructure. Tout ce qui est développé, puis testé, est rapidement accessible à l’utilisateur final.

Pour cela, le DevOps combine le rôle de deux acteurs majeurs : le développeur pour le développement des fonctionnalités et l'Ops qui tient en place la structure et sa stabilité.

Le DevOps a donc besoin d’outils lui permettant de collaborer, d’évoluer rapidement et de manière automatisée pour gagner en rapidité, en sécurité ainsi qu’en fiabilité pour un rendu toujours plus qualitatif.

Ainsi, le DevOps accélère le passage du projet en phase de développement vers une phase de déploiement en production pour apporter rapidement et en continu de la valeur aux utilisateurs.

Les caractéristiques de l’outil parfait, l’Open Source


L’Open Source présente de nombreux avantages particulièrement en phase avec les besoins du DevOps :

  • Le Coût : Gratuit. Toutefois, il faut intégrer le coût de l’hébergement, de l’intégration, et des potentiels frais de formations et de support. Mais il reste bien en dessous du marché des logiciels propriétaires.
  • L’indépendance : Le code est indépendant et ne contient aucun lien vers un logiciel payant (jurisprudence KDE Qt et Troll tech). Tout ce qui est Open Source, reste Open Source et se développe Open Source.
  • L’Innovation : Un développement express de l’innovation. Une mise en commun pour un développement collaboratif et une innovation continue d’un même code source. Le système de contribution aux logiciels Open Source favorise la créativité. Leur qualité est nettement supérieure aux logiciels propriétaires.
  • La transparence : Le code source est publié et son évolution est visible. On peut ainsi s’assurer qu’il n’y a rien de malveillant.
  • Flexible : Les codes sont fortement agiles, et peuvent s’intégrer à des logiciels préexistants.
  • Sécurité : Les codes sont publics donc analysés par des centaines d’experts. La moindre faille est analysée et corrigée.
  • Rapidité : La communauté Open Source est plus réactive sur la qualité d’un code et son développement, qu’un fournisseur commercial classique.
  • Qualité : Ils restent longtemps performants contrairement aux logiciels propriétaires. Le logiciel se développe en continu en fonction des besoins. L’Open Source performe à un tel point que les États-Unis l’intègrent aujourd’hui largement dans ses logiciels de défense et de sécurité ou encore l’entreprise Thalès avec le logiciel Pivotal, pour son service Cloud Native.

Le mariage de l’Open Source, du DevOps et de Padok, un cocktail gagnant

Quels outils Open source déployer pour quelles actions ?

Aujourd’hui, les géants de l’IT se bataillent la plus grande contribution à l’Open Source. Après la forte contribution d'IBM, Microsoft accélère avec le Cloud Public Azure et devient le plus grand contributeur aux projets Open Source concernant les entreprises notamment par l’intermédiaire de Linux (Azure Sphere) et la plateforme Github (rachat en 2018).

À travers la multiplication des outils, il apparaît difficile de s’y repérer. Padok a donc fait un tour d’horizon des outils DevOps.

Ainsi, internet voit le nombre de logiciels fortement augmenté. Voici une liste d’outils Open Source utiles pour s’y retrouver :

  • Une plateforme de collaboration de développement : Github “La maison des développeurs” ou Gitlab
  • Un déploiement : Ansible, CFEngine
  • Une plateforme d'intégration : Jenkins, GitlabCI (utilisée chez Padok)
  • Une plateforme de gestion des conteneurs : Kubernetes, Docker, MesOS
  • Navigateur web : Chromium

Open Source ou l'Inner Source

L’étude State of DevOps 2019 souligne qu’une organisation cultivant la collaboration, la transparence et le partage de connaissances démontre une efficacité et une sécurité nettement supérieure. Ainsi, l’Open Source est allé jusqu’à inspirer les entreprises à dupliquer le système et ses valeurs au sein même de leurs organisations, « L’Inner Source ».

En intégrant toutes les équipes de développement, autrefois cloisonnées, au sein de l'Inner Source, tous les logiciels d’une même marque sont liés entre eux et font preuve d’efficience par leur synergie collective.

L'Inner Source est un Open Source interne à une entreprise non accessible à l'extérieur, qui permet de partager l’intelligence collective. Les équipes décentralisées d’une même entreprise, qui n’ont pas l’habitude de travailler ensemble, peuvent avoir accès aux codes développés par une autre équipe. Dès lors, un problème local, peut être résolu par l’intelligence d’une autre équipe.

Ce système favorise la résolution de problème, le partage de connaissance, le développement de l’innovation et la quête de l’amélioration continue.

Alors que l’étude de la Fintech Stripe souligne un besoin des entreprises de recruter toujours plus de développeurs, il s’avère que ces derniers passent en réalité plus de temps à corriger des tâches déjà réalisées : des bugs ou de la dette technique.

Une meilleure gestion des ressources consisterait à confier aux SRE la responsabilité d’endiguer ces erreurs dès la conception du programme, pour laisser les développeurs se concentrer sur la qualité et l’innovation.

Le DevOps et son Open Source partagent un amour fusionnel tout en restant très intéressé. L’intérêt de l’un nourrit l’amélioration de l’autre. Ils se développent mutuellement dans un souci de collaboration, de pragmatisme, et d’amélioration continue.

Dans ce monde de coopération où tout semble interconnecté, l’Open Source se voit un futur toujours plus grand et omniprésent.