La pratique de la prise en charge et du développement du cloud dans le centre de données Linxdatacenter nous a présenté un cas intéressant. Une opération plutôt routinière pour mettre à jour un seul élément de la plate-forme cloud a conduit à une mise à niveau profonde à grande échelle.
Nous vous expliquerons comment tout a commencé et comment le «jumeau numérique» du cloud nous aide.
Vous ne pouvez pas simplement prendre et mettre à jour vCloud Director
Les principaux composants du cloud Linxdatacenter sont la pile technologique VMware, qui implémente le panneau de configuration de l'infrastructure virtuelle vCloud Director. Il est déployé sur la base de composants Cisco et d'une infrastructure de services tels que Windows Active Directory.
À un moment donné, à la fin de 2020, nous avons rencontré un problème: vCloud Director 9.5 a commencé à prendre du retard par rapport aux spécificités des tâches actuelles et nous n'avons pas mis la main sur sa mise à niveau vers la version 10.1 ou 10.2.
Il n'y avait rien de terrible à cela, mais au début de 2021, le support Flash dans le navigateur s'est arrêté.
Pour être honnête, nous ne nous attendions pas à ce que Flash et les fabricants de navigateurs fassent cette cruauté. Autrement dit, tout le monde a entendu parler de la fin du support depuis longtemps, mais la nouvelle qu'il sera physiquement supprimé des systèmes d'exploitation et complètement bloqué dans les navigateurs à partir du 12 janvier est devenue une très désagréable surprise.
Le fait est que vCloud Director a accès via deux portails. Le premier est sur Flash, c'était le principal et, disons, l'original, avec des fonctionnalités très larges et beaucoup de possibilités.
Le développement du portail HTML a commencé avec la version 8.20, juste dans la perspective d'abandonner Flash, en y ajoutant progressivement de nouvelles fonctionnalités. La version de vCloud Director 9.5, qui est désormais présentée sur trois de nos sites, répond à la majorité des demandes des clients en termes de fonctionnalités, mais du point de vue administratif, des problèmes assez importants ont commencé à apparaître.
En tant que solution intermédiaire, nous avons réussi à trouver une configuration de navigateur dans laquelle l'accès Flash reste toujours. Et du point de vue de la direction, nous continuons à contrôler la situation, il n'y a pas de problèmes.
Cependant, pour les utilisateurs, la fonctionnalité de la version 9.5 n'est pas idéale. Les utilisateurs sont déjà habitués à travailler en Flash, et son absence entraîne des désagréments, ils se posent des questions, «mais avant celail en était ainsi, mais comment pouvons-nous le faire maintenant? " En 10 versions, la fonctionnalité est nettement meilleure et est aussi proche que possible de Flash. Par conséquent, il a été décidé que la mise à jour de vCloud Director est la tâche n ° 1.
Un héritage lourd
La situation a été compliquée par le fait que la plate-forme cloud de notre centre de données à Saint-Pétersbourg et sur le site partenaire de Varsovie est notre «héritage» d'un intégrateur système qui l'a déployée en 2013. Jusqu'en 2017, la même société a entièrement effectué la maintenance et les mises à niveau, puis nous avons augmenté une quantité suffisante de notre propre expertise pour prendre complètement le contrôle de nos propres mains.
Une analyse préliminaire de la situation a déjà montré que vous ne pouvez pas simplement passer de la version 9.5 à 10.2. L'élaboration d'un plan de mise à jour étape par étape pour toutes les versions de logiciel pour différents éléments du cloud avec des matrices de compatibilité a pris l'architecte responsable de la tâche plus de 2 semaines.
Cela est dû à la structure complexe des dépendances des versions logicielles, dont la logique nécessite une transition graduelle et strictement séquentielle vers de nouvelles versions afin de maintenir le bon fonctionnement du cloud dans son ensemble.
La nécessité d'une mise à niveau innocente de vCloud Director nous a forcés à lancer une mise à niveau complète de la plate-forme, en commençant par les serveurs Windows avec Active Directory et en se terminant par tous les composants supplémentaires. Pour terminer la mise à niveau planifiée vers la version cible dans vCloud Director, vous devrez mettre à niveau l'ensemble du système quatre fois: la mise à niveau de la plate-forme cloud sera effectuée en trois cycles complets ou files d'attente.
Nous commencerons avec notre propre cloud à Varsovie, suivi par des sites à Saint-Pétersbourg et à Moscou. La date d'achèvement prévue de ces travaux est mai 2021.
Mais d'abord, pratiquons-nous sur le «jumeau numérique» du cloud.
Jumeau numérique pour le cloud
Le plan de travail pour un seul des sites est tout simplement colossal, compte tenu de la ressource de l'équipe projet de trois spécialistes.
Cette limitation, ainsi que le calendrier, le nombre d'étapes intermédiaires et la complexité de l'infrastructure nous ont obligés à tester minutieusement la mise en œuvre pratique du projet sur une maquette virtuelle - un jumeau numérique du cloud dans un laboratoire virtuel.
Le jumeau numérique cloud nous donne confiance dans la qualité des changements de système déclenchés et dans l'atteinte des résultats attendus. De plus, il est très pratique d'élaborer différents scénarios pour faire fonctionner la plateforme sur un tel jumeau, et en cas d'erreur ou de panne, nous aurons toujours la possibilité de revenir à un instantané de la machine virtuelle avec correction de les erreurs. Cela accélère le processus de mise à jour et permet son exécution sans perdre la qualité du système dans son ensemble.
Toutes les mises à jour seront effectuées au préalable sur le jumeau numérique, puis, si les processus de transition progressive vers de nouvelles versions de tous les éléments de la plate-forme réussissent, le plan de travail détaillé de l'infrastructure cible réelle sera ajusté.
Le jumeau numérique réplique complètement l'infrastructure de la plate-forme jusqu'aux tout derniers composants de tous les systèmes. Toutes les modifications apportées à l'infrastructure réelle - paramètres, configurations, mises à jour logicielles - y sont d'abord traitées.
Nous regardons comment tous les éléments s'additionnent en une seule image, déterminons les risques, calculons le temps qu'il faut pour telle ou telle étape de la mise à jour, sur la base duquel un plan de travail détaillé est créé.
Le jumeau est réalisé en utilisant la technologie de la virtualisation imbriquée - la virtualisation imbriquée. VMware vous permet de monter des hyperviseurs en interne et vous pouvez également exécuter des machines virtuelles sur ces hyperviseurs.
Dans le cadre de notre cloud de Varsovie, des ressources ont été allouées pour la création d'un «jumeau» et des hyperviseurs, des machines virtuelles et un réseau ont été déployés sur eux - nous avons «reconstruit» le cloud à partir de zéro en conformité avec toutes les versions d'OS, packages, logiciel et architecture qui les connecte en une seule solution.
Ce n'est pas "Ctrl + C / Ctrl + V", c'est-à-dire que nous n'avons pas simplement copié le système existant: seuls les principaux composants du système et la logique de leur interaction ont été reproduits, jusqu'à la bande passante des canaux de communication, NGINX comme proxy inverse et "configs" pour l'enregistrement du trafic.
Le jumeau «mange» les ressources du site à raison de 650 $ par mois - par exemple, nous payons VMware en tant que fournisseur de services pour la RAM consommée par le «double», et il y a plus de 20 machines virtuelles déployées dessus .
Ce sont des coûts importants, mais d'un autre côté, l'exécution en toute sécurité du script de mise à niveau étape par étape nous garantit une protection à 100% contre les pannes et les moments imprévus lors de la mise à niveau sur une infrastructure réelle. Les pertes éventuelles dues à un dysfonctionnement du système sont des ordres de grandeur plus élevés que les coûts de maintenance du «jumeau».
Nos attentes
Selon les calculs préliminaires, la ressource système après la mise à jour sera suffisante pour que la plate-forme fonctionne au bon niveau sans qu'il soit nécessaire de procéder à des changements, sans parler d'une restructuration globale, au moins jusqu'à la fin de 2021.
Dans le cadre des préparatifs actuels de la mise à jour de la plupart des principales versions logicielles des systèmes clés, l'indicateur de fin de support remonte à la fin de 2023. De plus, pour un nombre important de systèmes, le moment de la fin de la prise en charge des versions logicielles n'est pas encore déclaré.
Autrement dit, la marge de sécurité globale devrait être suffisante pour 1 à 2 ans, et si nous parlons d'un renouvellement mondial comparable à celui actuel, nous posons aujourd'hui les bases d'une période encore plus longue.
Le cycle de vie d'une plate-forme cloud implique la nécessité de toujours disposer de versions logicielles à jour des éléments clés du système.
En parlant en général de ce domaine de travail, on peut noter que la complexité et la douleur globales d'une telle restructuration dépendront toujours de la difficulté de la lancer, ayant cessé de suivre la compatibilité des versions, ainsi que de la diversité du «zoo» de divers éléments, technologies, protocoles et logiciels sur lesquels le cloud est construit.
À quoi devons-nous lutter ici? Vers l'unification: la mise à jour mondiale lancée va à terme grandement simplifier notre vie et améliorer la fiabilité du cloud dans son ensemble.
Nous pourrons nous éloigner complètement de l'héritage de l'intégrateur qui a déployé toute cette infrastructure. Nous n'aurons aucun angle mort ni maillons faibles potentiels dans la chaîne de valeur du cloud sous la forme de sa disponibilité, de la flexibilité des paramètres, de la fiabilité et d'autres paramètres qui affectent le SLA.
Dès que tous les composants cloud fonctionnent sur les mêmes versions logicielles sur tous les sites, toutes les mises à niveau, extensions et intégrations ultérieures deviendront une question de gestion compétente du composant technique, de routine, et non un projet administratif et technique global.
Nous prévoyons d'utiliser le jumeau numérique du cloud à l'avenir. C'est un outil pratique qui contribue à rendre le processus de mise à niveau de l'infrastructure plus sûr et plus rapide.