L'architecture à l'échelle, 2e édition

Book description

Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com

Chaque jour, les entreprises luttent pour faire évoluer les applications critiques. À mesure que le volume de trafic et les demandes de données augmentent, ces applications deviennent plus compliquées et plus fragiles, ce qui expose à des risques et compromet la disponibilité. Avec la popularité des logiciels en tant que service, la mise à l'échelle n'a jamais été aussi importante.

Mis à jour avec une attention accrue sur les paradigmes d'architecture modernes tels que les microservices et le cloud computing, ce guide pratique fournit des techniques pour construire des systèmes qui peuvent gérer d'énormes quantités de trafic, de données et de demandes - sans affecter la qualité que tes clients attendent. Les architectes, les gestionnaires et les directeurs des organisations d'ingénierie et d'exploitation apprendront à construire des applications à l'échelle qui fonctionnent de manière plus fluide et plus fiable pour répondre aux besoins des clients.

  • Apprends comment la mise à l'échelle affecte la disponibilité de tes services, pourquoi c'est important et comment l'améliorer.
  • Plonge dans une architecture d'application moderne basée sur les services qui garantit une haute disponibilité et réduit les effets des défaillances de service.
  • Explore le paradigme de l'architecture de services appartenant à une seule équipe (STOSA), un modèle qui permet de faire évoluer l'organisation du développement en même temps que l'application.
  • Comprendre, mesurer et atténuer les risques dans tes systèmes
  • Utiliser l'informatique dématérialisée pour créer des applications hautement évolutives

Table of contents

  1. Avant-propos
    1. Avant-propos de la deuxième édition
    2. Avant-propos de la première édition
  2. Préface
    1. Qui devrait lire ce livre ?
    2. Pourquoi j'ai écrit ce livre
    3. Un mot sur l'échelle aujourd'hui
    4. Nouveautés de la deuxième édition
    5. Utiliser le Cloud
    6. Les services par rapport aux microservices
    7. Expériences numériques modernes pour les clients
    8. Naviguer dans ce livre
      1. Tendanciel 1. La disponibilité : Maintenir la disponibilité dans les applications modernes
      2. Principe 2. Architecture d'application moderne : Utilisation des services
      3. Principe 3. Organisation : Faire évoluer ton organisation pour des applications modernes
      4. Tenet 4. Risque : Gestion des risques pour les applications modernes
      5. Tenet 5. Cloud : Utiliser le Cloud
    9. Ressources en ligne
    10. Conventions utilisées dans ce livre
    11. Apprentissage en ligne O'Reilly
    12. Comment nous contacter
    13. Remerciements
  3. I. Principe 1. La disponibilité : Maintenir la disponibilité dans les applications modernes
  4. 1. Comprendre, mesurer et améliorer ta disponibilité
    1. Disponibilité versus fiabilité
    2. Quelles sont les causes d'une mauvaise disponibilité ?
    3. Mesurer la disponibilité
      1. Les Neufs
      2. Les pannes planifiées restent des pannes
      3. La disponibilité en chiffres
    4. Améliorer ta disponibilité quand elle faiblit
      1. Mesurer et suivre ta disponibilité actuelle
      2. Automatise tes processus manuels
      3. Améliore tes systèmes
      4. Tiens-toi au courant de la disponibilité de tes applications qui évoluent et se développent.
    5. Cinq priorités pour améliorer la disponibilité des applications
      1. Objectif n° 1 : Construire en pensant à l'échec
      2. Objectif n°2 : Toujours penser à la mise à l'échelle
      3. Objectif n° 3 : Atténuer les risques
      4. Objectif n° 4 : surveiller la disponibilité
      5. Objectif n° 5 : Répondre aux problèmes de disponibilité de manière prévisible et définie
    6. Être préparé
  5. 2. Deux erreurs élevées - Avoir de la marge pour se remettre de ses erreurs
    1. Deux erreurs en hauteur
      1. Scénario 1 : Perte d'un noeud
      2. Scénario #2 : Problèmes pendant les mises à niveau
      3. Scénario #3 : Résilience du centre de données
      4. Scénario #4 : Types de défaillances partagées cachées
      5. Scénario #5 : Boucles d'échec
    2. Gérer tes applications
    3. La navette spatiale
  6. II. Principe 2. Architecture d'application moderne : Utilisation des services
  7. 3. Utilisation des services
    1. L'application monolithique par rapport à l'application basée sur les services
      1. L'avantage de la propriété
      2. L'avantage de la mise à l'échelle
    2. Diviser en services
      1. Qu'est-ce qu'un service ?
    3. Diviser en services
      1. Ligne directrice n° 1 : Exigences spécifiques de l'entreprise
      2. Ligne directrice n°2 : Des équipes distinctes et séparables
      3. Ligne directrice n° 3 : Données naturellement séparables
      4. Ligne directrice n° 4 : Capacités/données partagées
      5. Raisons diverses
    4. Aller trop loin
    5. Trouver le bon équilibre
  8. 4. Services et données
    1. Services sans état - Services sans données
    2. Services avec état - Services avec données
    3. Partitionnement des données
    4. Traiter à temps les problèmes de croissance
  9. 5. Faire face aux défaillances des services
    1. Défaillances de services en cascade
    2. Répondre à une panne de service
      1. Réponse prévisible
      2. Réponse compréhensible
      3. Réponse raisonnable
    3. Déterminer les échecs
    4. Action appropriée
      1. Dégradation progressive
      2. Retour progressif
      3. Échec le plus tôt possible
      4. Problèmes causés par les clients
    5. Résumé
  10. III. Principe 3. L'organisation : Adapter ton organisation aux applications modernes
  11. 6. Propriété des services - STOSA
    1. Architecture de service appartenant à une seule équipe
    2. Avantages d'une application et d'une organisation STOSA
    3. Que signifie "posséder" un service ?
    4. Utiliser les équipes et les services de base
    5. Résumé
  12. 7. Niveaux de service
    1. Complexité de l'application
    2. Que sont les niveaux de service ?
      1. Attribution d'étiquettes de niveau de service aux services
    3. Exemple : Boutique en ligne
    4. Utilisation des niveaux de service
      1. Attentes
      2. Réactivité
      3. Dépendances
    5. Résumé
  13. 8. Accords de niveau de service
    1. Que sont les accords de niveau de service ?
    2. Accords de niveau de service externes ou internes
      1. Pourquoi les accords de niveau de service internes sont-ils importants ?
    3. Accords de niveau de service pour le diagnostic des problèmes
    4. Mesures de performance pour les accords de niveau de service
      1. Limiter les accords de niveau de service
      2. SLA du premier centile
      3. Conditionnels de l'ALS
    5. Combien et quels accords de niveau de service internes ?
    6. Pourquoi les accords de niveau de service internes sont-ils importants ?
  14. IV. Principe 4. Risque : Gestion des risques pour les applications modernes
  15. 9. Utiliser la gestion des risques lors de l'élaboration d'une architecture à grande échelle
    1. Identifier les risques
      1. Retire les pires délinquants
      2. Atténuer
      3. Réviser régulièrement
      4. Résumé de la gestion des risques
    2. Probabilité et gravité
      1. La liste des 10 meilleurs : Risques de faible probabilité et de faible gravité
      2. La base de données des commandes : Risque de faible probabilité et de gravité élevée
      3. Polices de caractères personnalisées : Risque élevé, faible gravité
      4. Photos de t-shirt : Probabilité élevée, risque de gravité élevée
    3. La matrice des risques
      1. Portée de la matrice des risques
      2. Création de la matrice des risques
      3. Utiliser la matrice des risques pour la planification
      4. Mise à jour de la matrice des risques
    4. Atténuation des risques
    5. Plans de rétablissement
    6. Plans de reprise après sinistre
    7. Améliorer notre situation en matière de risques
  16. 10. Jours de match
    1. Environnements de préparation et de production
      1. Mise en scène/environnements de test
      2. Environnements de production
    2. Préoccupations concernant les jours de jeu en production
    3. Résumé
  17. 11. Systèmes de construction à risque réduit
    1. Technique n° 1 : introduire la redondance
      1. Interfaces idempotentes
      2. Améliorations de la redondance qui augmentent la complexité
    2. Technique n°2 : Comprendre l'indépendance
    3. Technique n°3 : Gérer la sécurité
    4. Technique n° 4 : Encourage la simplicité
    5. Technique n° 5 : intégrer l'autoréparation
    6. Technique n°6 : Normaliser les processus opérationnels
    7. Résumé
  18. V. Tenet 5. Cloud : Utilisation du Cloud
  19. 12. Pour commencer Architecte à l'échelle avec le Cloud
    1. Six niveaux de maturité en matière de Cloud
      1. Niveau 1 : expérimenter avec le Cloud
      2. Niveau 2 : sécuriser le Cloud
      3. Niveau 3 : utilisation de serveurs et d'applications dans le Cloud.
      4. Niveau 4 : Mise en place de services gérés à valeur ajoutée
      5. Niveau 5 : activation des services propres au Cloud
      6. Niveau 6 : Cloud All In
      7. Niveau de maturité de l'organisation par rapport à celui de l'application
    2. Les erreurs d'adoption du Cloud
      1. Piège n° 1 : ne pas faire confiance à la sécurité du Cloud.
      2. Piège n°2 : effectuer une migration vers le Cloud via le " Lift-and-Shift ".
      3. Piège n°3 : l'attrait du sans serveur - trop se fier à la mode
    3. Quand et comment utiliser plusieurs Clouds
      1. Définir ce que l'on entend par "nuages multiples".
      2. Quel modèle ? Quel Cloud ?
    4. Le Cloud en résumé
  20. 13. Cinq tendances industrielles modifiées par le Cloud
    1. Qu'est-ce qui a changé dans le Cloud ?
      1. Changement #1 : Acceptation des architectures basées sur les microservices
      2. Changement n°2 : des services Cloud plus petits et plus spécialisés.
      3. Changement n° 3 : une plus grande attention portée à l'application
      4. Changement #4 : La micro startup
      5. Changement n° 5 : la sécurité et la conformité sont arrivées à maturité
    2. Le changement continue
  21. 14. Types de SaaS et de location
    1. Comparaison entre l'hébergement géré et les différents types de SaaS
      1. Hébergement géré
      2. SaaS multi-locataires
      3. SaaS à locataire unique
    2. Mélanger différents types de SaaS
    3. Caractéristiques communes du SaaS
    4. SaaS versus hébergement géré
    5. Résumé
  22. 15. Distribuer ton application dans le Cloud AWS
    1. Architecture AWS
      1. Région AWS
      2. Zone de disponibilité AWS
      3. Centre de données
    2. Aperçu de l'architecture
    3. Les zones de disponibilité ne sont pas des centres de données
    4. Maintenir la diversité des lieux pour des raisons de disponibilité
      1. AWS-Mappage des zones de disponibilité dans plusieurs comptes.
    5. Distribuer ta demande
  23. 16. Infrastructure gérée
    1. Structure des services basés sur le Cloud
      1. Ressource brute
      2. Ressource gérée par serveur
      3. Ressource gérée sans serveur
    2. Implications de l'utilisation de ressources gérées par rapport à des ressources non gérées
    3. Résumé
  24. 17. Allocation des ressources du Cloud
    1. Allocation des ressources basée sur l'utilisation
    2. Allocation des ressources à capacité allouée
      1. Modifier les allocations
      2. Allocation automatisée de la capacité des ressources
      3. Problèmes liés à l'attribution automatique
      4. Allocation dynamique, coût dynamique
    3. Avantages et inconvénients de la capacité basée sur l'utilisation par rapport à la capacité allouée
  25. 18. Serverless et les fonctions en tant que service
    1. Exemple d'application #1 : Traitement des événements
    2. Exemple d'application #2 : Backend mobile
    3. Exemple d'application #3 : saisie des données de l'internet des objets.
    4. Avantages et inconvénients de FaaS
    5. La mode du sans serveur et l'avenir du FaaS
  26. 19. Informatique de pointe
    1. L'informatique de pointe aujourd'hui
    2. Pourquoi nous nous en soucions
    3. Qu'est-ce qui devrait se trouver dans la périphérie par rapport au Cloud ?
      1. Comment décidons-nous ? La voiture sans conducteur
    4. La mise à l'échelle de l'Edge n'est pas la même chose que la mise à l'échelle du Cloud.
      1. Critères d'utilisation de l'Edge par rapport au Cloud
    5. Huit clés pour réussir dans l'Edge
      1. #1 : Fais preuve d'intelligence quant à ce qui va sur le bord
      2. #2 : Ne pas ignorer les principes DevOps dans l'Edge
      3. #3 : Clouer une stratégie de déploiement hautement distribué
      4. #4 : Réduire les versions autant que possible
      5. #5 : Réduire les options d'approvisionnement et de configuration par noeud
      6. #6 : La mise à l'échelle est une question de bord, pas seulement une question de Cloud.
      7. #7 : Surveillance et analyse des ongles
      8. #8 : Le bord n'est pas magique
    6. Edge Computing Dans l'ensemble
  27. 20. Impact géographique sur l'utilisation du Cloud
    1. Le Cloud compte partout, mais à des niveaux différents.
    2. La mentalité de remplacement a un impact sur la façon dont tu adoptes le Cloud.
    3. Quel est le Cloud le plus important ?
    4. Les technologies importantes diffèrent
    5. La souveraineté des données est universelle
    6. Mon avis
  28. VI. Conclusion
  29. 21. Tout mettre bout à bout
    1. Tenet #1-Disponibilité
    2. Principe n° 2 - Architecture
    3. Principe n° 3 - Organisation
    4. Principe n° 4 - Risque
    5. Principe n° 5 - Cloud
    6. L'architecture à l'échelle
  30. Index

Product information

  • Title: L'architecture à l'échelle, 2e édition
  • Author(s): Lee Atchison
  • Release date: November 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9798341610606