Qu'est-ce que DevNetOps ?

Qu'est-ce que DevNetOps ?

DevNetOps est l'application des philosophies, principes et comportements DevOps aux opérations réseau (NetOps). Les philosophies DevOps sont issues de la culture d'ingénierie logicielle et de la révolution du « lean manufacturing » qui a eu lieu pendant les années 1980 à 2000. Ces principes sont généralement connus sous le nom de CALMS : Culture, Automatisation, Lean, Mesure et Solidarité.

L'un des principes DevOps les plus cités s'oppose à la méthode en cascade (où les cycles de planification, de construction et de test ont lieu pendant de longues étapes successives). Comme indiqué dans le manuel The DevOps Handbook, les recherches DevOps ont montré que pour l'informatique et la production industrielle, des déploiements plus petits et plus fréquents augmentaient la rapidité opérationnelle et la flexibilité, tout en améliorant la qualité.

Pour que les entreprises atteignent rapidement leurs objectifs, la fiabilité est une condition préalable essentielle ! La rapidité sans résultats de durabilité conduit à un échec, et les échecs rapides ne sont bénéfiques pour les entreprises que si elles peuvent s'améliorer entre les itérations. Parallèlement, une mise en œuvre récente et populaire de DevOps est l'ingénieur fiabilité du site (SRE). De même, DevNetOps est mis en œuvre par l'ingénieur en fiabilité du réseau (NRE).

Qu'est-ce qu'un pipeline DevNetOps ?

Pipeline DevNetOps

Pipeline DevNetOps

Pour réduire le délai entre le développement et le déploiement, et utiliser des cycles plus courts et plus rapides avec des déploiements de modification plus petits, le pipeline DevNetOps automatise l'avancée de l'étape des modifications techniques au déploiement en production.

Respecter un référentiel de code contrôlé par version déclenche un pipeline d'intégration continue (CI) de construction progressive et de tests. Grâce à des décisions automatiques et manuelles, les charges utiles de livraison sont testées dans des environnements, simulations et laboratoires virtuels pour obtenir une livraison fiable. Le pipeline de livraison continue (CD) garantit que les produits livrés sont toujours prêts à être déployés. Le déploiement continu est la première étape automatique vers l'organisation, puis la production.

Cependant, avant que des changements soient implémentés dans un environnement d'exécution (comme l'organisation et la production), il est important de créer des microchangements d'ordre architectural et une infrastructure inaltérable. Les gros changements ne sont pas sûrs et mettent plus de temps à être créés et validés. De plus, les problèmes sont plus difficiles à identifier, comparativement aux petits paquets de changement.

Une infrastructure inaltérable est tout aussi importante avant le déploiement continu. Il n'est pas efficace ni utile de procéder au déploiement et de demander ensuite à un ingénieur de modifier le sens de ce qui est actuellement déployé. Les temps d'exécution de production doivent être reproductibles afin de tester en toute sécurité les changements et déterminer comment les problèmes peuvent être améliorés.

La surveillance continue, la mesure et la réponse constituent la dernière partie de DevNetOps. Les retours en cours de production vers les indicateurs de niveau de service sont utilisés pour opérer des ajustements réactifs ou proactifs à l'état du réseau transitoire. De plus, les télémétries, incidents et demandes de changement externe analysés permettent l'amélioration continue de la codification des systèmes de mise en réseau.

Résumé du pipeline DevNetOps automatisé

Outils

Processus

Personnes

Réseau en tant que code

Référentiel de secrets de configuration, d'artefacts et gitOps

Ramification, examen, appariement, Agile

Compétences de codage (pas nécessairement en programmation)

Orchestration du pipeline

Outils de CI/CD du pipeline, cadres de test

TDD, décisions de mesure

Créer et déboguer les compétences, avantages du pipeline

Architecture petite et inaltérable

Livraisons de provisionnement sans intervention, réfracteurs des fournisseurs

Engagements/déploiements par petites étapes

CLI/TTY mains libres

Mises à niveau orchestrées

ZTD, virtualisation, laboratoires, évacuation de la circulation

Organisation et analyse de la simulation

Maintenance en quelques heures, retour ou avancée

Conception de la résilience et exercices

Génération de trafic, DoS, ingénierie du chaos

Chaos, limites de documents

Échec de la force pour la compréhension

Mesure en continu

Analyse du Big Data, ML, intégration d'ITops

Manuels d'incident, planification de la capacité

Gestion par statistiques, mesures, efficacité

Réponse continue

Auto-correction, FaaS, statistiques prédictives

Superviser l'autonomie

Télémétrie, indicateurs, autorétablissement de l'ingénieur

Amélioration continue

Mises à niveau, fonctionnalités, correctifs, modifications

Transformer les enseignements locaux en connaissances mondiales

Ouverture d'esprit active en cas d'erreur

Avantages de DevNetOps

  • La culture et les comportements de l'équipe conformes à la fiabilité de l'ingénierie, combinés avec des déploiements plus petits et plus fréquents, conduisent à des équipes et des entreprises plus performantes1.
  • DevNetOps permet d'accélérer l'intégration des systèmes des fournisseurs, notamment les mises à niveau et correctifs des logiciels. Il persuade les fournisseurs de livrer des charges utiles plus petites à une cadence plus rapide, ce qui résout le problème des longs délais pour obtenir des fonctionnalités et correctifs. Il réduit considérablement l'écart entre le délai de mise sur le marché du fournisseur et le délai de déploiement par l'opérateur.
  • Pour les ingénieurs, DevNetOps réduit le stress (inquiétude en vue d'un déploiement) et augmente la satisfaction au travail.

 

Quel est le lien entre les NRE, DevNetOps et DevOps ?

DevOps et les ingénieurs DevOps sont associés aux activités de développement d'applications et aux opérations. Le rôle existe également dans le secteur des réseaux, en particulier pour certains types de SDN (Software-Defined Networking), pour l'exécution de clusters d'applications. Outre le développement et l'exécution d'applications et de plates-formes logicielle, les réseaux existent également dans les entreprises et les prestataires de services2. Voici des exemples de réseaux NetOps qui mettent l'accent sur les applications d'entreprise : réseau backbone étendu, réseaux de transport, de backhaul et de sous-couche de centre de données.

Pour distinguer DevNetOps et DevOps, la séparation de Dev-Ops pour la mise en réseau se trouve entre le fournisseur et le client, au lieu d'être entre les équipes de la même entreprise. Certains objectifs DevOps, comme l'itération rapide de fonctionnalités et l'expérimentation du produit, ne sont pas des objectifs courants pour l'infrastructure fondamentale des réseaux. Néanmoins, les principes et avantages de DevOps s'appliquent également à la mise en réseau.

Bien que DevNetOps, comme DevOps, soit un ensemble de philosophies, de principes et de bonnes pratiques, c'est le service d'ingénierie de fiabilité du réseau (NRE) qui les met en œuvre. Les objectifs sont les mêmes. Cependant, alors que les principes DevOps augmentent la vitesse d'itération et d'évolution vers un apprentissage continu, le NRE a comme objectif principal la fiabilité. Ces deux objectifs sont complémentaires : un explique « quoi » et l'autre « pourquoi ».

Questions fréquentes sur DevNetOps

Pourquoi le DevNetOps est-il nécessaire ?

Les modifications apportées au réseau sont complexes et nécessitent des processus rigoureux et coûteux d'approbation, sans compter qu'elles sont susceptibles de poser des problèmes et d'avoir des répercussions inattendues. Le DevNetOps remédie à ces problèmes grâce à des pratiques qui garantissent que les modifications sont limitées, fréquentes et effectuées de manière automatisée et fiable. Cette approche améliore la qualité, les résultats et les délais de déploiement par rapport à la méthodologie en cascade classique, qui décompose les activités en phases longues et séquentielles, chacune dépendant de la qualité et de la précision de la précédente.

Quelle est la différence entre le DevOps et le DevNetOps ?

Tandis que le DevOps vise principalement à accélérer les processus de développement logiciel et les délais de déploiement d'une organisation, le DevNetOps applique les principes et les pratiques du DevOps afin d'automatiser les opérations réseau et de gérer l'infrastructure à l'instar du code. Le DevNetOps vise à créer une infrastructure réseau plus souple, plus programmable et plus évolutive, capable de supporter le rythme accéléré des pratiques du DevOps et des déploiements de logiciels. 

Le DevOps et le DevNetOps cherchent tous deux à décloisonner les services et les groupes fonctionnels, à améliorer la collaboration entre les équipes et à renforcer l'automatisation por accroître la rapidité, l'agilité et la qualité des opérations. Cependant, le DevOps se focalise sur la collaboration interne là où le DevNetOps se focalise plus souvent sur la relation entre le fournisseur et le client. En outre, la vitesse d'itération est la préoccupation première du DevOps, là où l'objectif principal du DevNetOps est la fiabilité.

Quels sont les bénéfices du DevNetOps ?

Adopter le DevNetOps présente de nombreux avantages. Citons une efficacité accrue, une intégration plus rapide des systèmes des fournisseurs, en particulier des mises à jour et des correctifs logiciels, des délais réduits d'ajout de fonctionnalités et de correctifs, et l'accélération du déploiement par l'opérateur après la commercialisation par le fournisseur. 

Quels sont les produits, technologies et solutions DevNetOps proposés par Juniper ?

Juniper Cloud-Native Contrail Networking (CN2) est une plate-forme SDN (software-defined networking) qui automatise la création et la gestion de réseaux virtuels. Elle fournit une infrastructure en tant que code, un principe du DevNetOps, afin d'assurer la qualité logicielle avec une efficacité et une rapidité hyperscales. Elle est testée, agrée et déployée à l'aide du projet CN2 basé sur Argo avec Pipelines, un modèle GitOps et d'intégration et de livraison continue (CI/CD) pour le NetOps afin de fournir une ingénierie fiable à une vitesse hyperscale.