uvres de peu connues du Chaos, à la fin où le bien?

Ali soeur REVIEW: Chaos travaux sont une des disciplines technologiques émergentes, la connaissance de l'industrie et la pratique de l'accumulation est relativement faible, la plupart équipe pour le comprendre n'a pas augmenté au concept d'un champ. fournisseur d'électricité Ali dans la région de 2010 a commencé à essayer de travailler de test d'injection de fautes, l'espoir de résoudre le problème dépend de la force de l'architecture micro-services apporte. Dans cet article, vous apprendrez: Pourquoi projet Chaos, Ali Baba et la pratique de la pensée dans le domaine, les plans pour l'avenir.

Tout d'abord, pourquoi le projet ont besoin du chaos?

(Traduit de Chaos Ingénierie livre électronique)

La différence entre 1,1 et chaos test de défaut d'ingénierie

disciplines de l'ingénierie du Chaos est mené des expériences sur un système distribué, le but est de renforcer la capacité du système contre les conditions de l'environnement de production d'emballement et la confiance, a d'abord été proposé par Netflix et de l'équipe associée.

Alibaba échec de forage de produits dans le domaine chaotique de l'ingénierie, le but est précipité mode de défaillance commun pour la lecture en ligne sur les coûts contrôlables afin de revenir à l'exercice durable et les moyens d'exposer les problèmes opérationnels qui sont le système d'entraînement, des outils, des processus, la capacité du personnel de continuer d'avancer.

ingénierie du chaos, l'injection de fautes et de test de défaut a un chevauchement important dans la mise au point et des outils.

La principale différence entre l'ingénierie du chaos et d'autres méthodes que le génie du chaos est la pratique de générer de nouvelles informations, et l'injection de fautes est une méthode pour tester une situation particulière. Lorsque vous voulez explorer le mauvais comportement des systèmes complexes qui peuvent survenir, les retards de la circulation et des erreurs telles que l'échec est un excellent moyen d'injecter. Mais nous voulons aussi explorer, comme pics de trafic, la concurrence intense, l'échec byzantin, les messages non planifiés et inhabituels ou une combinaison. Si un site Web face à la consommation augmentation soudaine du trafic en raison de plus de revenus, on peut difficilement appeler une erreur ou à l'échec, mais notre impact est toujours très intéressé par l'exploration du système. De même, l'absence de tester certains cas, endommager le système prévu, mais n'a pas exploré scène étrange plus susceptible de se produire, alors les choses imprévisibles peuvent se produire.

Il peut y avoir une différence significative entre les tests et l'expérimentation. Dans le test, assert: Étant donné une condition particulière, le système émettra une sortie spécifique. Test est généralement état binaire, et déterminer la propriété est vrai ou faux. A proprement parler, cela ne produit pas de nouvelles connaissances sur le système, juste attribue à la puissance de ses propriétés connues. Des expériences pour générer de nouvelles connaissances, et proposent souvent de nouvelles façons d'explorer. Nous croyons que le projet est une forme expérimentale de chaos, peut générer de nouvelles connaissances sur le système. Il est non seulement une méthode de test connue de la propriété, le test peut être vérifiée par une intégration plus facile.

Exemple d'entrée Chaos expérience:

  • Simulé centre de données de défaut ou de la région.
  • Supprimer section sur des exemples de divers thèmes Kafka.
  • Recréer des problèmes de production.
  • Injection pour une période comprise entre le pourcentage spécifique du retard d'accès au service de la transaction prévue.
  • Sur la base de la fonction de chaos (exécution d'injection): aléatoire, suite à un fonctionnement anormal.
  • Insérer le code: instructions d'ajouter et d'injection de défaut avant de permettre certaines instructions du programme cible.
  • Voyage dans le temps: pour forcer l'horloge système est pas synchronisé avec l'autre.
  • Routine exécutée dans l'erreur du code du pilote E / S analogiques.
  • ElasticSearch Maximize noyau CPU dans le cluster.

Chaos expériences d'ingénierie chance est illimitée et peut varier en fonction de la valeur de la structure commerciale de base et de l'organisation des systèmes distribués.

1.2 condition préalable à la mise en uvre du projet Chaos

Pour déterminer si le projet est prêt à commencer chaotique, le besoin de répondre à une question: si votre système est capable de s'adapter à des événements réels, comme les pannes de service et pic de latence du réseau?

Si la réponse est « non », alors vous avez encore du travail à faire.

projet Chaos est bien adapté pour exposer les faiblesses du système de production dans l'inconnu, mais si elle est déterminée systèmes chaotiques expériences d'ingénierie peut causer des problèmes graves, puis exécutez l'expérience n'a pas de sens. Pour remédier à cette faiblesse, puis revenir à des uvres de chaos, il trouvera d'autres faiblesses que vous ne comprenez pas, ou il vous permettra de trouver que votre système est vraiment flexible. Un autre élément essentiel du chaos qui peut être utilisé pour le système de suivi du projet afin de déterminer l'état actuel du système.

1.3 Principes d'ingénierie du Chaos

Afin de répondre spécifiquement le système distribué à l'échelle de l'incertitude, le chaos peut être considéré comme un projet de test afin de révéler les faiblesses du système effectué. Plus la destruction constante de la difficulté, plus notre confiance dans le comportement du système. Si vous trouvez une faiblesse, nous avons un des objectifs d'amélioration. Éviter le problème après que le système est amplifié à l'échelle. Les principes suivants décrivent la façon idéale d'utiliser le chaos du projet, la mise en uvre de ces principes à l'expérience. Le degré de correspondance de ces principes peut améliorer notre confiance en grande échelle des systèmes distribués.

En second lieu, Ali Baba pratique dans le domaine de l'ingénierie chaotique: exercices d'échecs

travaux du Chaos sont une des disciplines technologiques émergentes, la connaissance de l'industrie et la pratique de l'accumulation est relativement faible, la plupart équipe pour le comprendre n'a pas augmenté au concept d'un champ. fournisseur d'électricité Ali dans la région de 2010 a commencé à essayer de faute travail de test d'injection, l'objectif est de commencer à résoudre le problème de l'architecture micro-services dépendent de la force apporte. Plus tard, après plusieurs étapes d'amélioration, a fini par devenir MonkeyKing (défaillance ligne plate-forme de forage). De la voie de développement de vue, l'évolution technologique et Netflix évolution technologique Ali est essentiellement la naissance de chaque phase du programme avec un calendrier a son propre contexte historique unique et des difficultés opérationnelles, vous pouvez aussi voir les limites des percées de temps et de la technologie .

2.1 La mise en place d'une hypothèse sur le comportement à l'état stable

La pratique actuelle dans le cadre d'Alibaba biaisé à un test de défaut, à savoir les modes de réalisation test d'injection de défauts et vérifier prévu satisfait dans un scénario spécifique. Ce test est un risque relativement contrôlable, l'inconvénient est pas par des expériences d'injection de faute pour explorer plus de la scène, ce qui expose les problèmes potentiels, les résultats des tests sont plus dépendants de la mise en uvre de l'expérience humaine. Le test de courant de défaut devrait comparer la polarisation, ou trop préoccupé par les détails internes du système, que ce soit pour la performance du système n'a pas attendre à des différences dans le comportement et l'état d'équilibre du chaos définition du projet est relativement importante.

Les causes racine des différences ou différentes formes d'organisation. 2014, l'équipe Netflix a créé un nouveau rôle, appelé Ingénieur Chaos (Chaos Enigneer), et a commencé à promouvoir la communauté des ingénieurs. Et Ali ne dispose actuellement pas d'emploi spécifique à mettre en uvre le projet de chaos, les différents objectifs du projet, les scénarios d'affaires, la structure du personnel, des modes de réalisation de la définition a conduit à un comportement de l'état d'équilibre n'est pas standard.

2.2 événements réels diversifiés

Ali Baba, car un large éventail de scénarios d'affaires, l'échelle du nud de service et l'architecture du système très complexe, rencontrera une variété d'échec chaque jour. Ces messages d'erreur sont les variables les plus techniques du chaos réel. Pour être en mesure de détecter plus efficacement corps décrire le problème, nous préférons analysé P1 et P2 échec (P Ali décrivent le niveau de défaut), de faire des scénarios de défaillance génériques et attirés par un angle couche IaaS, PaaS couche, la couche SaaS portrait d'une faute.

Du point de vue de l'exhaustivité de l'échec de vue, les problèmes mentionnés ci-dessus ne peut être qu'un portrait rude est apparu au nom d'une partie des nouveaux problèmes peuvent surgir à l'avenir est aussi un besoin pour un moyen de maintenir la compatibilité. Après une analyse plus approfondie, nous avons défini un portrait de défaut d'une autre dimension:

  • Tout manquement, il doit être matériel tel que la couche IaaS, comme une panne de logiciel ou de PaaS SaaS. Et il y a le phénomène d'une loi, défaillance matérielle, sera reflétée dans le mauvais fonctionnement du logiciel.
  • Le défaut doit appartenir à l'un des systèmes autonomes ou distribués, faute distribuée comprend un défaut unique.
  • Pour autonome ou l'échec du même modèle, dans la perspective d'une défaillance du système peut être un défaut dans le processus en cours, tels que: tels que FullGC, monter en flèche CPU, l'échec en dehors du processus, d'autres processus tels que la mémoire soudainement saisi, conduisant à des anomalies du système en cours .
  • En même temps, il peut y avoir une erreur, une erreur humaine ou conduisent à des procédures abusives, nous ne nous concentrons pas sur cette partie aujourd'hui.

Du point de mise en uvre de l'injection de faute, nous avons également conçu référence au portrait. Avant de passer pour simuler un défaut dans le processus et en dehors du processus par la technologie Java byte code et les outils de niveau du système d'exploitation. Avec Serverless, Docker et d'autres nouvelle architecture, les nouvelles technologies, l'incapacité d'entreprendre le mécanisme de mise en uvre et le transporteur aura également quelques nouveaux changements.

2.3 expériences menées dans un environnement de production

D'un point fonctionnel du point de vue de test de défaut, l'environnement non-production pour mettre en uvre l'injection de défaut devrait se réunir, de sorte que le premier test de force dépend de l'achèvement de l'environnement quotidien. Cependant, parce que le système se comporte différemment selon les modèles d'environnement et de la circulation afin d'assurer l'authenticité de la mise en uvre du système et la pertinence du déploiement actuel du système, le mode recommandé ou dans l'environnement de production (environnement de simulation, l'environnement de bac à sable est pas le meilleur choix).

Beaucoup d'étudiants ont peur des expériences ont été réalisées dans un environnement de production en raison de la peur de l'échec ou incontrôlable. Une expérience est seulement un moyen pour renforcer la confiance grâce à des expériences du système est notre objectif. Expérience sur la façon de réduire l'impact causé par ce point dans la section « minimiser le rayon de l'explosion » sera expliqué.

2,4 expérience de fonctionnement continu automatisé

2014, en fonction de la force de la ligne est le réglage par défaut des cas de test exécutés automatiquement après chaque sortie. En 2015, il a commencé à essayer d'automatiser la ligne de régression. Mais le développement de ces deux dernières années, la proportion d'expériences manuelles augmente progressivement. La raison est pas compliqué, si l'injection de faute automatisée, la vérification des coûts des entreprises sont encore relativement élevés. Dans le cadre du développement rapide de l'entreprise, le personnel change dans l'environnement rapidement, le maintien d'un ensemble de cas d'utilisation relativement complète paire de lignes de régression est une chose très difficile à voir. Bien qu'il y ait eu la technologie d'enregistrement du trafic, mais en raison de l'expérience de l'ingénierie du chaos lui-même va briser le comportement actuel du rapport système, entrée et débit de sortie en fonction du niveau de référence a diminué de beaucoup.

Pour résoudre le problème du coût du test, au début de 2017 a commencé à promouvoir la construction de l'environnement micro gris en ligne. Basé sur le trafic de filtre, dans lequel le rapport du débit pour remplacer le trafic d'essai d'origine avec le trafic réel, plutôt que par le suivi des résultats des tests et des données d'alarme. Il existe déjà une partie des affaires en fonction des modes de défaillance micro gradation + perceuse ne exercice de validation (par exemple: cartouche forage Ma DR APOS).

Du fait que le foret jusqu'à ce que le défaut est incorporé normale et à haute actionnement de l'ensemble comme un processus technique, de sorte que le produit de la construction du système et l'agencement de l'analyse automatisée est pas élevé. capacités de visualisation et d'orchestration walkthrough de notre équipe ouvrira ses portes l'accent sur l'avenir, dans la section de planification seront expliqués ci-dessous.

2,5 minimiser rayon de souffle

Testé dans la production peut entraîner des plaintes des clients inutiles, mais la responsabilité et l'obligation de veiller à ce que ces ingénieurs chaotiques et réduire au minimum l'impact ultérieur est pris en compte. Pour des protocoles de discussion complets et objectifs sont les moyens les plus importants de réduire l'influence de l'utilisateur. Toutefois, dans une perspective de mise en uvre pratique, le meilleur par des moyens techniques pour limiter les effets. La différence principale Chaos d'ingénierie et de test d'injection faute est: Est-il possible de réduire encore l'impact de l'échec, comme le micro-niveau de service, le niveau de demande et même au niveau de l'utilisateur. Dans l'évolution de MonkeyKing mi-temps, nous avons été en mesure d'atteindre le niveau d'injection de faute de service de micro-demandé. Bien que l'emplacement principal à ce moment-exercices effectués dans un environnement de test, mais l'intention est de réduire les problèmes environnementaux dus à l'instabilité causée par l'injection d'une faute. En plus de l'injection de défaut, le routage du trafic et de la technologie d'isolation de données est un moyen efficace de réduire l'impact des entreprises.

Troisièmement, les plans futurs

développement de forage de ligne de faille aujourd'hui est la troisième année, avec Ali environnement de production en toute sécurité, les exigences du changement côté commercial, le mode de développement itératif, et nous augmentons l'acceptation du projet et le degré de conscience du chaos. groupe de champs de forage se déplace vers une future force plusieurs objectifs:

  • Création d'un pool d'experts hautement disponible, afin d'améliorer la structure de la tolérance aux pannes d'application (résolution de problèmes « Définitions état stable »)
  • injection de défaut pour atteindre les normes de construction, open source au sein du groupe, afin d'améliorer l'ampleur et la profondeur de la simulation de défaut (pour élargir l'ampleur des « événements du monde réel diversifié » de)
  • Échelle couvrant l'activité principale (pour augmenter la taille « pour lancer dans une expérience de l'environnement de production »)
  • Produit, plate-forme ouverte pensée la capacité d'exercice (exploration approche « test automatisé »)

En quatrième lieu, à la portée de l'ingénierie du chaos

MonkeyKing a fourni des produits commerciaux, s'il vous plaît la recherche « AHAS » Ali nuage dans le site officiel, une version bêta gratuite. Adresse: https: //www.aliyun.com/product/ahas

références:

Chaos Engineering (O'Reilly Publishing)

variété novembre de nouvelles voitures de lignes lourdes sur le marché, et donc veulent acheter une voiture changement s'il vous plaît! (Basse)
Précédent
Ce marché de football d'été le plus grand acheteur de naissance? interdiction de transfert ont un indice, les géants Premiership ou produits thésauriser fous
Prochain
Confondre! Cavaliers espèrent que le vieil homme est parti, mais remarques James Wong fans des Lakers heureux!
corde tressées, l'apprentissage comique, les étudiants de calligraphie aiment les classes de garde d'enfants d'été avec succès amis d'achèvement
Hengda approcher la vérité derrière le sommet de la Super League! Cannavaro devrait être plus personne reconnaissant en temps opportun
Ainsi, des systèmes de véhicules intelligents, les prix des voitures sont autonomes, comment faire?
Mourinho Manchester United gagnant inversion nouveau réglage! 4 minutes pour résoudre les combats, un dos de geste aux fans de la Juve
« La famine » avec la version Steam de TGP TGP et d'analyser quelles sont les différences ne sont pas la même version de Steam
Jusqu'à ce que finalement vous! Ali contribution officielle à la source Apache Flink Blink
En particulier pour les jeunes d'ouvrir la voiture! Essai de la voiture DX3 t-EV400 au sud-est
L'émotion et la consternation! Chaleur colossale parle chevalier: James Wong du côté de savoir comment chérir et d'efforts!
Prendre moins de 8 millions de salaire annuel pour aller en Europe! Après Witsel a rejoint Dott, coup AFC supposé droit à la santé?
10 Chinois prix des voitures indépendants, ventes de voitures neuves en stock! Certains Réenregistrer une cible annuelle à venir ......
C Lo 33 ans l'équipe de Manchester United doit apprendre ce trait! Mike Mussina devra suivre l'esprit de son Manchester United