La résilience désigne la résistance d'un matériau aux chocs ; par métonymie, la capacité d'un corps, d'un organisme, d'une espèce, d'un système à surmonter une altération de son environnement. Avantages : • Augmente la disponibilité • Permet des adaptations à l’environnement Inconvénients : • Augmente la complexité • Requiert des tests de vie
chaos • Ne pas chercher à éviter l’incident • L’incident fait partie du cycle de vie normal de tout système • Abuser des tests de vie • Réduction du couplage applicatif • Penser bétail et pas chaton Construire des applications résilientes en multi-cloud
de déploiement de multiples services de cloud dans une architecture unique et cohérente. => Malheureusement souvent une arlésienne Avantages : • Non lié à un fournisseur • Augmente la flexibilité • Augmente la disponibilité Inconvénients : • Augmente la complexité • Requiert une stratégie spécifique • Requiert l'interopérabilité
• Obligation de convergence • Dépassionner le choix du fournisseur • Réduire les adhérences • Sélectionner les services compatibles • Factoriser au dénominateur commun Construire des applications résilientes en multi-cloud
service ▼ Consul pour gérer les services ▼ Protocole Raft nativement résilient ▼ Interconnexion Consul de chaque datacenter ▼ Tests de vie gérés par Consul
Cluster Nomad pour exécuter les services ▼ Nomad gère les inscriptions dans l’annuaire de service ▼ Nomad utilise le protocole Raft ▼ Déploiement basé sur Docker pour l’immutabilité
Stockage objet non interopérable entre AWS et GCP ▼ Déploiement cluster objet Minio commun multi-cloud ▼ Réplication du stockage multi-cloud ▼ Gestion du stockage via l’exécution Nomad
charge ▼ Load Balancer local Traefik ▼ Traefik lié à Consul et reconfiguré dynamiquement ▼ Tests de vie gérés par Consul ▼ CDN Fastly Multi-cloud ▼ Tests de vie du CDN sur les LB Locaux
pour aller plus loin ... Série multi-cloud : http://blog.wescale.fr/tag/multi-cloud/ Archi démo multi-cloud : https://github.com/bcadiot/multi-cloud @bcadiot Questions ?