Tout architect solutions travaillant sur AWS a eu un jour besoin d'expliquer le modèle de responsabilité partagée. Quand cela est nécessaire, nous partageons donc l'image ci-dessous :
Il s'applique à la plupart des services, mais saviez-vous qu'AWS l'a décliné pour plusieurs services ?
Définitions
- IaaS : Infrastructure As A Service
- CaaS : Containers As A Service
- PaaS : Platform As A Service
- FaaS : Functions As A Service
- SaaS : Software As A Service
Responsabilité On-premise, IaaS, PaaS, SaaS
Nous pouvons trouver sur internet de nombreux articles expliquant les modèles de responsabilités dans différents types d'organisation logicielle. Nous trouvons souvent un schéma équivalent à celui-ci.
On peut faire une analogie avec la dégustation d'une pizza :
Modèles de responsabilité sur AWS
Le modèle le plus courant est celui que nous avons vu en introduction. C'est celui pour le IaaS, utilisé par exemple pour illustrer Amazon EC2 ou Amazon VPC.
En parcourant la documentation AWS, les articles de blog et les dépôts github on peut trouver les variations suivantes.
Services containeurisés (Amazon RDS, Amazon EMR ...)
Dans cette rubrique, nous trouvons les services permettant de configurer le comportement des éléments autour des serveurs, tels qu'entre autres le réseau, les firewalls, le chiffrement.
Source : AWS Prescriptive Guidance
Services Serverless (Amazon S3, Amazon DynamoDB ...)
La responsabilité du client s'arrête à ses données et au chiffrement de celles-ci.
Source : AWS Prescriptive Guidance
AWS Lambda
Le modèle de responsabilité de Lambda nous est présenté dans un livre blanc.
Source : Security Overview of AWS Lambda
AWS ECS
2 modèles existent, suivant le fournisseur de puissance de calcul (EC2 vs Fargate)
modèle de responsabilité partagée ECS avec EC2
Source : Security considerations for running containers on Amazon ECS
modèle de responsabilité partagée ECS avec Fargate
Source : Security considerations for running containers on Amazon ECS
AWS EKS
La responsabilité du client est liée à la solution de mise à l'échelle choisie.
Source : Amazon EKS Best Practices Guide for Security
AWS Outposts
La solution étant déployée on-premise, le client devient responsable de la couche physique (électricité, sécurité physique, réseau ...)
Source : Documentation AWS Outposts
Autre Modèle de responsabilités - VMWare
Ce n'est pas un modèle partagé par AWS, mais par VMWare pour la solution VMC. Il est important de le connaitre également, car c'est une solution courante sur AWS.
Conclusion
Ces différents schémas illustrent la répartition des responsabilités, mais aussi le niveau de personnalisation fourni par chaque service. Plus l'on délègue de responsabilité à AWS, plus on doit se plier aux règles et méthodes de ce fournisseur.
Le schéma suivant illustre bien ces possibilités offertes :
Source : Applying the AWS Shared Responsibility Model to your GxP Solution
Il faut donc choisir le modèle qui vous conviendra le mieux, mais aussi qui est à votre portée. Il faut garder en tête la taille et l'expertise de vos équipes pour chacune des cases que vous allez prendre sous votre responsabilité.
En présentant ces schémas et choix à votre direction, vous pourrez montrer que vous maitrisez votre trajectoire sur AWS, et vous pourrez ainsi éviter les sensations de "lock-in" qui sont liées à la méconnaissance des choix effectués.
Sylvain BRUAS
Je suis architecte solution AWS depuis plus de 8 ans. J'interviens dans les grands groupes pour les aider dans leur transformation vers le cloud AWS.
Mes compétences principales sont les fondations AWS, le Dev(SecFin*)Ops et les containers.
AWS Community Builder et AWS Authorized Instructor depuis 2024