Maison > Périphériques technologiques > IA > le corps du texte

Comment l'automatisation intelligente change l'intégration continue (CI)/la livraison continue (CD)

WBOY
Libérer: 2023-04-12 21:31:01
avant
1094 Les gens l'ont consulté

​Traducteur | Li Rui

Critique | Sun Shujuan

Certains leaders d'opinion disent souvent : « Toutes les entreprises sont des éditeurs de logiciels. » C'est parce qu'au cours de la dernière décennie, de nombreuses grandes et moyennes entreprises ont mis en œuvre des initiatives de transformation numérique. ont un impact profond sur la manière dont ces entreprises développent et déploient des logiciels pour apporter de la valeur commerciale.

Dans le passé, les applications étaient souvent monolithiques, déployées sur site sur du bare metal ou des machines virtuelles, et les mises à jour étaient rares, espacées et peu fréquentes. Aujourd'hui, de nouveaux modèles d'application exploitent les microservices, la conteneurisation et la livraison continue, ce qui donne lieu à de nombreuses versions mises à jour dans Kubernetes, les machines virtuelles et les environnements multi-cloud. Cette évolution a donné naissance à de nouveaux types de processus et de modèles commerciaux, depuis le « as-a-service » jusqu'à l'engagement client omnicanal complet, en passant par les processus commerciaux pilotés par des données IoT en temps réel.

La mise en œuvre réussie de ces nouvelles stratégies de livraison de logiciels dans un environnement cloud natif nécessite un autre changement : le développement logiciel. Les entreprises doivent fournir davantage de versions logicielles avec rapidité, fréquence et précision sans sacrifier la sécurité des logiciels ni négliger les besoins de conformité réglementaire et commerciale. Cette évolution a ajouté à la complexité.

Et les équipes de développement, d'exploitation, de développement, de sécurité et de conformité, qui peuvent être largement réparties géographiquement, doivent travailler plus rapidement, avec plus de précision et avec un degré plus élevé de coordination. De même, les flux de travail distribués complexes doivent être hautement coordonnés pour éviter les erreurs et les retards tout en augmentant la productivité des membres de l'équipe de livraison de logiciels. Cette évolution est encore compliquée par la diversité des chaînes d'outils d'intégration continue (CI)/de livraison continue (CD), les problèmes de sécurité croissants, l'évolution des réglementations en matière de confidentialité et la pénurie de personnel technique qualifié.

Face à tous ces défis, comment les entreprises peuvent-elles améliorer la productivité de leurs équipes de livraison de logiciels et maximiser la valeur business des versions ? Premièrement, les entreprises doivent adopter des systèmes internes qui permettent à leurs outils et processus d’évoluer au fil du temps. Deuxièmement, ils doivent centraliser le contrôle du Devops, de la sécurité et de la gestion de la conformité tout en offrant aux équipes de développement une flexibilité maximale en termes de processus et d'outils. Troisièmement, ils doivent automatiser intelligemment leur pipeline de livraison de logiciels.

1. Le nouveau modèle de livraison continue

La livraison continue fait référence au déploiement rapide et sûr de modifications logicielles en production de manière reproductible et durable. Cette discipline n'est pas nouvelle, mais un nouveau modèle de livraison continue émerge qui peut servir de base pour améliorer la gestion Devops, accroître l'efficacité du développement et garantir la gouvernance et la sécurité. Ce nouveau modèle repose sur trois principes : des plateformes ouvertes, une automatisation intelligente et des équipes autonomes contrôlées de manière centralisée.

(1) Plateforme ouverte

La plate-forme ouverte prend en charge une intégration transparente avec les outils et flux de travail d'intégration continue (CI)/de livraison continue (CD) existants. Cela permet aux entreprises de se développer sans perturber les chaînes d'outils et les processus existants, ni risquer une baisse significative de la productivité du développement, sans parler de la frustration des développeurs et des gestionnaires. Par exemple, une couche d'intégration ouverte utilisant des API natives pour les outils publics d'intégration continue (CI)/de livraison continue (CD) peut permettre aux équipes de développement de continuer à utiliser les meilleurs outils de leur catégorie.

Pour une productivité et un contrôle maximum, une intégration approfondie avec les outils d'intégration continue (CI)/de livraison continue (CD) existants peut fournir une visibilité et un contrôle des versions externes à chaque étape du processus de livraison de logiciels, rendant le système capable d'identifier les risques et contrôler le flux de travail tout au long du processus de livraison. De plus, des couches d'intégration ouvertes et des API natives pour les outils d'orchestration courants tels qu'Argo et Spinnaker peuvent permettre d'apporter des modifications pour changer les outils d'orchestration sans détruire ni remplacer la plate-forme de livraison continue.

(2) Automatisation intelligente

L'automatisation intelligente répond à de nombreuses exigences fondamentales pour une livraison réussie de logiciels. L'automatisation de base des processus peut augmenter la productivité du personnel Devops en automatisant les tâches manuelles de routine via le code. Par exemple, un développeur peut exécuter une build dans Jenkins, puis déclencher une tâche automatisée qui pousse la build vers Artifactory et démarre le pipeline de livraison. Cependant, combiner l’automatisation avec l’intelligence artificielle peut améliorer les processus et les résultats commerciaux.

L'automatisation intelligente peut automatiser les tâches de routine, puis améliorer continuellement les décisions automatisées à mesure que les versions progressent dans le cycle de vie de livraison. Intelligence appliquée au processus de publication – Lorsqu'il est combiné à une intégration approfondie des outils, l'accès non seulement aux événements mais à toutes les données de processus détecte automatiquement les risques logiciels et les signale automatiquement pour correction avant que les versions candidates ne passent en production.

En plus d'une efficacité de développement améliorée et de versions logicielles plus rapides et plus précises, l'automatisation intelligente offre un moyen de mettre en œuvre des contrôles centralisés et automatisés sur la conformité et la sécurité. En mettant en œuvre des politiques de sécurité et l'automatisation dans le processus de livraison de logiciels, les entreprises peuvent mettre en œuvre DevSecOps afin que la sécurité devienne une partie intégrée du processus de développement plutôt qu'une phase de révision à la fin du processus de développement.

(3) Équipe autonome contrôlée de manière centralisée

La mise en place de contrôles centralisés est essentielle pour soutenir les équipes de développement, de sécurité et de conformité à l'échelle de l'organisation afin de garantir la conformité, la cohérence et l'auditabilité de toutes les versions logicielles. Pour réussir, le contrôle centralisé nécessite un moteur de politique central capable d’appliquer les règles de sécurité, de conformité et de gestion au niveau de l’entreprise et de chaque équipe. Le contrôle d'accès basé sur les rôles (RBAC) peut fournir des autorisations précises aux équipes et aux individus sans compromettre le contrôle. Pour que les équipes puissent fonctionner de manière indépendante, elles doivent être isolées des autres équipes en termes de sécurité, d'objectifs de déploiement et de facteurs similaires.

L'automatisation intelligente combinée au moteur de politiques automatise et améliore continuellement la mise en œuvre des politiques de sécurité et de conformité, réduisant ainsi le besoin de développeurs, d'équipes de sécurité et de conformité. Pour améliorer encore les performances de votre pipeline de développement logiciel, les meilleures pratiques à l'échelle de l'entreprise et des modèles de déploiement réutilisables peuvent être mis en œuvre pour augmenter la productivité et la précision des équipes de développement.

2. Le développement de la livraison continue

Maintenant, ces nouveaux éléments de base de la livraison continue commencent à entrer dans le produit des manières suivantes.

(1) Projets open source

Les projets open source d'intégration continue (CI) / de livraison continue (CD) continuent de se développer. Par exemple, pour répondre à l'évolution des préoccupations en matière de sécurité, la solution open source de livraison continue cloud native Spinnaker comprend désormais plusieurs options d'authentification (gestion des identités) et d'autorisation (gestion des accès). Pour prendre en charge un contrôle centralisé, Spinnaker adopte également une approche intelligente de ces fonctions de sécurité critiques. Plutôt que d'écrire une nouvelle solution de connexion propriétaire, Spinnaker exploite des protocoles de sécurité modernes, notamment OAuth 2.0, SAML et LDAP, permettant à Spinnaker de s'intégrer aux solutions de gestion des identités et des accès que la plupart des entreprises utilisent déjà. Spinnaker s'intègre également aux solutions d'autorisation courantes telles que les groupes Google, les équipes GitHub, les rôles SAML et les groupes LDAP.

(2) Automatisation de base des processus

L'automatisation des processus de routine est de plus en plus courante dans les solutions commerciales, y compris les solutions propriétaires et les produits basés sur des solutions de livraison continue open source. Par exemple, des solutions commerciales telles que CodeFresh, Armory et OpsMx reposent sur des projets de livraison continue open source tels qu'Argo et Spinnaker. Des sociétés telles que Digital.ai, Harness et Broadcom proposent également des solutions commerciales propriétaires.

(3) Intelligence artificielle de base et apprentissage automatique

L'intelligence artificielle et l'apprentissage automatique émergent dans des solutions commerciales telles que Harness et OpsMx. Un exemple de ceci est un processus de validation continue basé sur l'apprentissage automatique qui apprend des déploiements précédents et crée une base de référence de bons déploiements, permettant la détection des anomalies. De même, les outils d'intégration continue (CI)/de livraison continue (CD) de New Relic, Datadog, Honeycomb et Splunk utilisent l'intelligence artificielle/l'apprentissage automatique pour fournir plus d'informations sur les performances et la qualité des logiciels.

(4) Automatisation intelligente

L'automatisation intelligente combine l'intelligence artificielle et la technologie d'automatisation des processus robotiques (RPA) pour rationaliser et faire évoluer les processus et les décisions dans les organisations. L'automatisation intelligente fait son apparition dans une poignée de solutions commerciales de livraison continue telles que OpsMx, permettant aux entreprises d'aller au-delà de l'automatisation des processus et des flux de travail de routine.

L'automatisation intelligente peut effectuer une analyse des risques sur les versions logicielles, déterminant automatiquement si la version répond aux normes pour passer à l'étape suivante du pipeline sans créer de risques inacceptables d'échec de production. Ce niveau d'intelligence peut également automatiser la conformité aux politiques, garantissant ainsi le respect de toutes les règles de gouvernance et des meilleures pratiques. Les entreprises leaders du secteur vont plus loin et combinent l'automatisation intelligente avec des stratégies de déploiement avancées telles que les tests bleu-vert, les tests Canary et la livraison progressive pour déployer des logiciels plus rapidement et avec moins de risques que jamais.

Il est essentiel que les processus de livraison de logiciels suivent le rythme des exigences de transformation numérique au niveau de l'entreprise. Ne pas le faire entraînera des problèmes de livraison de logiciels qui se traduiront par des versions lentes, des taux d'erreur de version élevés, des échecs de sécurité et de conformité et des utilisateurs et clients frustrés.

La bonne nouvelle est que les développeurs Devops peuvent désormais mettre en œuvre une nouvelle base pour leur processus de livraison continue afin de garantir des versions logicielles plus rapides et de meilleure qualité. À mesure que les capacités d'automatisation intelligente se généralisent, les développeurs Devops peuvent se positionner comme des moteurs clés de l'accélération de la transformation numérique, en fournissant de nouvelles fonctionnalités logicielles plus rapidement, plus fréquemment et de manière plus sécurisée dans des délais plus courts.

Lien original : https://www.infoworld.com/article/3658209/how-intelligent-automation-changes-cicd.html

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal