AWS re:Invent 2023 - Résumé des 2 premiers jours

Ça y est, le AWS re:Invent, la grande messe AWS de 2023 tant attendue, est lancée 😁 ! En 2022, Ippon Technologies avait envoyé 14 consultants à Las Vegas. Cette année, nous aurons moins de consultants sur place mais nous sommes malgré tout plusieurs à suivre les annonces à distance via les livestreams ou les nouveaux articles de blog AWS publiés durant toute la semaine. A chaque jour sa keynote avec un VIP AWS et son lot d’annonces sur des nouveautés, que ce soit sur de nouveaux services ou des services existants.

Je vais vous partager quelques nouveautés qui ont attiré mon attention dans les récents articles de blog AWS et également au cours des 2 premières keynotes présentées par Peter DeSantis, senior vice president of AWS Utility Computing puis par Adam Selipsky, CEO of AWS.

Base de données

Quelques nouveautés :

  • A l’instar de OpenSearch Serverless annoncé au re:Invent 2022, AWS annonce cette année l’arrivée d’ElastiCache Serverless pour Redis et Memcached. La différence avec OpenSearch est que cette nouveauté n’est pas en preview, elle est déjà Generally Available (GA) dans toutes les régions AWS. Super nouvelle pour les équipes en manque de main d’oeuvre Cloud & DevOps, cela signifie moins de maintenance opérationnelle 👍.
  • Arrivée en preview de Aurora Limitless Database, une nouveauté du service AWS RDS qui permet d’augmenter le débit d’écriture des bases Aurora. Toute l’architecture de cette nouvelle fonctionnalité est encapsulée dans un DB shard group qui est exposé via un nouveau endpoint (à l’instar des read replicas Aurora). Ce groupe contient un ensemble de shards qui sont en fait des instances de la BDD Aurora PostgreSQL. Chaque shard stocke un sous-ensemble des données. Ce sharding permet d’avoir plus d’écritures en parallèle et donc d’augmenter le débit d’écriture. Cette fonctionnalité pourra vous être utile si vous êtes en recherche de plus de performances sur de gros volumes d’écriture tout en évitant la complexité de gestion du sharding au niveau applicatif 🚀.
  • Une intégration zero-ETL avec OpenSearch pour DynamoDB est disponible. On peut désormais, via OpenSearch ingestion, synchroniser nos données de DynamoDB vers OpenSearch pour utiliser les fonctionnalités de recherche d’OpenSearch (recherches de type full-text mais aussi fuzzy, auto-complete ou encore vector).
  • Plusieurs autres intégration zero-ETL ont été annoncées pour Redshift avec Aurora PostgreSQL, RDS MySQL ainsi que de DynamoDB. Cela facilitera l’analyse de ses données avec la puissance de Redshift sans qu'il soit nécessaire de construire et de maintenir des pipelines compliqués entre Redshift et les différentes sources de données.

Messaging

2 nouvelles fonctionnalités pour le service SQS et plus particulièrement les queues First-In, First-Out (FIFO) :

  • Une augmentation significative du débit maximal : on passe désormais à 70 000 transactions par seconde (TPS) contre 300 TPS au lancement de queues FIFO en 2016. Avec du batching, on peut donc monter à 700 000 messages par seconde.
  • L’ajout du support de Dead Letter Queue (DLQ) pour les messages qui ne sont pas consommés après un certain nombre de retry.

Stockage

Côté Elastic Block Store (EBS), les snapshots vont enfin être disponibles dans le service Backup qui a été créé pour unifier l’ensemble des backups des différents services AWS.

Sur Elastic File System (EFS), deux nouveautés viennent d’arriver :

  • Replication failback : on peut désormais répliquer un filesystem EFS sur la même région ou dans une autre région pour tester des workflows de Disaster Recovery (DR).
  • Augmentation des IOPS : 50 000 IOPS en écriture (amélioration de x2) et 250 000 IOPS en lecture (amélioration de x4.5).

Une nouvelle classe de stockage arrive sur S3 : S3 Express One Zone ! Il a été annoncé que cette classe est 10 fois plus rapide que la classe S3 standard. Les objets sont stockés dans une seule Availability Zone (AZ),  ce qui permet de co-localiser le stockage et le compute pour avoir de faibles latences. Cette nouvelle classe peut être très intéressante pour traiter de grosses quantités de données pour faire de l’IA ou du traitement de média par exemple. A noter que comme la donnée est stockée sur une seule AZ, en cas de panne partielle ou globale sur l’AZ, vous pourrez perdre vos données.

Compute

Lambda passe désormais à l’échelle 12 fois plus rapidement quand on parle d’invocation synchrone. Chaque invocation de lambda scale désormais par 1000 exécutions concurrentes toutes les 10 secondes (jusqu'à atteindre le plafond d'exécution concurrente du compte AWS). Une autre chose importante est que toutes les fonctions passent à l’échelle indépendamment les unes des autres (contrairement au comportement précédemment), quelle que soit la manière dont les fonctions sont invoquées.

Adam Selipsky a annoncé l’arrivée de la 4ème génération de processeurs Graviton. Comparé à Graviton 3, les puces Graviton 4 sont annoncés 30% plus rapide pour des applications web, 40% plus rapide pour les BDD et 45% plus rapide pour de larges applications Java. Cette nouvelle génération est annoncée en preview seulement pour les instances R8g. Il faudra suivre de près ces nouveaux processeurs quand ils passeront GA sur plus de types d’instances pour profiter de plus de performances et une meilleure efficacité énergétique 🌿.

Generative AI

Adam Selipsky a fait plusieurs annonces autour du service Bedrock :

  • Après la preview annoncée en juillet 2023, les agents sont désormais GA dans les régions US East (N. Virginia) et US West (Oregon). Il faudra encore attendre un peu pour avoir les agents en Europe. Derrière les rideaux, les agents utilisent la capacité de raisonnement des Foundation Models (FM), permettent l’automatisation du prompt et l’orchestration des tâches demandées par les utilisateurs. Il est maintenant possible de suivre le raisonnement utilisé lors de l’exécution du plan via les traces. On peut également accéder et modifier le prompt créé par l’agent pour améliorer l’expérience de l’utilisateur final.
  • Les Knowledge Bases sont également GA. Les knowledge bases permettent de connecter des Foundation Models (FM) avec des données spécifiques à son entreprise et ceci grâce aux agents dont on parlait précédemment. Pour réussir cela, les agents utilisent un concept appelé Retrieval Augmented Generation (RAG). Le RAG permet aux FM d'accéder à des données qu'ils n'ont pas vues pendant leur entraînement. Ce concept permet d’enrichir les FM d'informations supplémentaires, y compris de données spécifiques à son entreprise, sans avoir à réentraîner continuellement un modèle.  Le RAG est 100% managé par AWS, il vous suffit de fournir un bucket S3 et une base vectorielle pour le mettre en place (0 ligne de code in fine).
  • On peut désormais créer des custom models avec ses propres données via du fine tuning ou du continued pre-training. Le fine tuning permet d’améliorer les performances d’un modèle sur de tâches spécifiques à partir d’un dataset d'entraînement. Le continued pre-training permet d'entraîner un modèle existant avec de la nouvelle donnée qui n’était pas présente dans le modèle de base.
  • Guardrails est disponible en preview et permet de protéger des applications de GenAI avec ses propres policies AI. Guardrails nous permet de créer des mesures de protection pour offrir aux utilisateurs une expérience plus pertinente, plus sûre et également conforme aux politiques d’une entreprise. On peut aussi définir des sujets refusés ou encore des filtres pour supprimer le contenu indésirable et nuisible. Cela fournit un niveau de contrôle supplémentaire en plus des protections intégrées dans les FM.

En sus, un tout nouveau service débarque chez AWS : Amazon Q. C’est un assistant GenAI qui est intégré dans tout l’écosystème AWS :

  • On le retrouvera notamment dans la console AWS. Il a une capacité conversationnelle en mode Question/Réponse pour que les utilisateurs puissent apprendre des choses sur AWS. Il pourra nous aider plus spécifiquement dans la console de certains services : EC2 pour choisir le bon type d’instance, Lambda/DynamoDB pour résoudre des problèmes et encore VPC pour analyser des soucis de connectivités via VPC Reachability Analyzer. J’ai plutôt hâte de commencer à l’utiliser 🙂.
  • Il pourra également s’intégrer avec des IDE et s’intégrer en tandem avec CodeWhisperer.
  • Il devrait pouvoir nous aider à moderniser des applications Java et accélérer grandement le processus d’upgrade de Java.
  • Q propose d’analyser les données business d’un client pour s'entraîner et peut ensuite répondre à des questions propres au business du client.
  • Dans les fonctionnalités à venir, Q devrait bientôt pouvoir prendre en charge une migration de Windows à Linux.

Pour le moment, le service Q est en preview, il n’est donc pas payant. Quand il passera GA, il y aura 2 offres : Amazon Q Business à $20/mois/utilisateur et Amazon Q Builder à $25/mois/utilisateur. Les détaisl sur les prix arriveront prochainement (se référer à la documentation).

AWS a également annoncé AWS Trainium 2 permettant d’améliorer les performances par 4 pour entraîner des modèles de machine learning.

Ces annonces sur l’IA ont également été accompagnées d’annonces de développement de partenariats importants dans ce domaine, en particulier:

  • L'extension du partenariat avec NVIDIA avec qui les équipes d’AWS font un gros travail d’optimisation hardware et sur l’intégration de nouveaux GPU d’NVIDIA (H200) afin de fournir la meilleure infrastructure possible pour l’IA.
  • L'extension du partenariat avec Anthropic avec l’annonce du support de la version 2.1 de Claude, startup fondée par d’anciens d’OpenIA.

Securité

Il y a eu quelques annonces en amont du re:Invent autour du principe de moindre privilège sur des services AWS existants :

  • Les aficionados de IAM Roles for Service Accounts (IRSA) dans Elastic Kubernetes Service (EKS) attendaient depuis un bon moment une simplification de la gestion des trust policies dans les roles IAM assumés par des pods Kubernetes. Le principal pods.eks.amazonaws.com peut désormais remplacer les OpenID Connect providers qu’on renseignait auparavant dans les trust policies pour faire de l’IRSA (voir cet article de blog qui explique le fonctionnement de IRSA). Dans un contexte multi-clusters EKS et multi-comptes AWS, IRSA devenait rapidement complexe à maintenir notamment à cause de multiples providers OpenID Connect et des trust policies des roles IAM trop verbeuses. C’est un bon pas en avant pour améliorer cela 🔥.  
  • De la gouvernance dans S3 avec Access Grants. On va pouvoir limiter les accès en associant des identités à des sous-ensembles de données dans S3. Ces identités pourront provenir du service IAM ou bien d’annuaires externes comme Okta ou encore Microsoft Entra (ex Microsoft Azure AD).

Autres

  • AWS Backup écope d’une nouvelle fonctionnalité qui est très intéressante et qui va nous permettre de tester et valider la restauration de sauvegardes pour de nombreux services comme EBS, EC2, RDS, S3 ou encore DynamoDB.
  • Une nouvelle fonctionnalité dans le service AWS Billing devrait nous aider dans le cadre de notre travail FinOps : Cost Optimization Hub. Le but de cette fonctionnalité est d'agréger un ensemble de données de coûts du service Billing dans une organisation AWS (dans une logique multi-régions/multi-comptes donc). Ce hub permet, entre autres, d’identifier les ressources non utilisées, de nous proposer des redimensionnements de workloads, de passer à des instances de nouvelles générations ou encore de mettre en place des Saving Plans ou des Reserved instances.

Pour compléter, n’hésitez pas à écouter les 2 Podcasts AWS en Français qui font les récapitulatifs des 2 premiers jours du AWS re:Invent 2023 : 1er jour et 2nd jour. Ces podcasts ont été enregistrés par Sébastien Stormacq, AWS Principal Advocate Developer. L’un de nos consultants Ippon sur place à Las Vegas, Sébastien Napoléon, a d’ailleurs participé au 2ème podcast.

D’ailleurs, Sébastien Napoléon fera une conférence au re:Invent cette année qui s’appelle “Unleash the hidden potential of event driven architecture”. N’hésitez pas à aller la voir si vous êtes sur place à Las Vegas. Merci à lui également pour les photos prises pendant la keynote d’Adam Selipsky.