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
É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.
DigitalOcean réduit sa dette de sécurité avec Secure Code Warrior
L'utilisation par DigitalOcean de la formation Secure Code Warrior a considérablement réduit la dette de sécurité, permettant aux équipes de se concentrer davantage sur l'innovation et la productivité. L'amélioration de la sécurité a renforcé la qualité des produits et l'avantage concurrentiel de l'entreprise. À l'avenir, le score de confiance SCW les aidera à améliorer leurs pratiques de sécurité et à continuer à stimuler l'innovation.
Ressources pour vous aider à démarrer
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é.
Les avantages de l'évaluation des compétences des développeurs en matière de sécurité
L'importance croissante accordée au code sécurisé et aux principes de conception sécurisée exige que les développeurs soient formés à la cybersécurité dès le début du cycle de développement durable, et que des outils tels que le Trust Score de Secure Code Warriorles aident à mesurer et à améliorer leurs progrès.
Assurer le succès des initiatives de conception sécurisée de l'entreprise
Notre dernier document de recherche, Benchmarking Security Skills : Streamlining Secure-by-Design in the Enterprise est le résultat d'une analyse approfondie d'initiatives réelles de conception sécurisée au niveau de l'entreprise, et de l'élaboration d'approches de meilleures pratiques basées sur des conclusions fondées sur des données.
Plongée en profondeur : Naviguer dans la vulnérabilité critique de CUPS dans les systèmes GNU-Linux
Découvrez les derniers défis de sécurité auxquels sont confrontés les utilisateurs de Linux en explorant les récentes vulnérabilités de haute sévérité dans le système d'impression commun d'UNIX (CUPS). Apprenez comment ces problèmes peuvent conduire à une potentielle exécution de code à distance (RCE) et ce que vous pouvez faire pour protéger vos systèmes.