Pourquoi la mise en œuvre de DevOps échoue souvent (et comment y remédier)
Cet article a été publié à l'origine sur DevOps.com. Il a été mis à jour et modifié.
Tout comme "blockchain", "big data" et "digital disruption", le terme "DevOps" est un autre mot à la mode actuellement lancé dans les départements informatiques des grandes organisations.
Nombreux sont ceux qui ont identifié (à juste titre) la nécessité d'accélérer les cycles de développement des logiciels ; un processus plus précis, étroitement aligné sur les objectifs de l'entreprise, permettant un flux de travail plus clair et une collaboration entre les équipes de développement et les équipes opérationnelles. DevOps est essentiellement un développement "agile", qui a grandi et qui est prêt à répondre aux besoins d'innovation constante et de déploiement rapide de l'entreprise moderne. Pour les professionnels de la sécurité, il s'agit d'une initiative fantastique : nous pouvons injecter la sécurité dans le processus bien plus tôt, ce qui réduit le coût de la correction des bogues et permet d'éviter des catastrophes potentielles en cours de route.
Le problème, c'est que peu d'entreprises réussissent vraiment à mettre en œuvre DevOps. Sans le soutien, l'encouragement et la compréhension nécessaires au sein de l'entreprise, le projet peut rapidement devenir un éléphant blanc... vous savez, l'un de ces projets dont on ne parle pas de la guerre.
Quel est donc le problème ? C'est une discussion intéressante, et il y a quelques façons d'aborder DevOps qui, à mon avis, faciliteront grandement la navigation. Un programme efficace va au-delà de quelques nouveaux outils, titres et réunions d'équipe. Ce ne sera pas toujours facile, mais prendre le temps de réparer une stratégie défaillante (ou de la mettre en œuvre de la bonne manière dès le départ) sera beaucoup moins douloureux à long terme. Et au bout du compte, vous obtiendrez des logiciels de meilleure qualité et plus sûrs.
Voyons cela en détail :
Lâchez les ficelles du tablier "Agile".
Il existe une idée fausse selon laquelle une organisation doit choisir entre Agile et DevOps, et s'engager dans une voie ou dans l'autre pour ne jamais revenir en arrière.
En réalité, le processus de développement fonctionne mieux lorsque les deux sont pris en compte et mis en œuvre en même temps. DevOps n' est pas une réinvention du développement Agile, mais plutôt une extension de celui-ci. Les roues ont tendance à tomber lorsqu'on s'attend à ce que le processus soit exactement comme Agile, ou complètement différent d'Agile.
La méthode Agile soutient le principe des équipes interfonctionnelles, en réunissant les concepteurs, les testeurs et les développeurs dès le début et en s'engageant à ouvrir les lignes de communication tout au long d'un projet. Son objectif est de mettre fin aux livraisons cloisonnées et de réduire le double traitement, deux éléments qui sont également des avantages du processus DevOps. Cependant, DevOps va plus loin, en introduisant les systèmes, la sécurité et les opérations dans le mélange pour offrir un ensemble de compétences robuste et de bout en bout qui a pour but ultime la livraison d'un logiciel complet et fonctionnel au client.
Lors des inévitables points de douleur liés au passage à un processus plus centré sur DevOps, le risque de développement en silo peut réapparaître. Il arrive souvent que l'équipe Agile d'origine travaille ensemble, alors que les ajouts de sécurité et d'opérations sont encore en train de se frayer un chemin dans la machine ; personne ne sait vraiment comment les inclure, ce qu'ils doivent faire et leurs objectifs globaux.
DevOps ne fonctionne pas sans des objectifs clairement définis, une intégration interfonctionnelle et une communication directe avec toutes les parties. Il y aura une période d'adaptation qui nécessitera une gestion prudente du changement, certes, mais faire en sorte que tout le monde soit d'accord avec les améliorations que la fonctionnalité DevOps apportera, c'est la moitié de la bataille.
De plus en plus (Dieu merci), DevOps met l'accent sur les meilleures pratiques de sécurité dans le cadre du processus également, démystifiant cette étape et comblant le fossé entre l'équipe de sécurité et, bien, tout le monde. Comme je l'ai déjà dit, nous avons encore un long chemin à parcourir pour donner aux développeurs les moyens de coder de manière sécurisée dès le départ, mais la mise en œuvre réussie des méthodologies DevOps est une excellente base sur laquelle les compétences en matière de sécurité peuvent être développées au sein de l'équipe de développement.
L'automatisation n'est pas tout (et elle n'est pas la plus sûre).
Une autre caractéristique de la méthodologie DevOps est, dans une certaine mesure, l'automatisation du processus de développement de logiciels. Les principes d'intégration et de livraison continues (CI/CD) sont les pierres angulaires de ce concept et, comme vous pouvez le deviner, ils sont très dépendants des outils.
Les outils sont géniaux, ils le sont vraiment. Ils peuvent apporter une rapidité sans précédent au processus de livraison de logiciels, en gérant le dépôt de code, les tests, la maintenance et les éléments de stockage avec une facilité relativement transparente.
Cependant, si les robots peuvent un jour prendre tous nos emplois et nous emprisonner, ils n'en sont pas encore là. Une forte dépendance à l'égard des outils et de l'automatisation laisse le champ libre aux erreurs. Les analyses et les tests peuvent ne pas tout détecter, le code peut ne pas être vérifié, ce qui pose d'énormes problèmes de qualité (sans parler de la sécurité) par la suite. Un pirate n'a besoin que d'une porte dérobée à exploiter pour voler des données, et renoncer à l'élément humain dans le contrôle de la qualité et de la sécurité peut avoir des conséquences désastreuses.
Le "juste milieu" consiste à s'assurer que vous disposez d'un équilibre entre les personnes et les outils. Les outils doivent servir d'assistants à une équipe en qui vous avez confiance pour atteindre les objectifs du projet. Vous devez :
- Allouez suffisamment de temps pour que les personnes se familiarisent avec la chaîne d'outils DevOps choisie.
- L'accent est mis sur une collaboration efficace (et sur la manière dont les outils peuvent la soutenir).
- Remédier à toute lacune dans le processus, qu'il s'agisse de compétences/connaissances ou d'outils.
En bref, ne vous contentez pas de vous équiper et d'espérer que tout ira bien.
DevOps n'est pas un mot à la mode, c'est une culture. Êtes-vous en train de développer la vôtre ?
La gestion du changement est difficile dans le meilleur des cas. La peur de l'inconnu peut empêcher même les membres les plus brillants de l'équipe de développer leurs compétences et d'élargir leurs horizons.
Vous voyez, il ne suffit pas de dire "faisons du DevOps" et de faire changer l'équipe des opérations de bureau pour mettre en œuvre un processus réussi comme par magie. Beaucoup seront désorientés et les membres de longue date de l'équipe seront mécontents. La communication des attentes est cruciale, tout comme le fait de "joindre le geste à la parole". DevOps représente un mouvement culturel tout autant qu'une méthodologie de développement, et une équipe doit vivre et respirer un état d'esprit transversal et collaboratif.
À quoi ressemble une grande culture DevOps ?
- Les individus sont habilités à apporter leur expertise à un processus, et pas seulement les dirigeants.
- Une communication ouverte, honnête et respectueuse entre les équipes
- Chaque personne assume la responsabilité de l'objectif global d'intégration de la qualité et de la sécurité dans le processus de développement.
- Tout le monde est sur la même longueur d'onde en ce qui concerne la définition de DevOps dans l'entreprise, la feuille de route et le comment/quoi/pourquoi du rôle de chacun.
Depuis des années, j'insiste sur l'importance de créer des cultures de sécurité positives dans les équipes de développement, et DevOps n'est pas différent.
Il est impératif de disposer des bons outils, des bonnes connaissances et du bon soutien pour mettre en œuvre les meilleures pratiques en matière de sécurité, constater une baisse des vulnérabilités découvertes et ouvrir les yeux de l'équipe sur l'importance de la protection de nos données. Avec DevOps, vous devez jeter les bases culturelles d'un changement positif : veillez à ce que chacun comprenne son rôle, sa valeur et ses attentes, les objectifs globaux du projet et les étapes du processus.
Vous avez maîtrisé cela ? C'est parfait. Maintenant, déplaçons l'aiguille, augmentons l'aspect sécurité et faisons de DevSecOps le plan ultime pour l'excellence logicielle.
Peu d'entreprises réussissent vraiment à mettre en œuvre le DevOps. Cependant, un soutien, un accompagnement et une compréhension appropriés dans l'ensemble de l'entreprise peuvent transformer votre processus.
Directeur général, président et cofondateur
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationDirecteur général, président et cofondateur
Pieter Danhieux est un expert en sécurité mondialement reconnu, avec plus de 12 ans d'expérience en tant que consultant en sécurité et 8 ans en tant qu'instructeur principal pour SANS, enseignant des techniques offensives sur la façon de cibler et d'évaluer les organisations, les systèmes et les individus pour les faiblesses de sécurité. En 2016, il a été reconnu comme l'une des personnes les plus cool d'Australie dans le domaine de la technologie (Business Insider), a reçu le prix du professionnel de la cybersécurité de l'année (AISA - Australian Information Security Association) et détient les certifications GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Cet article a été publié à l'origine sur DevOps.com. Il a été mis à jour et modifié.
Tout comme "blockchain", "big data" et "digital disruption", le terme "DevOps" est un autre mot à la mode actuellement lancé dans les départements informatiques des grandes organisations.
Nombreux sont ceux qui ont identifié (à juste titre) la nécessité d'accélérer les cycles de développement des logiciels ; un processus plus précis, étroitement aligné sur les objectifs de l'entreprise, permettant un flux de travail plus clair et une collaboration entre les équipes de développement et les équipes opérationnelles. DevOps est essentiellement un développement "agile", qui a grandi et qui est prêt à répondre aux besoins d'innovation constante et de déploiement rapide de l'entreprise moderne. Pour les professionnels de la sécurité, il s'agit d'une initiative fantastique : nous pouvons injecter la sécurité dans le processus bien plus tôt, ce qui réduit le coût de la correction des bogues et permet d'éviter des catastrophes potentielles en cours de route.
Le problème, c'est que peu d'entreprises réussissent vraiment à mettre en œuvre DevOps. Sans le soutien, l'encouragement et la compréhension nécessaires au sein de l'entreprise, le projet peut rapidement devenir un éléphant blanc... vous savez, l'un de ces projets dont on ne parle pas de la guerre.
Quel est donc le problème ? C'est une discussion intéressante, et il y a quelques façons d'aborder DevOps qui, à mon avis, faciliteront grandement la navigation. Un programme efficace va au-delà de quelques nouveaux outils, titres et réunions d'équipe. Ce ne sera pas toujours facile, mais prendre le temps de réparer une stratégie défaillante (ou de la mettre en œuvre de la bonne manière dès le départ) sera beaucoup moins douloureux à long terme. Et au bout du compte, vous obtiendrez des logiciels de meilleure qualité et plus sûrs.
Voyons cela en détail :
Lâchez les ficelles du tablier "Agile".
Il existe une idée fausse selon laquelle une organisation doit choisir entre Agile et DevOps, et s'engager dans une voie ou dans l'autre pour ne jamais revenir en arrière.
En réalité, le processus de développement fonctionne mieux lorsque les deux sont pris en compte et mis en œuvre en même temps. DevOps n' est pas une réinvention du développement Agile, mais plutôt une extension de celui-ci. Les roues ont tendance à tomber lorsqu'on s'attend à ce que le processus soit exactement comme Agile, ou complètement différent d'Agile.
La méthode Agile soutient le principe des équipes interfonctionnelles, en réunissant les concepteurs, les testeurs et les développeurs dès le début et en s'engageant à ouvrir les lignes de communication tout au long d'un projet. Son objectif est de mettre fin aux livraisons cloisonnées et de réduire le double traitement, deux éléments qui sont également des avantages du processus DevOps. Cependant, DevOps va plus loin, en introduisant les systèmes, la sécurité et les opérations dans le mélange pour offrir un ensemble de compétences robuste et de bout en bout qui a pour but ultime la livraison d'un logiciel complet et fonctionnel au client.
Lors des inévitables points de douleur liés au passage à un processus plus centré sur DevOps, le risque de développement en silo peut réapparaître. Il arrive souvent que l'équipe Agile d'origine travaille ensemble, alors que les ajouts de sécurité et d'opérations sont encore en train de se frayer un chemin dans la machine ; personne ne sait vraiment comment les inclure, ce qu'ils doivent faire et leurs objectifs globaux.
DevOps ne fonctionne pas sans des objectifs clairement définis, une intégration interfonctionnelle et une communication directe avec toutes les parties. Il y aura une période d'adaptation qui nécessitera une gestion prudente du changement, certes, mais faire en sorte que tout le monde soit d'accord avec les améliorations que la fonctionnalité DevOps apportera, c'est la moitié de la bataille.
De plus en plus (Dieu merci), DevOps met l'accent sur les meilleures pratiques de sécurité dans le cadre du processus également, démystifiant cette étape et comblant le fossé entre l'équipe de sécurité et, bien, tout le monde. Comme je l'ai déjà dit, nous avons encore un long chemin à parcourir pour donner aux développeurs les moyens de coder de manière sécurisée dès le départ, mais la mise en œuvre réussie des méthodologies DevOps est une excellente base sur laquelle les compétences en matière de sécurité peuvent être développées au sein de l'équipe de développement.
L'automatisation n'est pas tout (et elle n'est pas la plus sûre).
Une autre caractéristique de la méthodologie DevOps est, dans une certaine mesure, l'automatisation du processus de développement de logiciels. Les principes d'intégration et de livraison continues (CI/CD) sont les pierres angulaires de ce concept et, comme vous pouvez le deviner, ils sont très dépendants des outils.
Les outils sont géniaux, ils le sont vraiment. Ils peuvent apporter une rapidité sans précédent au processus de livraison de logiciels, en gérant le dépôt de code, les tests, la maintenance et les éléments de stockage avec une facilité relativement transparente.
Cependant, si les robots peuvent un jour prendre tous nos emplois et nous emprisonner, ils n'en sont pas encore là. Une forte dépendance à l'égard des outils et de l'automatisation laisse le champ libre aux erreurs. Les analyses et les tests peuvent ne pas tout détecter, le code peut ne pas être vérifié, ce qui pose d'énormes problèmes de qualité (sans parler de la sécurité) par la suite. Un pirate n'a besoin que d'une porte dérobée à exploiter pour voler des données, et renoncer à l'élément humain dans le contrôle de la qualité et de la sécurité peut avoir des conséquences désastreuses.
Le "juste milieu" consiste à s'assurer que vous disposez d'un équilibre entre les personnes et les outils. Les outils doivent servir d'assistants à une équipe en qui vous avez confiance pour atteindre les objectifs du projet. Vous devez :
- Allouez suffisamment de temps pour que les personnes se familiarisent avec la chaîne d'outils DevOps choisie.
- L'accent est mis sur une collaboration efficace (et sur la manière dont les outils peuvent la soutenir).
- Remédier à toute lacune dans le processus, qu'il s'agisse de compétences/connaissances ou d'outils.
En bref, ne vous contentez pas de vous équiper et d'espérer que tout ira bien.
DevOps n'est pas un mot à la mode, c'est une culture. Êtes-vous en train de développer la vôtre ?
La gestion du changement est difficile dans le meilleur des cas. La peur de l'inconnu peut empêcher même les membres les plus brillants de l'équipe de développer leurs compétences et d'élargir leurs horizons.
Vous voyez, il ne suffit pas de dire "faisons du DevOps" et de faire changer l'équipe des opérations de bureau pour mettre en œuvre un processus réussi comme par magie. Beaucoup seront désorientés et les membres de longue date de l'équipe seront mécontents. La communication des attentes est cruciale, tout comme le fait de "joindre le geste à la parole". DevOps représente un mouvement culturel tout autant qu'une méthodologie de développement, et une équipe doit vivre et respirer un état d'esprit transversal et collaboratif.
À quoi ressemble une grande culture DevOps ?
- Les individus sont habilités à apporter leur expertise à un processus, et pas seulement les dirigeants.
- Une communication ouverte, honnête et respectueuse entre les équipes
- Chaque personne assume la responsabilité de l'objectif global d'intégration de la qualité et de la sécurité dans le processus de développement.
- Tout le monde est sur la même longueur d'onde en ce qui concerne la définition de DevOps dans l'entreprise, la feuille de route et le comment/quoi/pourquoi du rôle de chacun.
Depuis des années, j'insiste sur l'importance de créer des cultures de sécurité positives dans les équipes de développement, et DevOps n'est pas différent.
Il est impératif de disposer des bons outils, des bonnes connaissances et du bon soutien pour mettre en œuvre les meilleures pratiques en matière de sécurité, constater une baisse des vulnérabilités découvertes et ouvrir les yeux de l'équipe sur l'importance de la protection de nos données. Avec DevOps, vous devez jeter les bases culturelles d'un changement positif : veillez à ce que chacun comprenne son rôle, sa valeur et ses attentes, les objectifs globaux du projet et les étapes du processus.
Vous avez maîtrisé cela ? C'est parfait. Maintenant, déplaçons l'aiguille, augmentons l'aspect sécurité et faisons de DevSecOps le plan ultime pour l'excellence logicielle.
Cet article a été publié à l'origine sur DevOps.com. Il a été mis à jour et modifié.
Tout comme "blockchain", "big data" et "digital disruption", le terme "DevOps" est un autre mot à la mode actuellement lancé dans les départements informatiques des grandes organisations.
Nombreux sont ceux qui ont identifié (à juste titre) la nécessité d'accélérer les cycles de développement des logiciels ; un processus plus précis, étroitement aligné sur les objectifs de l'entreprise, permettant un flux de travail plus clair et une collaboration entre les équipes de développement et les équipes opérationnelles. DevOps est essentiellement un développement "agile", qui a grandi et qui est prêt à répondre aux besoins d'innovation constante et de déploiement rapide de l'entreprise moderne. Pour les professionnels de la sécurité, il s'agit d'une initiative fantastique : nous pouvons injecter la sécurité dans le processus bien plus tôt, ce qui réduit le coût de la correction des bogues et permet d'éviter des catastrophes potentielles en cours de route.
Le problème, c'est que peu d'entreprises réussissent vraiment à mettre en œuvre DevOps. Sans le soutien, l'encouragement et la compréhension nécessaires au sein de l'entreprise, le projet peut rapidement devenir un éléphant blanc... vous savez, l'un de ces projets dont on ne parle pas de la guerre.
Quel est donc le problème ? C'est une discussion intéressante, et il y a quelques façons d'aborder DevOps qui, à mon avis, faciliteront grandement la navigation. Un programme efficace va au-delà de quelques nouveaux outils, titres et réunions d'équipe. Ce ne sera pas toujours facile, mais prendre le temps de réparer une stratégie défaillante (ou de la mettre en œuvre de la bonne manière dès le départ) sera beaucoup moins douloureux à long terme. Et au bout du compte, vous obtiendrez des logiciels de meilleure qualité et plus sûrs.
Voyons cela en détail :
Lâchez les ficelles du tablier "Agile".
Il existe une idée fausse selon laquelle une organisation doit choisir entre Agile et DevOps, et s'engager dans une voie ou dans l'autre pour ne jamais revenir en arrière.
En réalité, le processus de développement fonctionne mieux lorsque les deux sont pris en compte et mis en œuvre en même temps. DevOps n' est pas une réinvention du développement Agile, mais plutôt une extension de celui-ci. Les roues ont tendance à tomber lorsqu'on s'attend à ce que le processus soit exactement comme Agile, ou complètement différent d'Agile.
La méthode Agile soutient le principe des équipes interfonctionnelles, en réunissant les concepteurs, les testeurs et les développeurs dès le début et en s'engageant à ouvrir les lignes de communication tout au long d'un projet. Son objectif est de mettre fin aux livraisons cloisonnées et de réduire le double traitement, deux éléments qui sont également des avantages du processus DevOps. Cependant, DevOps va plus loin, en introduisant les systèmes, la sécurité et les opérations dans le mélange pour offrir un ensemble de compétences robuste et de bout en bout qui a pour but ultime la livraison d'un logiciel complet et fonctionnel au client.
Lors des inévitables points de douleur liés au passage à un processus plus centré sur DevOps, le risque de développement en silo peut réapparaître. Il arrive souvent que l'équipe Agile d'origine travaille ensemble, alors que les ajouts de sécurité et d'opérations sont encore en train de se frayer un chemin dans la machine ; personne ne sait vraiment comment les inclure, ce qu'ils doivent faire et leurs objectifs globaux.
DevOps ne fonctionne pas sans des objectifs clairement définis, une intégration interfonctionnelle et une communication directe avec toutes les parties. Il y aura une période d'adaptation qui nécessitera une gestion prudente du changement, certes, mais faire en sorte que tout le monde soit d'accord avec les améliorations que la fonctionnalité DevOps apportera, c'est la moitié de la bataille.
De plus en plus (Dieu merci), DevOps met l'accent sur les meilleures pratiques de sécurité dans le cadre du processus également, démystifiant cette étape et comblant le fossé entre l'équipe de sécurité et, bien, tout le monde. Comme je l'ai déjà dit, nous avons encore un long chemin à parcourir pour donner aux développeurs les moyens de coder de manière sécurisée dès le départ, mais la mise en œuvre réussie des méthodologies DevOps est une excellente base sur laquelle les compétences en matière de sécurité peuvent être développées au sein de l'équipe de développement.
L'automatisation n'est pas tout (et elle n'est pas la plus sûre).
Une autre caractéristique de la méthodologie DevOps est, dans une certaine mesure, l'automatisation du processus de développement de logiciels. Les principes d'intégration et de livraison continues (CI/CD) sont les pierres angulaires de ce concept et, comme vous pouvez le deviner, ils sont très dépendants des outils.
Les outils sont géniaux, ils le sont vraiment. Ils peuvent apporter une rapidité sans précédent au processus de livraison de logiciels, en gérant le dépôt de code, les tests, la maintenance et les éléments de stockage avec une facilité relativement transparente.
Cependant, si les robots peuvent un jour prendre tous nos emplois et nous emprisonner, ils n'en sont pas encore là. Une forte dépendance à l'égard des outils et de l'automatisation laisse le champ libre aux erreurs. Les analyses et les tests peuvent ne pas tout détecter, le code peut ne pas être vérifié, ce qui pose d'énormes problèmes de qualité (sans parler de la sécurité) par la suite. Un pirate n'a besoin que d'une porte dérobée à exploiter pour voler des données, et renoncer à l'élément humain dans le contrôle de la qualité et de la sécurité peut avoir des conséquences désastreuses.
Le "juste milieu" consiste à s'assurer que vous disposez d'un équilibre entre les personnes et les outils. Les outils doivent servir d'assistants à une équipe en qui vous avez confiance pour atteindre les objectifs du projet. Vous devez :
- Allouez suffisamment de temps pour que les personnes se familiarisent avec la chaîne d'outils DevOps choisie.
- L'accent est mis sur une collaboration efficace (et sur la manière dont les outils peuvent la soutenir).
- Remédier à toute lacune dans le processus, qu'il s'agisse de compétences/connaissances ou d'outils.
En bref, ne vous contentez pas de vous équiper et d'espérer que tout ira bien.
DevOps n'est pas un mot à la mode, c'est une culture. Êtes-vous en train de développer la vôtre ?
La gestion du changement est difficile dans le meilleur des cas. La peur de l'inconnu peut empêcher même les membres les plus brillants de l'équipe de développer leurs compétences et d'élargir leurs horizons.
Vous voyez, il ne suffit pas de dire "faisons du DevOps" et de faire changer l'équipe des opérations de bureau pour mettre en œuvre un processus réussi comme par magie. Beaucoup seront désorientés et les membres de longue date de l'équipe seront mécontents. La communication des attentes est cruciale, tout comme le fait de "joindre le geste à la parole". DevOps représente un mouvement culturel tout autant qu'une méthodologie de développement, et une équipe doit vivre et respirer un état d'esprit transversal et collaboratif.
À quoi ressemble une grande culture DevOps ?
- Les individus sont habilités à apporter leur expertise à un processus, et pas seulement les dirigeants.
- Une communication ouverte, honnête et respectueuse entre les équipes
- Chaque personne assume la responsabilité de l'objectif global d'intégration de la qualité et de la sécurité dans le processus de développement.
- Tout le monde est sur la même longueur d'onde en ce qui concerne la définition de DevOps dans l'entreprise, la feuille de route et le comment/quoi/pourquoi du rôle de chacun.
Depuis des années, j'insiste sur l'importance de créer des cultures de sécurité positives dans les équipes de développement, et DevOps n'est pas différent.
Il est impératif de disposer des bons outils, des bonnes connaissances et du bon soutien pour mettre en œuvre les meilleures pratiques en matière de sécurité, constater une baisse des vulnérabilités découvertes et ouvrir les yeux de l'équipe sur l'importance de la protection de nos données. Avec DevOps, vous devez jeter les bases culturelles d'un changement positif : veillez à ce que chacun comprenne son rôle, sa valeur et ses attentes, les objectifs globaux du projet et les étapes du processus.
Vous avez maîtrisé cela ? C'est parfait. Maintenant, déplaçons l'aiguille, augmentons l'aspect sécurité et faisons de DevSecOps le plan ultime pour l'excellence logicielle.
Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Voir le rapportRéservez une démonstrationDirecteur général, président et cofondateur
Pieter Danhieux est un expert en sécurité mondialement reconnu, avec plus de 12 ans d'expérience en tant que consultant en sécurité et 8 ans en tant qu'instructeur principal pour SANS, enseignant des techniques offensives sur la façon de cibler et d'évaluer les organisations, les systèmes et les individus pour les faiblesses de sécurité. En 2016, il a été reconnu comme l'une des personnes les plus cool d'Australie dans le domaine de la technologie (Business Insider), a reçu le prix du professionnel de la cybersécurité de l'année (AISA - Australian Information Security Association) et détient les certifications GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Cet article a été publié à l'origine sur DevOps.com. Il a été mis à jour et modifié.
Tout comme "blockchain", "big data" et "digital disruption", le terme "DevOps" est un autre mot à la mode actuellement lancé dans les départements informatiques des grandes organisations.
Nombreux sont ceux qui ont identifié (à juste titre) la nécessité d'accélérer les cycles de développement des logiciels ; un processus plus précis, étroitement aligné sur les objectifs de l'entreprise, permettant un flux de travail plus clair et une collaboration entre les équipes de développement et les équipes opérationnelles. DevOps est essentiellement un développement "agile", qui a grandi et qui est prêt à répondre aux besoins d'innovation constante et de déploiement rapide de l'entreprise moderne. Pour les professionnels de la sécurité, il s'agit d'une initiative fantastique : nous pouvons injecter la sécurité dans le processus bien plus tôt, ce qui réduit le coût de la correction des bogues et permet d'éviter des catastrophes potentielles en cours de route.
Le problème, c'est que peu d'entreprises réussissent vraiment à mettre en œuvre DevOps. Sans le soutien, l'encouragement et la compréhension nécessaires au sein de l'entreprise, le projet peut rapidement devenir un éléphant blanc... vous savez, l'un de ces projets dont on ne parle pas de la guerre.
Quel est donc le problème ? C'est une discussion intéressante, et il y a quelques façons d'aborder DevOps qui, à mon avis, faciliteront grandement la navigation. Un programme efficace va au-delà de quelques nouveaux outils, titres et réunions d'équipe. Ce ne sera pas toujours facile, mais prendre le temps de réparer une stratégie défaillante (ou de la mettre en œuvre de la bonne manière dès le départ) sera beaucoup moins douloureux à long terme. Et au bout du compte, vous obtiendrez des logiciels de meilleure qualité et plus sûrs.
Voyons cela en détail :
Lâchez les ficelles du tablier "Agile".
Il existe une idée fausse selon laquelle une organisation doit choisir entre Agile et DevOps, et s'engager dans une voie ou dans l'autre pour ne jamais revenir en arrière.
En réalité, le processus de développement fonctionne mieux lorsque les deux sont pris en compte et mis en œuvre en même temps. DevOps n' est pas une réinvention du développement Agile, mais plutôt une extension de celui-ci. Les roues ont tendance à tomber lorsqu'on s'attend à ce que le processus soit exactement comme Agile, ou complètement différent d'Agile.
La méthode Agile soutient le principe des équipes interfonctionnelles, en réunissant les concepteurs, les testeurs et les développeurs dès le début et en s'engageant à ouvrir les lignes de communication tout au long d'un projet. Son objectif est de mettre fin aux livraisons cloisonnées et de réduire le double traitement, deux éléments qui sont également des avantages du processus DevOps. Cependant, DevOps va plus loin, en introduisant les systèmes, la sécurité et les opérations dans le mélange pour offrir un ensemble de compétences robuste et de bout en bout qui a pour but ultime la livraison d'un logiciel complet et fonctionnel au client.
Lors des inévitables points de douleur liés au passage à un processus plus centré sur DevOps, le risque de développement en silo peut réapparaître. Il arrive souvent que l'équipe Agile d'origine travaille ensemble, alors que les ajouts de sécurité et d'opérations sont encore en train de se frayer un chemin dans la machine ; personne ne sait vraiment comment les inclure, ce qu'ils doivent faire et leurs objectifs globaux.
DevOps ne fonctionne pas sans des objectifs clairement définis, une intégration interfonctionnelle et une communication directe avec toutes les parties. Il y aura une période d'adaptation qui nécessitera une gestion prudente du changement, certes, mais faire en sorte que tout le monde soit d'accord avec les améliorations que la fonctionnalité DevOps apportera, c'est la moitié de la bataille.
De plus en plus (Dieu merci), DevOps met l'accent sur les meilleures pratiques de sécurité dans le cadre du processus également, démystifiant cette étape et comblant le fossé entre l'équipe de sécurité et, bien, tout le monde. Comme je l'ai déjà dit, nous avons encore un long chemin à parcourir pour donner aux développeurs les moyens de coder de manière sécurisée dès le départ, mais la mise en œuvre réussie des méthodologies DevOps est une excellente base sur laquelle les compétences en matière de sécurité peuvent être développées au sein de l'équipe de développement.
L'automatisation n'est pas tout (et elle n'est pas la plus sûre).
Une autre caractéristique de la méthodologie DevOps est, dans une certaine mesure, l'automatisation du processus de développement de logiciels. Les principes d'intégration et de livraison continues (CI/CD) sont les pierres angulaires de ce concept et, comme vous pouvez le deviner, ils sont très dépendants des outils.
Les outils sont géniaux, ils le sont vraiment. Ils peuvent apporter une rapidité sans précédent au processus de livraison de logiciels, en gérant le dépôt de code, les tests, la maintenance et les éléments de stockage avec une facilité relativement transparente.
Cependant, si les robots peuvent un jour prendre tous nos emplois et nous emprisonner, ils n'en sont pas encore là. Une forte dépendance à l'égard des outils et de l'automatisation laisse le champ libre aux erreurs. Les analyses et les tests peuvent ne pas tout détecter, le code peut ne pas être vérifié, ce qui pose d'énormes problèmes de qualité (sans parler de la sécurité) par la suite. Un pirate n'a besoin que d'une porte dérobée à exploiter pour voler des données, et renoncer à l'élément humain dans le contrôle de la qualité et de la sécurité peut avoir des conséquences désastreuses.
Le "juste milieu" consiste à s'assurer que vous disposez d'un équilibre entre les personnes et les outils. Les outils doivent servir d'assistants à une équipe en qui vous avez confiance pour atteindre les objectifs du projet. Vous devez :
- Allouez suffisamment de temps pour que les personnes se familiarisent avec la chaîne d'outils DevOps choisie.
- L'accent est mis sur une collaboration efficace (et sur la manière dont les outils peuvent la soutenir).
- Remédier à toute lacune dans le processus, qu'il s'agisse de compétences/connaissances ou d'outils.
En bref, ne vous contentez pas de vous équiper et d'espérer que tout ira bien.
DevOps n'est pas un mot à la mode, c'est une culture. Êtes-vous en train de développer la vôtre ?
La gestion du changement est difficile dans le meilleur des cas. La peur de l'inconnu peut empêcher même les membres les plus brillants de l'équipe de développer leurs compétences et d'élargir leurs horizons.
Vous voyez, il ne suffit pas de dire "faisons du DevOps" et de faire changer l'équipe des opérations de bureau pour mettre en œuvre un processus réussi comme par magie. Beaucoup seront désorientés et les membres de longue date de l'équipe seront mécontents. La communication des attentes est cruciale, tout comme le fait de "joindre le geste à la parole". DevOps représente un mouvement culturel tout autant qu'une méthodologie de développement, et une équipe doit vivre et respirer un état d'esprit transversal et collaboratif.
À quoi ressemble une grande culture DevOps ?
- Les individus sont habilités à apporter leur expertise à un processus, et pas seulement les dirigeants.
- Une communication ouverte, honnête et respectueuse entre les équipes
- Chaque personne assume la responsabilité de l'objectif global d'intégration de la qualité et de la sécurité dans le processus de développement.
- Tout le monde est sur la même longueur d'onde en ce qui concerne la définition de DevOps dans l'entreprise, la feuille de route et le comment/quoi/pourquoi du rôle de chacun.
Depuis des années, j'insiste sur l'importance de créer des cultures de sécurité positives dans les équipes de développement, et DevOps n'est pas différent.
Il est impératif de disposer des bons outils, des bonnes connaissances et du bon soutien pour mettre en œuvre les meilleures pratiques en matière de sécurité, constater une baisse des vulnérabilités découvertes et ouvrir les yeux de l'équipe sur l'importance de la protection de nos données. Avec DevOps, vous devez jeter les bases culturelles d'un changement positif : veillez à ce que chacun comprenne son rôle, sa valeur et ses attentes, les objectifs globaux du projet et les étapes du processus.
Vous avez maîtrisé cela ? C'est parfait. Maintenant, déplaçons l'aiguille, augmentons l'aspect sécurité et faisons de DevSecOps le plan ultime pour l'excellence logicielle.
Table des matières
Directeur général, président et cofondateur
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationTéléchargerRessources pour vous aider à démarrer
La puissance d'OpenText Fortify + Secure Code Warrior
OpenText Fortify et Secure Code Warrior unissent leurs forces pour aider les entreprises à réduire les risques, à transformer les développeurs en champions de la sécurité et à renforcer la confiance des clients. Pour en savoir plus, cliquez ici.
Évaluation comparative des compétences en matière de sécurité : Rationalisation de la conception sécurisée dans l'entreprise
Le mouvement "Secure-by-Design" (conception sécurisée) est l'avenir du développement de logiciels sécurisés. Découvrez les éléments clés que les entreprises doivent garder à l'esprit lorsqu'elles envisagent une initiative de conception sécurisée.
Ressources pour vous aider à démarrer
10 prédictions clés : Secure Code Warrior sur l'influence de l'IA et de la conception sécurisée en 2025
Les organisations sont confrontées à des décisions difficiles sur l'utilisation de l'IA pour soutenir la productivité à long terme, la durabilité et le retour sur investissement de la sécurité. Au cours des dernières années, il nous est apparu clairement que l'IA ne remplacera jamais complètement le rôle du développeur. Des partenariats IA + développeurs aux pressions croissantes (et à la confusion) autour des attentes en matière de conception sécurisée, examinons de plus près ce à quoi nous pouvons nous attendre au cours de l'année prochaine.
OWASP Top 10 pour les applications LLM : Ce qui est nouveau, ce qui a changé et comment rester en sécurité
Gardez une longueur d'avance dans la sécurisation des applications LLM avec les dernières mises à jour du Top 10 de l'OWASP. Découvrez ce qui est nouveau, ce qui a changé et comment Secure Code Warrior vous fournit des ressources d'apprentissage actualisées pour atténuer les risques dans l'IA générative.
La note de confiance révèle la valeur des initiatives d'amélioration de la sécurité par la conception
Nos recherches ont montré que la formation au code sécurisé fonctionne. Le Trust Score, qui utilise un algorithme s'appuyant sur plus de 20 millions de points de données d'apprentissage issus du travail de plus de 250 000 apprenants dans plus de 600 organisations, révèle son efficacité à réduire les vulnérabilités et la manière de rendre l'initiative encore plus efficace.
Sécurité réactive contre sécurité préventive : La prévention est un meilleur remède
L'idée d'apporter une sécurité préventive aux codes et systèmes existants en même temps qu'aux applications plus récentes peut sembler décourageante, mais une approche "Secure-by-Design", mise en œuvre en améliorant les compétences des développeurs, permet d'appliquer les meilleures pratiques de sécurité à ces systèmes. C'est la meilleure chance qu'ont de nombreuses organisations d'améliorer leur sécurité.