Le “AWS re:Invent" est un événement mondial incontournable dans le domaine de l’IT. Malgré le contexte sanitaire mondial, et bien que l'événement ne se déroule pas physiquement cette année à LasVegas, AWS nous propose 3 semaines de conférences virtuelles, du 30 Novembre au 18 Décembre.
Que retenir de cette 1ere semaine ? Comme l’an dernier, une très grande majorité d’annonces dans le domaine du machine learning. Je vous invite à lire les articles de nos collègues de la practice data sur les avancées du service phare d'AWS “SageMaker", notamment dans les outils de préparation des données comme DataWrangler et ML Pipeline. Les autres domaines ne sont pas en reste ! Effectuons notre petit tour d'horizon :
Tout d’abord sur le “compute”, comme chaque année, AWS propose de nouvelles générations de machines. Citons les :
- EC2 G4ad Instances pour les calculs intensifs “GPU”
- EC2 C6gn Instances avec des capacités réseau pouvant atteindre les 100 Gbps et jusqu’à 38 Gbps pour l’écriture sur disque
- EC2 D3/D3en “Dense Storage Instances” avec des capacités de stockage type HDD pour le moins impressionnante.
- EC2 R5b Instances avec des performances multipliées par 3 pour l’écriture sur disque.
Et bien évidemment, l’annonce sur la possibilité de louer des “AWS EC2 Mac Instance”. Le tarif de location restant néanmoins relativement cher par rapport à l’achat d’un mac, ces instances seront utilisées pour construire et tester des packages natifs iOS. Pensez à libérer vos ressources quand vos traitements sont terminés !
Coté “Lambda”, plusieurs annonces “fracassantes” :
Tout d’abord, Le support des conteneurs. C’est vrai que d’écrire du code et de le déployer sans se soucier de l’infrastructure sous-jacente a séduit de nombreux développeurs et a participé au succès immédiat de cette technologie. Mais le packaging des lambdas restait à part. Avec le support des conteneurs, les lambdas pourront être déployées sous forme de conteneurs, uniformisant ainsi les techniques et outils de build dans les chaînes de CI/CD. Précisons également que cette évolution est compatible avec le découpage en “layer” : la transition du packaging “zip” vers “image conteneur” devrait donc se faire sans trop de difficultés. Notons que les capacités mémoire et CPU sont augmentées respectivement à 10 Gb et 6 vCPUs, ce qui devrait largement suffire pour des lambdas ! Gageons que les équipes de dev restent rigoureuses dans leur processus de build.
En second lieu, La facturation des lambdas à la ms : Le mode de facturation précédent était calculé sur le nombre d’invocations et le temps d’exécution par portion de 100 ms. A partir du 1er décembre, la facturation se fait à la ms. Cela devrait lisser les coûts dans la durée. Avec l'apparition du “Provisioned Concurrency”, la problématique du “Cold Start” a été en partie adressée. Avec la facturation à la ms, l’optimisation du code deviendra la prochaine bataille du “finops” qui se cache derrière chaque développeur.
En parlant d’optimisation de code, un nouveau service “AWS Devops Guru” vient compléter le service AWS Code guru pour aider l’ensemble des populations de développeurs et “ops” à anticiper, détecter, et fixer les problèmes avant qu'ils n’arrivent.
Toujours dans le domaine du “devops”, AWS annonce “AWS Proton”, un service qui permettra de définir des “templates” de déploiement pour vos composants d’infrastructure serverless et containers. Ce nouveau service vient compléter l’offre “Automation” déjà disponible dans AWS System Manager.
Le 20 novembre, DockerHub appliquait une nouvelle politique de limitation du “pull” sur les accès non authentifiés. Effet d’annonce ou coïncidence, 10 jours plus tard, AWS sortait le “ECR Public Container Registry” (https://gallery.ecr.aws/) . 2 jours après l’annonce, un millier de repositories étaient déjà créés.
Pour rester dans le thème des containers, plusieurs annonces autour d‘EKS, le service Kubernetes d’AWS. Des annonces qui montrent bien l’évolution de la maturité de ce service.
- une nouvelle console “EKS” qui permet de retrouver les informations d’un dashboard Kube mais avec une intégration native avec vos accès IAM (il faudra faire un peu de mapping avec vos RBAC kubernetes)
- Le support des instances spots dans le provisionning des nodes groups de vos clusters.
- un “built-in log router” pour EKS Fargate pour récupérer automatiquement vos logs dans CloudWatch, ElasticSearch ou S3.
- L’automatisation de la gestion des add-ons de vos clusters avec en premier lieu, le CNI AWS
- Besoin d’un cluster multi-région ? AWS vous propose une archi de référence. Bien évidemment, cette solution a un coût non négligeable et exigera une conception particulière de votre applicatif ainsi que l’utilisation de services comme les “Global Tables” pour dynamoDB ou Route53 pour l’exposition DNS.
- EKS Distro pour vous permettre de déployer votre cluster EKS en dehors des comptes AWS ! Une solution d’hybridation entre vos clusters on prem et cloud AWS ?
Si vous souhaitez rester à jour, pensez également à regarder la roadmap publique des services de gestion de containers AWS:
https://github.com/aws/containers-roadmap/projects/1
Si en plus de tous vos containers, vous avez besoin d’un peu d’orchestration, le service AWS Batch, basé historiquement sur des infrastructures type ECS EC2, alliant simplicité et couts attractifs avec l'usage des Spot Instances, assure désormais un support sur Fargate. Pour les détails, c'est ici.
Si vous n’aimez pas AWS Batch, vous pouvez vous rabattre sur le nouveau service “MWAA”, un Apache Airflow managé par AWS.
Concernant le service historique de stockage objet “S3”, malgré le succès de S3 et la multiplication des “datalakes”, AWS continue toujours d'investir sur ce service et annonce :
- la réplication Multi-Destination Cross Région. Pour les détails c'est ici.
- Le passage du mode “read-after-write consistency" à “Strongly consistency”, sans coûts supplémentaires. Cela signifie désormais que suite à tout type d’opérations PUT/GET/LIST, “ce que vous écrirez correspondra à ce que vous lirez” ! Une avancée majeure notamment pour les datalakes.
Terminons ce tour d'horizon avec ce qui est la stratégie "d'ouverture du système AWS" : l’an passé, AWS annonçait les “AWS Outspots” et les “AWS LocalZone”. De nouvelles zones sont créées (sur le territoire américain pour l'instant). Sur un autre plan, AWS annonce l'arrivée en 2021 d'EKS anywhere permettant d'installer vos clusters EKS sur vos propres infrastructures. Et bien évidemment “ECS anywhere” : une alternative pour ceux qui ont leurs datacenters mais qui veulent profiter de la simplicité de l’offre ECS en comparaison d’EKS.