Maison  >  Article  >  Tutoriel système  >  DevOps et le cloud computing sont interdépendants et étroitement liés

DevOps et le cloud computing sont interdépendants et étroitement liés

WBOY
WBOYavant
2024-01-18 22:24:051005parcourir

La caractéristique déterminante d’un logiciel est la douceur. Par exemple, comparez un téléphone à clapet à un smartphone. Si vous vouliez changer la couleur du bouton d'un téléphone à clapet, puisque le bouton est un morceau de plastique solide, cela nécessiterait de modifier son processus de fabrication. Entre l’idée et la mise sur le marché, cela peut prendre des semaines, voire des mois. Cependant, les smartphones utilisent un logiciel pour afficher leurs clés, et la portée du changement n'est qu'une ligne de code dans le fichier de configuration. Ce changement ne prend que quelques heures, voire quelques minutes, entre l'idée et la mise en œuvre sur le marché.

DevOps et le cloud computing sont interdépendants et étroitement liés

Alors pourquoi les centres de données ont-ils besoin de plus de logiciels ?

Et ces dernières années, presque toutes les entreprises sont des entreprises de logiciels, et les entreprises utilisant des centres de données peuvent exiger avant tout de la vitesse. Pour eux, la vélocité signifie des méthodes logicielles agiles et une itération rapide, et le moyen le plus efficace de trouver les meilleures idées est de publier autant de logiciels que possible. Cela augmente leurs chances de gagner plus que leurs concurrents, ce qui se traduit par plus de revenus pour l'entreprise.

C'est pourquoi DevOps et le cloud computing sont importants : donnez-leur la vitesse dont ils rêvent.

Travail de développement pour les développeurs

Si une entreprise demande aux développeurs de créer un ticket pour lancer une machine virtuelle qui nécessite l'utilisation réelle de ce matériel bien géré dans le centre de données, alors il doit être facile pour les clients (c'est-à-dire les développeurs) de l'utiliser.

Le travail d'un développeur s'articule généralement autour d'un processus de développement de deux semaines, se concentrant sur la mise en œuvre d'un ensemble spécifique de fonctionnalités ou sur la correction de bogues à partir d'une liste de priorités. La liste des éléments à compléter est maintenue et organisée par des professionnels, et chaque développeur de l'équipe rencontre un problème et le complète avant de passer à l'exigence suivante.

Il y a plus de détails pour l'achèvement de cette date limite. Cela implique de mettre en place un environnement suffisamment proche de celui de la production pour qu'il soit réalisable pour les tâches existantes, puis d'écrire des tests automatisés pour les nouvelles fonctionnalités. Lorsque ces tests réussissent, le développeur sait que le travail est terminé. Cette approche est appelée « développement piloté par les tests ». Au fur et à mesure que les environnements sont créés et les tests écrits, les développeurs se chargent d'écrire du code qui implémente de nouvelles fonctionnalités, souvent en divisant le problème en parties plus petites, en travaillant sur chacune et en déployant les parties dans l'environnement de développement.

Au départ, tous les tests échoueront. Cependant, à mesure que de plus en plus de boucles codant des extraits individuels sont terminées, davantage de tests finissent par réussir, ce qui indique que le travail est terminé. Le code est ensuite archivé dans un système de contrôle de source tel que Git, où l'automatisation déploie le nouveau code dans l'environnement de test (créant éventuellement un environnement de test entièrement nouvel) et exécute non seulement la nouvelle fonctionnalité, mais tous les tests précédents. . Si tous ces tests réussissent, le code peut être regroupé dans le cadre d'une version manuelle. Ou bien, une autre automatisation le déploiera immédiatement en production, en fonction du fonctionnement de l’équipe.

Un grand nombre de boucles pour minimiser l'attente

Le but de ce processus de boucle est de transformer un petit morceau de code en une fonctionnalité complète, et tout temps d'attente injecté dans la boucle est préjudiciable à l'efficacité et au moral des développeurs. Supposons que vous soyez responsable d'une nouvelle fonctionnalité et que vous essayiez de créer un environnement de développement pour le code, puis que vous attendiez une journée complète pendant que le processus de ticket configure une machine virtuelle pour l'environnement. Cela entraîne une perte de productivité, ce qui ralentit le cycle.

Imaginez maintenant qu'un nouvel environnement puisse être créé en quelques minutes avec des machines virtuelles ou en quelques secondes avec des conteneurs. Cette situation permet aux développeurs d’accéder plus rapidement à l’essentiel de leur travail : écrire du code. En minimisant les temps d’attente, leur efficacité et leur moral augmenteront. Lorsqu'ils ne peuvent pas obtenir des temps d'attente minimaux depuis leurs propres centres de données, ils se tournent vers des alternatives de cloud public.

À quoi ressemble le succès DevOps

Eh bien, DevOps consiste à concevoir l'automatisation de ces environnements dont les développeurs ont besoin pendant le cycle de développement et de déploiement pour minimiser leur temps d'attente et leur permettre d'obtenir plus d'itérations sur leur base de code. Étant donné que ces environnements sont en constante évolution, ils sont des alliés naturels pour la consommation basée sur le cloud, mais si les entreprises font pression sur les développeurs sur leurs préférences en matière de cloud public et privé, elles diront probablement que la vitesse est plus importante que le détail.

Dans cette optique, la mise en œuvre réussie de DevOps permet au cloud computing d'activer instantanément les ressources nécessaires pour prendre en charge les différents environnements impliqués dans le processus de développement et de déploiement. Et l’intégration de la sécurité, de la surveillance et d’autres aspects de l’environnement qui intéressent les opérateurs de centres de données est essentielle, mais pas au détriment de la vitesse. Sans la possibilité d'automatiser des aspects importants de la gestion des machines virtuelles, les développeurs n'auront pas la possibilité de recourir à des ressources externes pour répondre aux besoins de gestion.

Résumé

Au fil des années, développeurs et opérateurs se sont parfois affrontés et se sont mutuellement reprochés. Au cours des années passées, les opérations informatiques avaient le monopole des options d'hébergement pour les développeurs de logiciels, mais le cloud public a changé tout cela, ouvrant la voie à une ère de création d'environnements automatisée qui est devenue la nouvelle norme pour les développeurs. L'activité des centres de données peut toujours faire de même en injectant l'automatisation DevOps dans le processus de développement, et attirer l'attention des équipes de développement étroitement liées aux revenus de l'entreprise est non seulement possible, mais également indispensable.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer