Talk Source n°2 : La sécurité liée aux dépendances dans NodeJs
Retour sur le Talk Source n°1, où Thomas Gentilhomme est revenu sur les mystères des dépendances avec NodeJs.
Depuis 2009, la transformation digitale de beaucoup d’organisations a nécessité de passer par le Devops. Derrière ce terme qui met en exergue la relation entre “développement” et “opérations”, il faut également y voir un changement de culture d’organisations pour affronter les problématiques de productivité et d’efficacité des équipes.
Qu’est-ce que le DevOps ?
Source : “Journée du Cloud”, univ-lille.fr
Le terme DevOps, introduit pour la première fois en 2009 par Patrick Debois, est un agrégat des mots “Development” et “Operations”.
A cette époque, un changement s’opère dans l’industrie du développement informatique. Le DevOps se base sur l’adoption de 3 fondements selon :
En plus de ces 3 fondements, on note également l’adoption d’outils de gestion de versions comme GitHub et des fournisseurs Cloud, accélérant le besoin d’automatiser des tâches répétitives et répandues à tous les utilisateurs de ces plateformes.
Aujourd’hui, le DevOps fait référence à un ensemble de pratiques permettant à une équipe de gérer tous les cycles de développement de son produit, de son développement au pilotage de son activité, en passant par la mise en production. Au lieu de l’opposition entre “development” et “operations”, les deux parties partagent comme objectif commun la réduction du Time To Market des besoins clients.
Pour être mis en place au sein d’une organisation, il faut un investissement de la part de toutes les strates, des dirigeants aux équipes exécutantes. Par exemple, l’automatisation des chaînes de mise en production peut représenter un investissement trop important pour certaines structures. L’organisation des équipes doit également être repensée pour faire évoluer des postes d’administrateurs systèmes vers des postes d’ingénieurs Cloud par exemple, pour apporter aux équipes une plus grande indépendance.
Il faut également pouvoir mesurer les apports du DevOps par la mise en place de métriques pertinentes.
Mettre en place le DevOps, c’est adopter une culture d’entreprise adéquate. Les “operations” n’ont plus à répondre au “development”, mais leur relation est alors renforcée.
L’une des pratiques les plus associées au DevOps est le processus de CI/CD, visant à orchestrer, automatiser et optimiser le déploiement d’applications. Les process de CI/CD appelés “pipelines” sont constitués de séries d’étapes de l’écriture de code d’une application à son déploiement. Le code doit alors être testé et possiblement déployé sur plusieurs environnements afin de garantir l’intégrité de l’application selon les mises à jour effectuées. Ces étapes permettent de faire le lien entre les deux mondes, “development” et ”operations”, étant donné que chaque partie est responsable de certaines étapes des pipelines.
Les outils comme GitHub, Gitlab, Jenkins sont très souvent utilisés pour implémenter cette approche.
Pour tirer avantage du DevOps, une équipe doit mettre en place une évangélisation du DevOps afin de garantir l’adoption continue interne et le partage de connaissances à propos d’expériences entre développement et opérations. Dans les organisations de grande taille, cela peut avoir du sens d’allouer des ressources exclusivement à un rôle transverse de DevOps, comme un responsable de pipelines de Ci/CD, de livraisons ou encore d’automatisation de déploiement et de construction d’environnements complets.
Dans une organisation de taille plus modeste, il est important que les membres d’équipe aient plusieurs casquettes, aussi bien côté écriture de code que déploiement et maintenance d’environnements.
Grâce au cloud, les “Operations” ont accès à un outil leur apportant de la flexibilité dans leur façon de mettre en place leurs environnements de travail. Cela leur permet de se concentrer sur les besoins fonctionnels, comme ajuster les volumes de stockage, les questions de scaling d’une application, ou encore le pilotage poussé de cet écosystème de travail. Pour faciliter leur travail, des solutions sont mises en place, comme Kubernetes ou Docker également.
Comme fournisseurs Cloud, on peut citer Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform.
Le DevOps est maintenant bien implanté dans le paysage du développement informatique. Plus qu’une nouvelle façon de composer des équipes projet, il s’agit avant tout d’une nouvelle culture du changement. Il devient même la base d’une nouvelle idéologie : le DevSecOps. Cette nouvelle approche vise à penser et réaliser les projets avec la sécurité des systèmes et infrastructures.
Nous croyons en un nouveau modèle de consulting où l’excellence commence par l’écoute, le partage et une vraie vision