DevOps, une définition en un clic

Dans la continuité de l’Agile, le DevOps, contraction de Développement et Opérations, vise à rapprocher les développeurs et les opérations IT dans le but d’accélérer la mise en production d’applications, en particulier sur le cloud.

DevOps, une définition en un clic

L’informatique raffole des (belles) histoires, comme la naissance d’Apple dans un garage. La naissance du DevOps a elle aussi son récit. Son inventeur est ainsi un informaticien belge : Patrick Debois. Ce dernier était confronté dans le cadre d’un projet du gouvernement à des problèmes de communication entre l’exploitation IT, les Ops, et les développeurs, les Devs.

Le DevOps, c’est donc la contraction du développement (Dev) et des Opérations (Ops). L’idée au départ est donc de rapprocher ces deux métiers, et de faciliter leur coopération. Le DevOps recouvre désormais un spectre plus large. Pour Microsoft, c’est donc à la fois l’union des personnes, mais aussi des processus et des technologies destinés à fournir continuellement de la valeur aux clients.

publicité

Réunir “build” et “run” dans une même équipe

Le DevOps s’intègre en effet au concept du développement continu, soit à l’agile, comprenant un recours massif à l’automatisation. La chaîne de développement CI/CD embarque les différentes phases de développement pour accélérer la conception applicative. Mais pour y parvenir, il est nécessaire de faciliter l’intégration et le déploiement. Or, ces tâches étaient historiquement dévolues aux Ops.

Avec le DevOps, le processus s’effectue de bout en bout, du build jusqu’au run. Ces compétences sont donc réunies au sein de l’équipe projet ou produit, selon la terminologie de l’agile et du développement continu. Cette combinaison permet une meilleure prise en compte des enjeux de performance et d’intégration des applicatifs au système d’information, qu’ils soient en on-premise ou sur le cloud, comme c’est de plus en plus le cas.

Le DevOps peut aussi intégrer nativement la sécurité. On parle alors de DevSecOps. La finalité reste cependant inchangée, à savoir améliorer la performance applicative, raccourcir le temps de développement et réduire les failles et bugs. In fine, ces gains profitent à l’utilisateur final de l’application, client interne ou externe à l’organisation, et donc aux résultats business.

De nouvelles compétences DevOps

Ce rapprochement entre Dev et Ops se traduit par une évolution des compétences des développeurs. Les entreprises n’attendent plus seulement d’eux qu’ils maîtrisent les environnements de développement et des langages. Ils doivent également comprendre les environnements de production et leurs spécificités.

A ce titre, l’ingénieur DevOps est un métier montant et très recherché sur le marché de l’emploi IT. De formation Bac+5, un ingénieur DevOps perçoit une rémunération comprise entre 51 500 et 79 000 euros brut par an, d’après le cabinet Robert Half. En contrepartie, ce profil hybride joue le rôle d’interface entre développeurs et exploitation.

Il dispose à ce titre de compétences en développement, tests applicatifs et déploiement en production. L’ingénieur DevOps doit par ailleurs intégrer des compétences en pilotage et supervision de CI/CD.

Des méthodes et des outils DevOps

Avec l’évolution des architectures IT et l’adoption du cloud, les pipelines CI/CD évoluent également. Traditionnellement, les systèmes CI/CD traditionnels sont conçus pour les pipelines utilisant des machines virtuelles. Avec le développement d’applications cloud-native se mettent en place des pipelines CI/CD spécifiques comprenant notamment des conteneurs, comme Kubernetes.

Cet orchestrateur de conteneurs, une alternative à Docker, appartient au kit du développeur DevOps. D’autres outils sont cependant nécessaires. Il s’agit notamment du gestionnaire de configurations, parmi lesquels Ansible et Puppet. Pour la gestion du code source, les développeurs peuvent recourir à GitHub, et à GitLab pour l’intégration et le déploiement continus. Côté infrastructure as code, Terraform fait souvent office de standard. Enfin, en matière de monitoring et d’alerting, on pourra citer Grafana et Kibana.

Leave a Reply

Discover more from Ultimatepocket

Subscribe now to keep reading and get access to the full archive.

Continue reading