15 min de lecture

Objectifs d'apprentissage

À la fin de ce module, vous serez en mesure de:

  • Sélectionner la classe de calcul, la plateforme de conteneurs, le niveau de stockage, le moteur de base de données et le primitive de réseau appropriés à partir de critères structurés, plutôt que par habitude ou par analogie avec un hyperscaler
  • Interpréter chaque contrainte d'éligibilité stricte comme une condition éliminatoire qui exclut une option autrement raisonnable avant que tout autre critère ne soit pris en compte
  • Appliquer le filtre de souveraineté et de portée d'attestation en dernier, en tant que vérification de conformité ou de non-conformité sur une conception déjà fonctionnellement complète
  • Reconnaitre les deux erreurs de composition qui produisent une conception qui semble correcte sur le papier mais qui échoue en production ou lors d'un audit

Unité 8.1 : Cadres de prise de décision architecturale

Introduction

À ce stade du cours, chaque primitive a été examinée en profondeur. Cette unité ne les réenseigne pas. Il s'agit d'un artefact de référence : un ensemble de matrices de sélection auxquelles vous faites référence lorsqu'une couche FinCorp nécessite une décision et que vous souhaitez obtenir le critère de différenciation, la contrainte stricte pouvant disqualifier un choix de manière définitive, et l'unité qui en déduit le raisonnement, le tout en un seul endroit.

Lisez chaque matrice de la même manière. Les critères de différenciation réduisent le champ des possibles. Les contraintes d'éligibilité strictes sont absolues : une seule contrainte non respectée élimine une option, quelle que soit sa performance sur les autres aspects. La souveraineté et le périmètre d'attestation sont appliqués en dernier, sur l'ensemble de la conception, car la conformité restreint les choix plutôt qu'elle ne les initie. L'unité se conclut sur les deux façons dont une conception techniquement solide peut tout de même échouer : associer des primitives qui ne composent pas, et placer un service fonctionnellement correct en dehors du périmètre d'attestation requis par la charge de travail.

1. Sélection de la classe de calcul

La décision de calcul repose sur une division en quatre axes : l'isolation des cœurs, le contrôle de la famille de CPU, l'attachement du stockage en bloc et le modèle opérationnel. La contrainte qui écarte le plus souvent une option est la contrainte permanente : le modèle d'un Cube est immuable après le provisionnement. Par conséquent, un niveau dont la configuration ou les besoins en mise à l'échelle peuvent évoluer est conçu sur une classe qui peut être reconfigurée. VM Auto Scaling est uniquement horizontal et crée de nouvelles répliques à partir d'un modèle de réplique défini au moment de la conception.

Classe Critère de différenciation Contrainte d'éligibilité stricte Développé dans
Cœur dédié Cœur physique exclusif ; famille de CPU sélectionnable et modifiable Le changement de famille de CPU nécessite un redémarrage, il ne s'agit pas d'une opération en direct Unité 4.1, 4.3
vCPU partagé Coût le plus faible Aucune sélection de famille de CPU ; partage des cœurs physiques, donc aucune garantie d'isolation en cas de concurrence Unité 4.1
Cubes (instances à modèle fixe) Modèle vCPU/RAM/NVMe fixe à un prix fixe Le volume NVMe inclus ne peut pas être détaché ; le modèle lui-même est immuable. Les Cubes peuvent tout de même attacher jusqu'à 23 périphériques Block Storage supplémentaires, il s'agit donc d'un piège de modèle, et non d'une impasse en matière de stockage Unité 4.1
Private Cloud (VMware dédié) SDDC VMware géré en mono-locataire avec licences incluses Provisionnement en libre-service et à la demande, mise à l'échelle verticale par ajout d'hôtes ; minimum trois hôtes par cluster Unité 4.4

Le schéma consiste à associer une classe à chaque niveau : un niveau d'application sans état qui se met à l'échelle horizontalement utilise Cœur dédié, un nœut utilitaire de taille fixe utilise un Cube, et une charge de travail mono-locataire soumise à des réglementations utilise Private Cloud. Ne standardisez pas une seule classe sur tous les niveaux.

2. Sélection de la plateforme de conteneurs

La décision concernant les conteneurs repose sur qui assume le cycle de vie du plan de contrôle et la charge de conformité. Une seule option place cette charge sur IONOS CLOUD.

Plateforme Critère de différenciation Contrainte d'éligibilité stricte Développé dans
Managed Kubernetes Plan de contrôle managé gratuit ; IONOS CLOUD assume le cycle de vie du plan de contrôle ; les pools de nœuds sont facturés en tant que Compute Engine Un Service LoadBalancer n'est pas un équilibreur de charge externe véritable (une IP statique sur un nœud de travail d'entrée, limitée à la bande passante publique de ce nœud) ; un Managed ALB/NLB séparé est provisionné pour une entrée réelle. Pas de mise à l'échelle à zéro ; le plancher de mise à l'échelle automatique est un nœud chaud Unité 6.1, 6.2
Red Hat OpenShift Plateforme OpenShift complète, déployée par le client sur l'infrastructure IONOS CLOUD Ce n'est pas un service managé IONOS CLOUD ; le cycle de vie du cluster est à la charge du client en tant que partenaire Red Hat CCSP. La validation par Red Hat est requise avant la mise en production Unité 6.4
SUSE Rancher Prime Gestion multi-clusters Rancher sur le calcul IONOS CLOUD Livraison auto-gérée ; non gérée par IONOS CLOUD ; SUSE facture les licences (apportez votre propre abonnement) Unité 6.4

Pour le parc de conteneurs de FinCorp, le facteur de différenciation est la charge opérationnelle : Managed Kubernetes est le choix par défaut car IONOS CLOUD possède le plan de contrôle, et les alternatives déployées par le client ne sont choisies que lorsqu'un contrat ou une base de compétences OpenShift ou Rancher existe déjà.

3. Sélection de la couche de stockage

Le stockage est adapté au motif d'accès. La contrainte rigoureuse récurrente est le seuil de performance des SSD et l'asymétrie de zone entre le calcul et le stockage.

Couche Critère de différenciation Contrainte rigoureuse d'éligibilité Déduit dans
Block Storage HDD Coût par Go le plus bas ; attachement à une seule VM Appareil pour une seule VM ; non partagé ; non un mécanisme de sauvegarde Unité 5.1, 4.2
Block Storage SSD Standard / Premium IOPS et débit par Gio supérieurs ; attachement à une seule VM ; jusqu'à 4096 Go par volume SSD Standard en dessous de 100 Go n'atteint pas les performances complètes, il est donc inadapté en tant que volume de base de données de petite taille Unité 5.1, 7.3
NFS (fichier partagé géré) Montage multi-client concurrent dans une région Régional et privé ; non disponible dans tous les emplacements (par exemple DE/FRA/2 et GB/WOR) ; actif-passif au niveau de la couche de service Unité 5.1
Object Storage Cible de masse, d'archivage, de sauvegarde et de stockage d'audit compatible S3 ; verrouillage d'objet pour une rétention infalsifiable Non un système de fichiers ; espace de noms plat avec authentification par clé et secret ; non attachable en bloc Unité 5.2

Notez l'asymétrie de zone en tant que contrainte de placement : Block Storage propose les zones 1, 2, 3 et Auto, tandis que le calcul ne propose que les zones 1, 2 et Auto. Une paire redondante fixée sur « Zone 3 calcul » n'est pas possible car la zone 3 du calcul n'existe pas.

4. Sélection du moteur de base de données

La décision concernant la base de données est d'abord dictée par le modèle de données, puis par le modèle de réplication et de continuité. Aucun moteur relationnel ne propose de répliques en lecture, et le Backup Service ne couvre aucune base de données managée. Par conséquent, la mise à l'échelle en lecture et la continuité sont composées, et non acquises.

Moteur Critère de différenciation Contrainte d'éligibilité stricte Développé dans
Managed PostgreSQL Relationnel ; réplication asynchrone (par défaut) ou strictement synchrone pour le RPO le plus bas La réplication strictement synchrone nécessite deux nœuds opérationnels, avec un minimum de 3 instances recommandé pour la production ; aucune réplique en lecture ; point de terminaison privé uniquement Unité 5.3
Managed MariaDB Relationnel ; profil opérationnel plus simple Réplication asynchrone uniquement (aucune option synchrone) ; point de terminaison privé uniquement Unité 5.3
Managed MongoDB Modèle de documents ; sharding pour la mise à l'échelle horizontale Le sharding est une fonctionnalité de l'édition entreprise ; aucune réplication de flux de modifications managée ; point de terminaison privé uniquement Unité 5.4
In-Memory DB (cache) Couche de lecture en sous-milliseconde ; couche de mise à l'échelle en lecture et d'externalisation des sessions Un cache, et non un système de référence ; point de terminaison privé uniquement Unité 5.5
Managed Kafka Flux d'événements ; substitut au niveau de l'application pour la capture des données modifiées Trois brokers ; l'ordre est garanti par partition uniquement ; ce n'est pas une base de données Unité 5.6

Pour le cœur transactionnel de FinCorp, PostgreSQL avec réplication strictement synchrone répond à l'exigence de RPO faible, la couche In-Memory DB répond à la mise à l'échelle en lecture car les répliques en lecture n'existent pas, et Kafka transporte les événements de modification car aucun flux de modifications de base de données managée n'est disponible.

5. Sélection des primitives de réseau

Chaque primitive de réseau répond à une couche ou à une direction de trafic différente. Les contraintes rigoureuses constituent ici la source la plus fréquente de combinaisons incompatibles (voir la section 7).

Primitive Critère de différenciation Contrainte d'éligibilité rigoureuse Développée dans
Managed ALB Routage de contenu de couche 7 (chemin, hôte, en-tête, méthode, cookie, IP source) avec délestage TLS HTTP/HTTPS uniquement ; aucune liste d'autorisation IP et aucun NSG sur le LB managé, le filtrage doit donc être appliqué sur les cibles Unité 3.3
Managed NLB Passage en transparence TCP de couche 4 ; l'arrière-plan conserve le certificat TCP uniquement ; aucune terminaison TLS ; aucun NSG sur le LB managé Unité 3.4
NAT Gateway Chemin de sortie sortant pour les charges de travail privées SNAT uniquement, aucun DNAT entrant ; nécessite une IP publique réservée Unité 3.6
VPN Gateway Connectivité chiffrée de site à site IKEv2 ou WireGuard uniquement (pas d'IKEv1) ; HA actif-passif partageant une seule IP publique Unité 3.6
Cross-Connect Interconnexion privée à large bande entre VDC Même région et même contrat uniquement ; pas d'interconnexion inter-régions ; un LAN par connexion Unité 3.6
Network Security Group Filtrage par défaut de type tout-refuser avec état au niveau de la carte réseau du serveur Se lie uniquement aux cartes réseau des serveurs ; ne s'applique pas aux nœuds des pools de nœuds Managed Kubernetes ni aux Cubes en pause, et jamais aux Managed ALB/NLB Unité 3.2
Cloud DNS Résolution anycast et gestion des enregistrements à TTL faible Aucune bascule native basée sur des vérifications d'état de santé ; il oriente uniquement les nouvelles connexions, et le TTL minimal de 60 secondes est le levier principal du RTO Unité 3.7

6. Le filtre de souveraineté et d'attestation

Appliquez ce filtre en dernier, sur la conception finalisée. La souveraineté et la conformité ne sont pas à l'origine d'une architecture ; elles restreignent l'ensemble des emplacements qu'une conception déjà correcte est autorisée à utiliser. La souveraineté juridique de l'UE est une propriété de la juridiction de l'opérateur, et non de la région seule : une région de l'UE d'un fournisseur exploité aux États-Unis présente toujours une exposition au CLOUD Act américain, tandis qu'IONOS CLOUD est exploité par un opérateur de l'UE.

Les périmètres d'attestation diffèrent selon le service et ne doivent jamais être généralisés en « la plateforme est certifiée ». Les deux reconnaissances BSI, toutes deux pour des centres de données allemands, couvrent des ensembles de services différents :

Service BSI C5 (attestation de type 1, 2023-11-07) ISO 27001 basé sur IT-Grundschutz (certificat, 2022-09-14)
Compute Engine Dans le périmètre Dans le périmètre
Cloud Cubes Dans le périmètre Hors périmètre
Object Storage Dans le périmètre Dans le périmètre
Sauvegarde Hors périmètre Dans le périmètre
Managed Kubernetes Hors périmètre Dans le périmètre

IONOS CLOUD est le premier fournisseur de cloud allemand à détenir à la fois l'attestation C5 et la certification IT-Grundschutz, mais les deux périmètres ne sont pas interchangeables. C5 est une attestation (Testat), de type 1, et non une certification, et non de type 2. Les accréditations au niveau du centre de données (par exemple ISO 27001 sur un site, PCI-DSS, Uptime Tier IV) sont détenues par l'opérateur du centre de données et varient selon le site ; les listes de certifications de produits dans le marketing ne sont pas contractuelles. NIS2 est une obligation réglementaire, et non une certification détenue.

Pour FinCorp, conformément au RGPD et au BSI, la résidence des données est une décision de placement prise avant que toute charge de travail ne soit déployée : centres de données allemands, opérateur de l'UE, et chaque service dans le périmètre validé par rapport à l'attestation exacte requise par sa classe de données.

Résumé de la décision

Utilisez les matrices ci-dessus comme livrable principal de l'unité. L'ordre de lecture est fixe :

  1. Restreindre par le critère de différenciation du niveau.
  2. Éliminer toute option qui ne satisfait pas à une contrainte d'éligibilité stricte, avant de prendre en compte tout autre élément.
  3. Appliquer le filtre de souveraineté et d'attestation en dernier, sur l'ensemble de la conception.

7. Les deux erreurs de composition

Une conception peut passer toutes les matrices par primitive et échouer néanmoins. Deux erreurs expliquent la quasi-totalité de ces échecs.

Association de primitives incompatibles. Deux choix, chacun correct pris isolément, ne composent pas ensemble. Placer un Network Security Group « devant » un Managed ALB ou NLB n'a aucun effet, car les NSGs sont liés aux cartes réseau des serveurs et jamais au load balancer managé ; le filtrage doit se situer sur les cibles. S'attendre à du trafic entrant via une NAT Gateway échoue, car la NAT est uniquement en SNAT ; la publication entrante relève d'un load balancer ou d'une IP publique réservée. Opter pour un Cross-Connect pour relier deux VDC dans des régions différentes échoue, car le Cross-Connect est limité à la même région et au même contrat. Il s'agit à chaque fois d'une primitive correcte utilisée là où sa contrainte stricte l'interdit.

Un choix fonctionnellement correct hors du périmètre d'attestation requis. Un service peut accomplir parfaitement la tâche et rester néanmoins le mauvais choix pour une charge de travail réglementée, s'il se situe hors de l'attestation que cette charge de travail exige. Exécuter le traitement conteneurisé réglementé de FinCorp sur Managed Kubernetes est fonctionnellement valide, mais Managed Kubernetes ne fait pas partie du périmètre d'attestation C5, de sorte qu'une charge de travail qui exige contractuellement C5 doit être déployée sur un service couvert par C5, tel que Compute Engine. Le choix n'est pas techniquement erroné ; il est erroné au regard du filtre de périmètre, ce qui explique précisément pourquoi ce filtre est appliqué en dernier sur l'ensemble de la conception.

Résumé

Les décisions d'architecture sur IONOS CLOUD se réduisent à une itération reproductible : restreindre par le critère différenciant, éliminer sur les contraintes strictes, et appliquer le périmètre de souveraineté et d'attestation en dernier sur la conception finalisée. Les matrices de cette unité regroupent ces critères et contraintes pour le calcul, les conteneurs, le stockage, les bases de données et le réseau, afin qu'une décision puisse être prise et justifiée en un seul endroit, avec les deux erreurs de composition comme vérification finale.

Points clés :

  • Les contraintes d'éligibilité strictes disqualifient immédiatement : une seule contrainte non respectée élimine une option, indépendamment de ses autres scores.
  • VM Auto Scaling est uniquement horizontal et crée de nouvelles répliques à partir d'un modèle de réplique défini à la conception ; les moteurs relationnels ne disposent pas de répliques en lecture ; le Backup Service ne couvre aucune base de données managée. Ces limites déterminent les niveaux à l'avance.
  • Le filtre de souveraineté et d'attestation est appliqué en dernier, car la conformité restreint une conception déjà complète plutôt qu'elle ne l'initie.
  • Les périmètres C5 et IT-Grundschutz diffèrent selon le service : Cubes est couvert par C5 mais pas par IT-Grundschutz ; Backup et Managed Kubernetes sont couverts par IT-Grundschutz mais pas par C5. Il ne faut jamais généraliser en affirmant que « la plateforme est certifiée ».
  • Les deux erreurs de composition consistent à associer des primitives dont les contraintes interdisent cette association, et à placer un service fonctionnellement correct en dehors du périmètre d'attestation requis par la charge de travail.

Terminologie importante :

  • Contrainte d'éligibilité stricte : un critère d'exclusion absolu (par exemple le modèle immuable d'un Cube, ou l'absence de mise à l'échelle à zéro de Managed Kubernetes) qui élimine une option avant toute prise en compte des critères pondérés.
  • Périmètre d'attestation : l'ensemble exact des services couverts par une accréditation ; sur IONOS CLOUD, C5 et IT-Grundschutz couvrent des services différents, et une affirmation doit toujours être liée au service nommé, à l'emplacement du centre de données allemand, à l'accréditation, à son type et à sa date.

Lecture complémentaire

  • Unité 4.1 Sélection de la classe de calcul, Unité 4.4 Private Cloud (VMware dédié)
  • Unité 6.1 Conception de la plateforme Kubernetes, Unité 6.4 Container Registry et sélection de la plateforme
  • Unité 5.7 Protection des données et cycle de vie
  • Unité 1.4 Souveraineté et conformité en tant qu'entrées de conception
  • Unité 8.2 L'architecture d'entreprise de référence