L'écosystème AWS est compliqué et très différent des fournisseurs de cloud traditionnels auxquels vous êtes peut-être habitué. Nous expliquerons les différences, à quoi servent leurs différents services et comment ils se comparent à la concurrence.
En quoi Amazon AWS est-il différent des autres fournisseurs de cloud?
Pour le dire simplement, ils ont tout. AWS a tellement de services que nous ne pourrions pas tous les énumérer dans cet article, il y aura donc certainement quelque chose qui conviendra à votre cas d'utilisation.
Vous utiliserez probablement plusieurs services AWS, plutôt que de louer un gros serveur ou deux pour tout exécuter. Il s'agit du changement majeur par rapport aux autres fournisseurs, mais il devrait rendre votre réseau beaucoup plus évolutif et tolérant aux pannes. Les temps de déploiement des nouvelles instances de calcul EC2 sont en minutes, et vous pouvez les créer à partir des instantanés que vous définissez, ce qui rend mise à l'échelle automatique de votre réseau une option viable et recommandée.
AWS est beaucoup plus géré que les autres fournisseurs de cloud et fournit souvent des solutions prédéfinies pour les problèmes de cloud courants, tels que bases de données, réseaux de diffusion de contenu, et espace de rangement. Vous n'aurez pas à passer des heures à configurer ces services ou à mettre en place vos propres solutions. Vous n'êtes pas obligé d'utiliser quoi que ce soit (par exemple, vous pouvez toujours utiliser une instance EC2 pour exécuter votre base de données), mais les solutions préconstruites auront souvent un avantage de prix de toute façon, et avec presque tous les services ayant un niveau gratuit, cela ne pas mal d'essayer des choses.
AWS est également divisé en zones, définies par la région dans laquelle elles se trouvent. Les données transférées entre les régions sont généralement considérées comme des données transférées sur Internet et peuvent coûter plus cher. Les régions ont également des prix différents en fonction de l'infrastructure AWS, de sorte que les données stockées en Australie coûteront plus cher qu'aux États-Unis. Certains services, comme Volumes EBS, sont verrouillés dans la région dans laquelle ils ont été créés, sauf si vous les sauvegardez dans S3 et transférez des régions.
En plus de tout fractionner par région, AWS dispose également de zones de disponibilité dans ces régions, pour des centres de données individuels. Le fait d'avoir deux instances dans des zones de disponibilité différentes n'a pas autant d'importance que les régions, car elles sont connectées avec des liens à faible latence, mais c'est quelque chose que vous devez prendre en compte lors du lancement de nouvelles instances.
Vous devriez probablement vous en tenir à une seule région et zone de disponibilité, sauf si vous avez une bonne raison de ne pas le faire, juste pour éviter d'éventuels maux de tête sur la route.
Comment la tarification AWS fonctionne-t-elle même?
La tarification AWS est extrêmement mesurée et parfois un peu compliquée. Il n'y a pas de tarifs forfaitaires pour les services AWS; AWS répartit la tarification de chaque service en plusieurs catégories différentes. Vous pouvez visiter le / prix page de n'importe quel service AWS pour afficher des informations détaillées sur ce qui vous sera facturé exactement.
Décrivons un exemple de projet de loi. Ici, nous avons une instance t2.small EC2 en cours d'exécution dans la région de la Virginie du Nord. Nous sommes facturés pour chaque heure de fonctionnement, soit 17,11 USD, mais nous sommes également facturés en fonction de l'espace de stockage que nous avons alloué à cette instance, soit 8 USD pour 80 Go.
Nous conservons également un instantané des données sur disque en guise de sauvegarde, ce qui coûte moins cher que le stockage provisionné, mais coûte toujours de l'argent. Nous sommes également facturés pour "Adresse IP élastique non associée à une instance en cours d'exécution", car les adresses IP AWS coûtent de l'argent à conserver si vous ne les utilisez pas, ce que vous risquez de ne pas saisir tant que vous ne l'avez pas trouvée sur la facture. Nous avons également une instance en cours d'exécution dans la région de l'Ohio, qui se trouve dans une catégorie distincte sur la facture et dans la console de gestion EC2.
En plus de tous les différents frais EC2, nous sommes facturés pour le transfert de données sur l'ensemble d'AWS. Il est ventilé par type, mais totalise en bas à 15 Go, ce qui coûte 1,37 USD. Vous serez facturé pour le transfert de données pour la plupart des services, du stockage S3 à EC2, de EC2 à Internet, etc. La principale chose qui est gratuite est le transfert de données de S3 vers CloudFront, le CDN d'Amazon, mais uniquement parce que CloudFront-to- Internet coûte de l'argent et vous seriez facturé deux fois autrement. N'oubliez pas que chaque fois que vous déplacez des données dans AWS ou via AWS, vous êtes facturé.
Combien coûte AWS?
AWS a un prix supérieur à celui d'autres solutions d'hébergement comme Océan numérique, Linode, et OVH. Si vous n'utilisez qu'un seul service AWS, comme EC2, vous feriez peut-être mieux d'utiliser un hôte différent.
Cependant, si vous êtes prêt à payer un supplément pour une configuration facile et une configuration rapide de votre réseau, AWS peut vous faire gagner du temps sur le développement et la configuration des serveurs. Les instances réservées sont également beaucoup moins chères que les instances à la demande et peuvent économiser beaucoup d'argent sur les coûts EC2, bien que vous ne devriez vous engager à une seule que si vous savez combien vous avez besoin.
Vous pouvez utiliser le Calculateur de prix AWS pour savoir combien AWS vous coûtera environ avant d'acheter, et vous pouvez utiliser le Explorateur de coûts pour afficher les prix passés et prévus de vos ressources AWS actuelles. AWS propose également un niveau gratuit très généreux pour la plupart de ses services, vous permettant de prototyper certaines applications sans frais.
EC2 – Serveurs réguliers, beaucoup d'options
D'Amazon Elastic Compute Cloud (EC2) est leur service cloud à usage général, et vous l'utiliserez certainement sous une forme ou une autre si vous utilisez AWS. Un serveur EC2 en cours d'exécution est appelé une instance, et ils sont construits autour de l'évolutivité; vous pouvez lancer automatiquement de nouvelles instances à partir de modèles en quelques minutes et déployer autant de puissance de calcul que vous en aurez besoin.
Vous pouvez lancer de nouvelles instances à partir de la console de gestion EC2, qui affichera tout ce que vous avez en cours d'exécution.
Il y a beaucoup de différents types d'instances EC2, tous optimisés pour différentes choses. Ils auront chacun leur propre identifiant, comme c5.4xlarge
. Vous pouvez installer le système d'exploitation de votre choix, y compris les images préconfigurées avec divers logiciels, ou vous pouvez lancer de nouvelles instances à partir des instantanés que vous définissez.
Contrairement à d'autres hôtes où vous devrez souvent louer des serveurs pendant de longues périodes, vous pouvez déployer des instances EC2 sur place pour répondre à la demande fluctuante. Si votre site Web connaît beaucoup de trafic pendant la journée, mais ralentit la nuit, il n'y a pas beaucoup de raisons de payer pour maintenir votre réseau à sa capacité maximale, et vous pouvez en toute sécurité réduire les choses jusqu'au matin. AWS facilite la réalisation de ce type de mise à l'échelle temporelle avec Mise à l'échelle automatique EC2.
Stockage et hébergement de données
AWS propose trois services de stockage principaux que vous pouvez utiliser. Le plus courant est Stockage de blocs élastiques (EBS), qui est la valeur par défaut utilisée pour les instances EC2. Il s'agit de volumes accessibles uniquement lorsqu'ils sont montés sur une instance EC2. Ils sont destinés à être des disques durs cloud que vous pouvez déplacer entre les instances et enregistrer des instantanés. Le type EBS par défaut est un SSD à usage général, mais il existe différents types de volumes.
Service de stockage simple (S3) est le service d'hébergement de données autonome d'Amazon. S3 stocke les fichiers individuels en tant qu'objets dans une hiérarchie plate et est beaucoup moins cher pour stocker beaucoup de données (plus de 4 fois moins cher qu'EBS). Vous remplissez des seaux de données et vous êtes facturé par Go, avec des niveaux distincts si vous stockez plus de 50 To.
Vous pouvez référencer des fichiers par leur ID pour les récupérer soit dans des volumes EBS, soit sur Internet via la boîte à outils de ligne de commande AWS, et vous êtes facturé par Go pour toutes les données que vous récupérez. Les données que vous ne récupérez pas trop souvent peuvent être déplacées vers Glacier S3, qui facture moins par Go stocké mais coûte plus cher pour la récupération, parfait pour l'archivage.
Système de fichiers élastique (EFS) est quelque part entre les deux. Il s’agit essentiellement d’un NAS cloud évolutif pour vos services AWS; Il a une structure et des répertoires, peut être consulté par plusieurs instances EC2 à la fois, et se développera à mesure que vous ajoutez plus de fichiers. Cependant, c'est bien plus cher que S3 ou EBS, et peut également être plus lent, vous ne devez donc l'utiliser que si votre application en a vraiment besoin.
Équilibreurs de charge
Équilibreurs de charge sont des points d'entrée pour votre réseau qui peuvent équilibrer le trafic entre plusieurs instances ou conteneurs EC2. Ils sont assez simples à configurer, mais feront partie intégrante de toute configuration réseau qui doit utiliser plusieurs serveurs.
La tarification des équilibreurs de charge est peu compliqué, mais vous serez facturé toutes les heures pour la ressource la plus utilisée, à partir des nouvelles connexions, des connexions actives, des Go traités ou des évaluations de règles. Si votre équilibreur de charge a traité beaucoup de données pour seulement quelques connexions, vous serez facturé en fonction de cela.
RDS – Service de base de données hébergée d'Amazon
D'Amazon Service de base de données relationnelle (RDS) facilite la configuration d'un serveur de base de données. Tout est entièrement géré, vous n'aurez donc pas à vous soucier des problèmes techniques liés à la configuration d'un serveur DB. Les bases de données RDS sont faciles à mettre à l'échelle et prennent en charge lire les répliques et les équilibreurs de charge.
RDS prend en charge plusieurs types de bases de données différents, y compris MySQL et PostgreSQL, mais peut-être plus intéressant est Aurore, La propre base de données d'Amazon qui est compatible MySQL et PostgreSQL tout en étant cinq fois plus rapide et beaucoup moins cher.
Quel que soit votre choix, vous paierez par Go pour stockage de base de données et par Go pour transfert de données. Si vous n'utilisez pas Aurora, vous devrez également payer pour le calcul pour exécuter le serveur de base de données, ce qui vous sera facturé par heure pour. C'est le principal avantage d'Aurora; comme tout est géré par Amazon, vous n'avez pas besoin d'un serveur dédié et le coût est maintenu à un faible niveau.
Sinon, vous pouvez toujours exécuter votre propre serveur avec une instance EC2, mais vous paierez tout autant pour le stockage EBS.
Lambda et Elastic Beanstalk – Applications sans serveurs
Lambda et Elastic Beanstalk sont différentes façons d'exécuter des applications sans gérer de serveurs. Pour Haricot élastique, l'idée est que vous pouvez télécharger votre code et laisser le service gérer automatiquement l'allocation des ressources AWS, afin que vous n'ayez pas à passer du temps en tant qu'administrateur système pour que votre code soit opérationnel. Cela peut être très utile pour les petites applications et vous aurez toujours un contrôle total sur toutes les instances créées par le service si vous devez configurer manuellement les éléments ultérieurement. Elastic Beanstalk est gratuit à utiliser par lui-même, mais vous devrez payer pour tout ce qu'il alloue.
Lambda est un peu différent et vous permet d'exécuter du code dans l'écosystème AWS sans serveurs. Vous créez une fonction Lambda, choisissez un environnement d'exécution comme Node 8.10 ou Python 3.7, et votre code s'exécutera lorsque cette fonction sera déclenchée, manuellement ou automatiquement. Vous pouvez configurer des déclencheurs pour exécuter votre code lorsque des données sont placées dans un compartiment S3 ou lorsqu'elles sont déclenchées à partir d'autres services AWS. Tu es facturé en fonction de combien de mémoire vous utilisez et combien de temps vous l'utilisez.
Cloudfront – CDN d'Amazon
Cloudfront est le réseau de diffusion de contenu (CDN) d'Amazon, utilisé pour alimenter Prime Video et Hulu. Si vous avez besoin de fournir beaucoup de contenu statique à un grand nombre de personnes, un CDN vous aidera à soulager le stress lié à la configuration de plusieurs instances de serveurs Web avec des équilibreurs de charge. Cloudfront met en cache votre contenu dans plusieurs centres de données à travers le monde et le livre à un prix beaucoup moins cher qu'EC2.
Cloudfront fonctionne comme le point d'entrée pour les applications Web à grande échelle et est également optimisé pour le contenu dynamique, prenant en charge à la fois le WebSockets protocole et requêtes HTTP POST traditionnelles. Vous pouvez également exécuter du code Lambda sur les mêmes serveurs que Cloudfront, appelé Lambda @ Edge. Étant donné que vous êtes beaucoup plus proche de vos utilisateurs, vous pouvez effectuer des opérations avec une latence beaucoup plus faible.
Le prix est assez simple; vous êtes facturé en fonction de la quantité de données envoyées sur le réseau et du nombre de demandes individuelles effectuées. Une chose importante à noter cependant est que les données transférées de S3 vers CloudFront (et vers Internet) sont gratuites. Vous ne payez que pour CloudFront, qui est moins cher que S3 par Go.