Amazon Elastic Compute Cloud ou EC2 est un service proposé par Amazon permettant à des tiers de louer des serveurs sur lesquels exécuter leurs propres applications web. EC2 permet un déploiement extensible des applications en fournissant une interface web par laquelle un client peut créer des machines virtuelles, c'est-à-dire des instances du serveur, sur lesquelles le client peut charger n'importe quel logiciel de son choix. Un client peut créer, lancer, et arrêter des instances de serveurs en fonction de ses besoins, et paye en fonction du temps d'usage des serveurs, d'où le terme d'« Élastique » (Elastic en anglais). Un client peut mettre en place des instances de serveurs isolées physiquement (qui ne s'exécutent pas sur le même serveur physique) les unes des autres, de telle façon qu'en cas de panne, il soit possible de restaurer les instances défaillantes et d'assurer la continuité du service[1].
Amazon fournit EC2 comme l'un de ses services webs commercialisés sous le terme Amazon Web Services (AWS).
Ce service repose sur une infrastructure dite « de nuage » (cloud en anglais) composée de plusieurs dizaines de milliers de serveurs informatiques (estimés à 40 000 en [2] et plus de 1,3 million de serveurs en 2016[3]) répartis sur plusieurs sites dans le monde.
Historique
Amazon a annoncé une version beta limitée de EC2 le [4]. L'accès à EC2 a alors été organisé sur la base du premier arrivé, premier servi.
Amazon a ajouté deux nouveaux types d'instances (Large et Extra-Large) le [5]. Le , deux types supplémentaires ont été ajoutés, High-CPU Medium et High-CPU Extra Large[6]. Il y avait alors 12 types d'instances disponibles.
Amazon a ajouté trois nouvelles fonctionnalités le [7]. Ces fonctionnalités incluent adresses IP statiques, zones de disponibilités, et choix par l'utilisateur du type de noyau.
Amazon a ajouté Elastic Block Store (EBS) le [8]. Ceci permet du stockage permanent, une fonctionnalité basique qui manquait depuis que le système avait été introduit.
Amazon EC2 est considéré comme un produit mature depuis qu'il a quitté le label « beta » le . Le même jour, Amazon a annoncé les fonctionnalités suivantes[9] : un agrément de service pour EC2,
Microsoft Windows en beta sur EC2,
Microsoft SQL Server en beta sur EC2,
des plans pour une console de gestion AWS,
et des plans pour la gestion du balancement de charge, auto-extensibilité, et service de surveillance des « clouds »[9]. Ces fonctionnalités ont été ajoutées le [10].
Machines virtuelles
EC2 utilise la virtualisation Xen. Chaque machine virtuelle, appelée « instance », fonctionne comme un serveur virtuel privé. Amazon définit la taille des instances en se basant sur les « unités de calcul EC2 » - l'équivalent des capacités physiques du processeur. Une unité de calcul EC2 équivaut à 1,0-1,2 GHz Opteron ou Xeon de 2007. EC2 fournit notamment les types d'instances suivantes :
Small Instance
La petite instance (default) correspond à l'équivalent d'un système avec 1,7 GB de mémoire, 1 unité de calcul EC2 (1 cœur virtuel), 160 GB de stockage d'instance, plate-forme 32 bits[11]
Large Instance
La grande instance correspond à l'équivalent d'un système avec 7,5 GB de mémoire, 4 unités de calcul EC2 (2 cœurs virtuels), 850 GB de stockage d'instance, plate-forme 64 bits.
Extra Large Instance
L'instance extra-large correspond à l'équivalent d'un système avec 15 GB de mémoire, 8 unités de calcul EC2 (4 cœurs virtuels), 1690 GB de stockage d'instance, plate-forme 64 bits.
High-CPU Instance
Les instances de cette famille ont proportionnellement plus de ressources processeurs que mémoire (RAM) et visent les applications qui demandent beaucoup de calculs.
High-CPU Medium Instance
Les instances de cette famille ont la configuration suivante:
1,7 GB de mémoire
5 unités de calcul EC2 (2 cœurs virtuels avec 2,5 unités de calcul EC2 chacune)
350 GB de stockage
plate-forme 32 bits
I/O Performance : correcte
High-CPU Extra Large Instance
Les instances de cette famille ont la configuration suivante :
7 GB de mémoire
20 unités de calcul EC2 (8 cœurs virtuels avec 2,5 unités de calcul EC2 chacune)
1690 GB de stockage
plateforme 64 bits
I/O Performance : haute
High-Memory Extra Large
Les instances de cette famille ont la configuration suivante :
17,1 GB de mémoire
6,5 unités de calcul EC2
420 GB de stockage
plateforme 64 bits
I/O Performance : haute
High-Memory Double Extra Large
Les instances de cette famille ont la configuration suivante :
34,2 GB de mémoire
13 unités de calcul EC2
850 GB de stockage
plateforme 64 bits
I/O Performance : haute
High-Memory Quadruple Extra Large
Les instances de cette famille ont la configuration suivante :
68,4 GB de mémoire
26 unités de calcul EC2
1690 GB de stockage
plateforme 64 bits
I/O Performance : haute
Fonctionnalités
Depuis son lancement Amazon Web Services a ajouté de nombreuses fonctionnalités ou services connexes à EC2 :
Elastic Load Balancer
Les ELB permettent de répartir la charge entre les instances EC2
Autoscaling
Permet de gérér automatiquement l'élasticité sur un ou plusieurs groupes d'instances EC2
Cloud Watch
Permet de suivre et monitorer des métriques des instances EC2 pour envoyer des notifications ou prendre des actions
Cloudformation
Permet de définir des ressources et des ordres de démarrage d'instance et de ressources EC2
Virtual Private Cloud
Permet de définir un cloud privé dans le cloud Amazon.