L’un des grands atouts d’AWSLe Cloud AWS (Amazon WebServices) est une plateforme de services cloud développée par le géant américain Amazon., c’est d’avoir su concevoir des services à la fois puissants, évolutifs et abordables. Avec une part de marché d’environ 34 % (la plus haute dans le secteur), AWS s’est imposé sur tous les continents et propose maintenant plus de 200 services différents, couvrant à peu près tous les cas d’usage possibles : du stockage de fichiers à l’analyse de données massives, en passant par le machine learning, l’IoT, et même le contrôle de satellites !
Quand on arrive sur l’interface AWS, on pourrait vite se noyer parmi la masse de services proposés. Mais rassurez vous : dans 90% des cas, on ne s’occupera que d’une poignée de services essentiels.
Ces quelques briques suffisent à construire la majorité des applications web modernes.
Un des tout premiers service d'AWS, EC2 ,permet de créer des serveurs virtuels en quelques clics.
Avec des centaines de types d'instance différentes, et son catalogue d'images, vous trouverez forcement chaussure à votre pied !
AWS propose également différents modes de facturation (à l’heure, à la seconde, réservé à l’avance, etc.), adaptés à chaque usage et à chaque budget.
Mais EC2, c'est plus que des serveurs. C'est tout un ensemble de services qui permet d'avoir une infrastructure entierement scalable et finement sécurisée.
Vous trouvez qu'un serveur c'est trop old-school, et vous avez besoin d'un conteneur docker ? Ne cherchez plus, voici ECR et ECS !
Pourquoi 2 services différents ? Car il faut bien pouvoir stocker ses images Docker !
ECR, c'est pour Elastic Container Registery : là où vous aller stocker et versionner les images que vous utiliserez sur ECS : Elastic Container Service.
Mais attention, ce n'est pas parce que vous faites de l'ECR que vous n'avez pas besoin d'EC2 ! Eh oui, il faut bien que vos conteneurs tournent sur un serveur.. Heureusement, ECS vous proposes Fargate, une technologie qui permet d'exécuter ses conteneurs en serverless, ce qui vous permet de ne pas avoir à gérer vous mêmes la tailles de vos EC2.
S3, c’est LE service de stockage d’AWS. Qu'on cherche à sauvegarder des images, héberger un site statique ou stocker des backups complets, S3 assure une durabilité proche de la perfection, et une très grande souplesse.
Les fichiers sont accessibles depuis partout dans le monde, ce qui est idéal pour distribuer du contenu ou partager des données entre différents services.
S3 propose également plusieurs classes de stockages, ce qui permettra d'ajuster le prix au plus proches de vos besoins.
Vous avez des fichiers de backups ou d'archives très rarement utilisés ? Préférez une classe de stockage dites "froide" comme Glacier, avec un coût de stockage jusqu'à 20 fois moins cher qu'un S3 classique ! La contrepartie : un prix au transfert beaucoup plus élevé, et un temps de récupération qui peut être très long (jusqu'à plusieurs heures).
Vous avez des utilisateurs sur plusieurs continents, ou simplement une application avec beaucoup de trafic ? CloudFront est le service de CDNRéseau de diffusion de contenu (ou "content delivery network") d’AWS, taillé pour accélérer la distribution de votre contenu n’importe où dans le monde.
CloudFront fonctionne comme un réseau mondial de caches : lorsqu’un utilisateur demande une ressource (image, vidéo, site web…), il l’obtient depuis le point de présence le plus proche, ce qui donne un temps de chargement réduit et une expérience utilisateur optimisée.
Voilà donc un indispensable dès qu’il s’agit de distribuer un site web !
Besoin d'une base de donnée relationnel ? Ne chercher plus, vous avez besoin de RDS !
RDS, c’est un peu le graal pour tous ceux qui ont déjà passé des nuits blanches à débugger un serveur de base de données. Avec Amazon RDS, vous n'avez plus à vous soucier de rien.
Il suffit de choisir son moteur : MySQLMoteur de gestion de base de données., PostgreSQLMoteur de gestion de base de données libre de droit., SQLLangage permettant de communiquer avec une base de données. Server ou même Aurora (la base de données made in d’AWS, optimisée pour le cloud), et de laisser la plateforme gérer tout ce qui tourne autour : sauvegardes automatiques, restauration, haute disponibilité, et même le chiffrement.
Et pour les plus technophile d'entre vous, Aurora propose même une alternative serverless, où vous payez à l'utilisation !
IAM, c’est la couche centrale qui permet de contrôler qui a le droit de faire quoi sur votre compte AWS.
Plutôt que de laisser tous les services et utilisateurs accéder à tout, on segmente. Utilisateurs, rôles, groupes : tout le monde a la permission minimale nécessaire, pas plus. En utilisant le principe du moindre privilège (Least privilege), on s'assure d'avoir le minimum de droit pour chaque utilisateur. Tout passe par la création de rôles, d’utilisateurs et de groupes, auxquels on associe des policies ultra-précises : lecture sur S3 ? Écriture sur DynamoDB ? Exécution sur Lambda uniquement ? C’est vous qui décidez !
Se pencher sérieusement sur IAM dès le départ, c’est s’éviter bien des maux de tête ou des grosses factures non attendu !
Lambda, c’est le couteau suisse du serverless chez AWS. Fini l’infrastructure et les serveurs à surveiller : il suffit d’écrire une fonction, de la déployer, et AWS s’occupe du reste.
Besoin de réagir à un événement sur S3, une requête HTTP ou un message dans une queue ? Une Lambda s’exécute à la demande, en quelques millisecondes, et sans jamais payer pour du temps d’inactivité.
Et la cerise sur le gâteau : la scalabilité automatique. Que votre fonction reçoive 10 ou 10 000 événements à la minute, tout s’ajuste automatiquement.
Côté gestion : versionning du code, logs centralisés sur CloudWatch, intégration avec les secrets et IAM… Lambda se branche à tout l’écosystème AWS.
Maintenant qu'on a une vue d'ensemble de tous les services les plus utiles, parlons de quelques outils qui peuvent vous aider dans vos débuts sur AWS.
Commencent par CloudCraft, un outil qui permet d'imaginer son architecture cloud. Vous pouvez très simplement générer de beau schémas visuels, obtenir rapidement une estimation de coût et même générer des scripts qui permet de donner vies à son schéma sur AWS. C’est le genre d’outil qui apporte de la clarté, là où l’offre AWS peut vite faire peur.
Si vous êtes encore novice en cloud, je vous préviens : l'estimation des coûts est toujours une aventure. Alors afin de rendre ça plus proche de la balade dans un parc qu'au purgatoire, je ne peux que vous conseiller AWS Pricing Calculator. Ce calculateur oublie parfois le bon sens en multipliant les paramètres, mais il a le mérite de couvrir presque tous les services AWS. Sous réserve d’y passer un peu (beaucoup) de temps et de bien comprendre comment chaque service est facturé, vous finirez avec un bonne idée sur les coûts de votre futur infra.
Passer sur AWS, c’est plonger dans un univers extrêmement riche, mais qui reste axé autour de quelques services phares. Le vrai enjeu derrière tout ça, ce n’est pas de tout maîtriser dès le premier jour, mais de bien comprendre les bases, d’identifier les services adaptés à ton besoin, et d’oser tester. On se retrouve vite à voir grand, très grand.
Ces dernières années, l’usage du cloud a connu une croissance exponentielle dans les entreprises. Sans grande surprise, les leaders du marché sont américains, comme c’est souvent le cas en informatique. Parmi les trois plus grands services cloud, on retrouve Amazon Web Services (AWS), Google Cloud Platform (GCP), et bien sûr Microsoft Azure, sur lequel nous allons nous concentrer dans cet article !
Découvrez la planche #11 !
Comment mettre en oeuvre la clause SQL WHERE avec Hibernate 4 ?