Depuis 2017, la taille des machines et le nombre de services de Vivo ont considérablement augmenté, comme le montre le graphique. La taille de la machine a été multipliée par cinq environ et le nombre de services a été multiplié par plus de dix. La période s'étend de 2017 à 2022.
À mesure que l'échelle grandit, les défis et la complexité vont certainement augmenter. Les défis typiques in vivo sont principalement divisés en défis de changement et en défis d'échec.
Il existe encore des scénarios de changement plus ou moins manuels
Notre délai de publication unique est relativement long
Il existe de nombreux scénarios de migration d'entreprise à grande échelle ; Google SRE a un tel concept : 70 % des échecs sont causés par des changements. Cette situation existe également in vivo, et les changements auront un grand impact sur la stabilité en ligne.
2. Défis de panne
Risque de panne au niveau de la salle d'équipement (les grandes et petites entreprises seront confrontées à des fouilles de fibre ou à des pannes de salle d'équipement interne, etc.) ; exigences.2. Renforcement des capacités de disponibilité
Notre renforcement des capacités de disponibilité est basé sur la gestion des pannes du cycle de vie complet, couvrant les pannes occurrence, détection, réponse, récupération, examen et mesures préventives. Le temps entre l'apparition d'un défaut et la récupération est appelé MTTR ; le temps entre la récupération et l'apparition d'un défaut, de stable à instable, est appelé MTTF ; le temps entre les occurrences de défaut est appelé MTBF, avec un total de 3 ; indicateurs.
La gestion des pannes n'est rien de plus que ces 4 points :
Comment prévenir l'apparition des pannes ? Comment détecter la panne au plus vite ? Comment remédier rapidement à la panne ?2. Analyse d'occurrence de panne
Tout d'abord, pour parvenir à la prévention des pannes, il faut d'abord comprendre pourquoi la panne se produit, ce qui peut être fait à partir de une perspective de service et une perspective de lien complet.
1) Perspective du service
Un service n'est rien de plus qu'une entrée demandée, et normalement il n'a besoin que d'une sortie correspondante. Dans des situations réelles, de nombreux aspects affectent la réponse correcte du service. Dans certains scénarios classiques, les facteurs d'influence ont été résumés
En termes de capacité : Les demandes commerciales augmentent de façon exponentielle, ce qui rendra anormal le rendement d'un seul service ;En termes de service : Le logiciel lui-même a des bugs se produisent et, par conséquent, le service s'écrase Matériel : anomalies causées par le matériel hôte, la salle informatique et le réseau.
Couche de capacité : augmentation soudaine des requêtes, capacité insuffisante de l'ensemble du lien, entraînant des anomalies de service
couche de service : service Il doit être configuré en collaboration avec le service. Des paramètres de configuration incorrects entraîneront également des anomalies dans l'ensemble du lien Dépendances en amont et en aval : des anomalies dans certains services clés entraîneront des anomalies dans l'ensemble du lien ;3. Construction de prévention des pannes
Après avoir analysé les facteurs de panne des deux perspectives du service et du lien complet, la construction de prévention des pannes a des idées correspondantes :
J'ai déjà parlé de l'analyse globale et des idées de construction, mais comment vivo le fait-il réellement ?
Nous avons fourni une garantie de construction basée sur le lien complet. L'ensemble du lien est construit à partir de la couche d'accès, de la couche de logique métier, de la couche middleware, de la couche de stockage et de la couche d'infrastructure :
1) Unitisation : réduire les appels de service. dans les salles informatiques, évitez que la panne d'une seule salle informatique n'affecte tous les services de la salle informatique ;
2) Entrées multiples : dans le passé, de nombreuses entreprises n'avaient qu'une seule entrée de couche d'accès après avoir développé les capacités multi-entrées d'IDC. et le cloud public, un seul L'impact des exceptions d'entrée sur l'accès global au service sera plus faible
3) Protection contre les surcharges : lorsque la capacité de l'entreprise augmente soudainement, le service de la couche d'accès peut rejeter activement certaines demandes de rafale en fonction des paramètres ; pour éviter des demandes excessives. Le trafic met hors service les services suivants ;
4) Disjoncteur et déclassement : le déclassement monopolistique des services dépendants peut protéger l'impact des services anormaux et éviter l'effet d'avalanche.
Nous avons construit une capacité de détection des défauts basée sur l'ensemble du lien. À l'heure actuelle, le taux de détection proactive des défauts peut atteindre 90 %, ce qui inclut le client. surveillance, surveillance du serveur et surveillance de base :
1) Surveillance des clients : système de test de numérotation auto-construit, surveillant la disponibilité de chaque service via un accès utilisateur simulé de contournement
2) Surveillance du serveur : y compris la surveillance des noms de domaine, surveillance des journaux et surveillance des appels entre les services. Selon la méthode de mise en œuvre de la surveillance, il s'agit principalement de métriques/journaux/traces
3) Surveillance de base : surveillez l'utilisation des ressources matérielles de l'hôte, principalement de manière métrique.
comprend principalement l'analyse et la gestion des pannes.
7. Examen des défauts
L'examen des défauts est une partie très importante de l'ensemble du cycle de construction à haute disponibilité.
Nous garantissons la stabilité de l'entreprise grâce à une classification SLA basée sur l'entreprise, et enregistrons chaque échec de l'entreprise, améliorons et vérifions le renforcement des capacités :
1) Classification de l'entreprise : Exploitation et les ressources de maintenance sont très limitées. Il est nécessaire de s'assurer que toutes les entreprises ont le même SLA. Par conséquent, la garantie hiérarchique est très nécessaire en fonction de la réputation et des revenus de l'entreprise, nous la divisons en quatre niveaux d'activité : principal, important, général. , et autres. Utilisez-le pour guider l'investissement dans la main-d'œuvre et le support d'exploitation et de maintenance pour chaque entreprise
2) Enregistrements de défauts : améliorez l'efficacité des examens, tout en suivant les défauts commerciaux en ligne pour une analyse de suivi afin de guider l'optimisation de l'entreprise ;
3) Amélioration des défauts : effectuez une vérification en amont basée sur l'ingénierie du chaos pour déterminer si les mesures d'amélioration ont pris effet. C'est notre pratique en matière d'examen des pannes. Nous avons également implémenté ces capacités et pratiques dans la plateforme et géré le travail d'examen des pannes via la plateforme. 8. Gestion de la capacité De nombreuses pannes en ligne sont causées par des problèmes de capacité. Une fois les ressources de capacité en place, la disponibilité peut être garantie dans une certaine mesure. nous Il améliore principalement les capacités sous deux aspects : l'évolutivité élastique des ressources et les capacités de fourniture, d'exploitation et de gestion des ressources.Après le renforcement des capacités d'utilisabilité, nous le divisons en trois étapes pour renforcer l'utilisabilité : l'étape de standardisation, l'étape de processus et l'étape de plate-forme.
Pourquoi devrions-nous construire une normalisation ?
La normalisation peut réduire considérablement la complexité de l'exploitation et de la maintenance des entreprises, réduisant ainsi les coûts d'exploitation et de maintenance. Nous avons réalisé un gros travail de standardisation tant au niveau matériel que logiciel.
Tout d'abord, nous précipiterons les meilleures pratiques et méthodes dans le processus d'exploitation et de maintenance dans les mécanismes et spécifications de processus, afin que La garantie de stabilité de l'entreprise est ordonnée et contrôlable, y compris les réglementations militaires d'exploitation et de maintenance, les mécanismes de réponse aux pannes, les réglementations des affaires publiques, les réglementations de garantie des événements à grande échelle, etc.
Par exemple, lorsque les spécifications de garantie pour les événements à grande échelle ne sont pas établies, il est facile que des pannes en ligne se produisent en cas d'activités opérationnelles à grande échelle ou d'activités de distribution d'enveloppes rouges de la Fête du Printemps. Des événements à grande échelle ont été créés en 2018, la Fête du Printemps et d'autres assurances lourdes peuvent assurer le bon fonctionnement.
En termes de construction de plate-forme et de système, en utilisant CMDB comme base, le meilleur mécanisme de processus habituel est développé en une plate-forme, telle que en tant que plate-forme de modifications, plate-forme de surveillance, plate-forme d'outils de service, etc. pour soutenir la stabilité de l'entreprise.
D'ici 2022, l'exploitation et la maintenance globales de la stabilité de l'entreprise seront ordonnées et efficaces, et la disponibilité de l'entreprise passera des 3 9 précédentes aux 4 9 actuelles, et le nombre de les entreprises qui répondent aux normes augmenteront également de 8 avant à 24 maintenant.
L'obtention de ce résultat de disponibilité passe principalement par le renforcement des capacités de disponibilité et la construction de l'étape de disponibilité :
À l'avenir, nous nous concentrerons sur la garantie de disponibilité des multi-actifs distants et conteneurs/cloud natifs.
Prenons l'exemple de la garantie de disponibilité des conteneurs et du cloud natif. Nous avions l'habitude d'utiliser davantage de machines physiques pures, puis d'ajouter des machines virtuelles, puis d'ajouter des cloud publics, réduisant encore davantage le coût direct. dépendance à l'égard de l'infrastructure sous-jacente. Dans le même temps, nous travaillons également sur les conteneurs et le cloud natif pour unifier les ressources et les planifier de manière flexible afin de réduire la dépendance directe aux ressources matérielles physiques. Par conséquent, nous devons créer des capacités de haute disponibilité pour différentes infrastructures.
Que peut-on faire d'autre avec la création d'utilisabilité ?
Je crois personnellement que l'on considère non seulement la disponibilité, mais aussi la qualité et les coûts d'exploitation de l'entreprise. La garantie d'exploitation et d'entretien de l'entreprise entrera par la suite dans l'étape de garantie d'exploitation affinée.
Q1 : Quelles sont les plus grandes difficultés rencontrées lors de la mise en œuvre de la construction d'utilisabilité ?
A1 : Le premier point concerne les spécifications de construction des capacités techniques sous-jacentes. Le non-respect de ces spécifications entraînera une grande incertitude dans les résultats de la disponibilité commerciale, donc certaines spécifications doivent être formulées pour l'équipe, et il doit également y en avoir. soyez certain Le mécanisme de maintien du bas ;
Le deuxième point est la reconnaissance du niveau supérieur. Chaque entreprise a des exigences différentes à différentes étapes. Si la stabilité n'est pas bien faite, cela affectera l'entreprise, la réputation et les revenus. Après avoir obtenu l'approbation du niveau supérieur, la construction de la convivialité est également plus facile à promouvoir.
Q2 : Lors de la mise en œuvre de CMDB, en plus du responsable du développement, de l'hébergeur et d'autres informations, quelles autres informations votre entreprise a-t-elle associées dans le processus réel ? Par exemple, est-ce lié aux informations sur le middleware ?
A2 : Beaucoup de nos systèmes sont actuellement basés sur CMDB. Non seulement le système d'exploitation et de maintenance, de nombreux systèmes sont construits sur la base de CMDB. Les services middleware seront également construits en association avec CMDB, comme dans les microservices. également basé sur CMDB pour la découverte et la gouvernance des services.
Présentation de l'instructeur
Zhou Jiali est désormais le directeur de l'exploitation et de la maintenance de vivo, responsable de l'exploitation et de la maintenance des activités Internet de vivo. Cette personne qui a travaillé chez Baidu et Tencent possède de l'expérience dans l'exploitation et la maintenance d'entreprises hors ligne telles que les algorithmes client, d'internationalisation et de Big Data. Après avoir rejoint Vivo, j'ai dirigé la construction de la haute disponibilité de l'entreprise et amélioré la disponibilité de l'entreprise jusqu'à un niveau de 99,99 %.
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!