L'événement
Le 4 avril dernier, les passionnés du cloud AWS se sont retrouvés au Palais de Congrès de Porte Maillot pour assister à la dixième édition de l’AWS Paris Summit.
Amazon Web Services (AWS) était présent pour faire le point sur ses solutions cloud et mettre en avant ses clients et partenaires.
AWS Paris Summit 2023
L'événement
Le 4 avril dernier, les passionnés du cloud AWS se sont retrouvés au Palais de Congrès de Porte Maillot pour assister à la dixième édition de l’AWS Paris Summit.
Amazon Web Services (AWS) était présent pour faire le point sur ses solutions cloud et mettre en avant ses clients et partenaires.
Keynote d'ouverture
Mai-Lan Thomsen Bukovec, AWS Vice Président et Julien Groues, Country Manager AWS France ont ouvert la keynote. Ils ont fait le point sur les investissements faits en France et la volonté de s'étendre en Europe. Ils ont donné des chiffres clés pour comprendre l’importance d’AWS aujourd’hui en France :
- 42% des entreprises françaises s'appuient sur le cloud AWS
- 1000 collaborateurs (première fois que AWS communique sur ce sujet)
6 milliards d’euros investis sur 15 ans (2017-2031).
**Une conférence à retenir: le cas eTF1 (FIFA World Cup 2022) **
Le passage à AWS
À partir de 2019, TF1 a commencé à redessiner son architecture de diffusion numérique et à réécrire des parties importantes du code, telles que l'API back-end ou les applications front-end fonctionnant sur des décodeurs, sur Android ou sur des appareils iOS. Ils ont adopté une architecture de micro-services déployée sur Amazon Elastic Kubernetes Service (EKS), écrite dans le langage de programmation Go pour des performances optimales. Ils ont conçu un ensemble d'API REST et GraphQL pour définir les échanges entre les applications frontales et backend, ainsi qu'une architecture event-driven avec Apache Kafka pour une évolutivité maximale. Ils ont adopté plusieurs CDN (3) plus Amazon CloudFront, pour distribuer de manière fiable les flux vidéo aux appareils clients et pour équilibrer la charge. Derrière chaque brique, il y a une dizaine de micro services qui entrent en jeu. On a aussi le périmètre de la publicité hypercritique pour eux.
Monitoring, surveillance, sécurité et attaque DDoS
Ils ont également conçu des tableaux de bord à l'aide de Datadog et Grafana pour surveiller les indicateurs de performance clés et détecter les anomalies pendant l'événement. Cela a permis de gérer en temps réel les événements à haute criticité ainsi que les incohérences de requêtes qui ont ensuite fait penser à une attaque.
Quand on parle d'un événement à haut débit de trafic comme la coupe du monde, la phase de préparation devient cruciale.
Pour une montée en charge, on parle quand même de dizaines de milliers de requêtes par seconde à un instant t, des scénarios et tout ce qui est processus de crise, processus de gestion durant l'événement, pour être sûr de pouvoir réagir le plus largement possible et monitorer.
Les tests de charges ont été basés sur les services plus critiques niveau trafic et en se basant sur l'hypothèse de 1500000 utilisateurs toutes les 15 minutes (durée d'une session) en passant par un outil, k6, pour scripter et simuler la charge sur l'API. Les 3 backend principaux et objets de ces tests ont été les sessions standard, la publicité (très critique côté requêtes) et la partie vidéo pour laquelle ils ont mis en place une couche de sécurité supplémentaire via des URL tokenerisés.
La stratégie choisie pour la gestion des sessions grâce à ElastiCache (Redis) est particulièrement intéressante. Plutôt que de mettre en place des grands gabarits, ils ont mis en place du cache niveau applicatif pour réduire la sollicitation côté ElastiCache.
Sur DynamoDB ils ont utilisé le mode on-demand pour adapter la charge en fonction du match et ensuite tuner l'Autoscaling (Autoscaler karpenter.sh pour le Cluster EKS et keda.sh pour la partie pods ainsi que du ASG classique pour la gestion des noeuds). Un petit ajustement a été fait aussi par rapport au réseau niveau conntrack.
Cependant, il y a eu des événements à forte criticité qui ont demandé de l'effort supplémentaire pour garantir la continuité de service :
1) les matchs à partir des 8eme de finale, surtout de la France et la finale contre l'Argentine ;
2) l'attaque DDoS.
Au pic, plus de 3,2 millions de connexions simultanées ont généré un débit sortant de 3,6 Tb par seconde à travers les 4 CDN en place.
Les différents dashboard du monitoring en place ont permis de suivre le trafic en temps réels et grâce à des services tels que AWS Shield et AWS WAF, ils ont réussi à atténuer les plusieurs attaques DDoS tout au long de la coupe du monde sans affecter l'expérience des téléspectateurs (2,4 millions d'utilisateurs simultanées sur leur plateforme). Surtout le match de demi-finale France-Maroc a été cible d'une attaque impressionnante, 36 millions de requêtes illégitimes dans un intervalle de 5 minutes.
Une autre session à retenir: monitoring et observabilité EKS
Soit on a un cluster EKS à deux nœuds, soit s'on a un cluster à cents nœuds, le monitoring et la traçabilité des applications vont compléter les trois piliers de l'observabilité: métriques, traces et logs. La traçabilité permet de déterminer aujourd'hui comment fonctionne notre application dans un réseau. Avant, on lançait une application sur une machine et elle tournait. En cas de besoin de plus de puissance, on change le gabarit de l'instance (ex. EC2) et ça marche. Aujourd'hui il y a plein d'informations qui entrent en jeu, il y a des latences, chaque bout de l'application va être va être sous la responsabilité d'une équipe en particulier.
La traçabilité permet d'avoir du coup de la visibilité en détails sur chacun des composants.
Il faut donc pouvoir collecter les métriques, les logs, les traces de tout ça.
Pour pouvoir exploiter chaque composant en profondeur, la solution proposée inclut :
-
Cloudwatch Container insight pour la collecte des métriques du cluster EKS et des logs pour les applications montées sur les pods (aussi utile pour ECS)
-
Amazon Managed Service for Grafana et Amazon Managed Service for Prometheus pour la partie graphique, surveillance et alerting sur les données associées au cluster EKS. Il y a quelques jours on a annoncé du support jusqu'à 500 millions de séries actives.
-
Fluent Bit pour le processus et l'analyse des logs
-
AWS Distro for OpenTelemetry, un projet en cours de finalisation par la CNCF (Cloud Native Computing Foundation) qui permet de centraliser l'ensemble des collecteurs dans une bibliothèque unique et un seul collecteur.
-
AWS Observability Accelerator, outil pour configurer et déployer une solution d'observabilité spécifiquement conçue sur des clusters Amazon Elastic Kubernetes Service (Amazon EKS) pour des charges de travail spécifiques et qui utilise des modules Terraform.
Sources et lab:
https://aws.amazon.com/blogs/aws/how-french-broadcaster-tf1-used-aws-cloud-technology-and-expertise-to-bring-the-fifa-world-cup-to-millions/
https://catalog.workshops.aws/observability/en-US
https://github.com/aws-observability/terraform-aws-observability-accelerator
https://aws-observability.github.io/observability-best-practices/
Des autres petites nouveautés à savoir
-
AWS a inauguré en Février des nouvelles instances EC2 basés sur Graviton 3, en architecture CPU ARM en DDR5, les M7g de 1 à 64 vCPU et de 4 à 256 Go de RAM et les R7g pour les workloads plus exigeants en terme de mémoire. Elles sont du Bare Metal, donc directement attaché au hardware.
-
depuis décembre 2022 Aurora et RedShift sont compatibles via l'intégration zero-ETL.
**Conclusion : **
L’AWS Paris Summit a représenté une excellente opportunité de partage des différents projets montés sur le cloud AWS. EKS et la mise en place d'un système d'alerting, de monitoring, de logs et de traçabilité de plus en plus nécessaires pour satisfaire la complexité applicative ont particulièrement attiré notre attention, avec le cas d'eTF1 qui a réussi à garantir une continuité de service pendant la coupe du monde dans des conditions de charge difficiles grâce à l'efficacité et à la mise en sécurité de son architecture contre des attaques DDoS massives et répétés tout au long de la compétition.
Découvrez les derniers articles d'alter way
- kubevpn
- Kubernetes 1.32
- re:Invent 2024 : AWS mise tout sur l'IA pour son Cloud
- OVHcloud Summit 2024 : L’innovation au cœur d’un cloud souverain et performant
- Big Data & AI Paris 2024 : L'IA au cœur de toutes les transformations.
- Un retour vers l'open-source ? Vos outils DevOps préférés et leurs equivalents open-source.