Lancez vous sur Amazon S3 !
Le cloud selon Amazon ou comment mettre en place un espace de stockage évolutif
Le Cloud computing en quelques mots
Le Cloud Computing désigne une offre d’infrastructure à la demande apparue à partir de 2006 afin de répondre à un besoin de scalabilité horizontale, de performances, et de stockage, liés à la croissance massive du traffic Internet et les contraintes induites sur les sites.
Plusieurs grands noms sont à l’initiative de ces services dont Amazon, auquel nous consacrons ce billet. L’étendue des offres de Cloud computing est variable suivant les offres, allant d’un simple stockage de données à l’hébergement d’applications complètes, services de messageries par exemple.
Services Amazon
Amazon ne propose pas moins de cinq types de services. Au coeur de ceux ci se trouve la solution d’hébergement EC2 : Elastic Compute Cloud. Celle ci apporte une réponse à tout ceux qui ont besoin d’une infrastructure souple et facturée au juste prix de son utilisation. Plus récemment, le service SimpleDB vient de voir le jour. Il s’agit d’un système de base de donnée qui permettra de s’affranchir de l’utilisation d’un serveur SQL et de son administration. Enfin, le système de messagerie applicative (Simple Queue Service) permettra de coordonnées les différentes applications d’une infrastructure complexe basé sur les autres services Amazon. Les deux offres qui font l’objet de ce billet sont Simple Storage Service et CloudFront, deux solutions pour stocker et mettre à disposition des fichiers sur le web.
L’offre stockage d’Amazon
L’offre de stockage sur internet se décompose en deux services : le principal, Amazon Simple Storage Service (S3) et un nouveau service complémentaire, Amazon CloudFront.
S3 est une offre d’hébergement accessible par une API web disponible en deux versions : SOAP et une interface REST. De nombreux outils et API sont disponibles, renforcés par une communauté de développeurs particulièrement active et en forte croissance.
Le second, CloudFront, est une offre de CDN (Content Delivery Network) permettant d’associer à un espace de stockage S3 une réplication géographique des données, dans l’objectif d’optimiser les temps de réponses pour chaque client. CloudFront permet ainsi de mettre en place un domaine http://static.example.com pointant vers un espace S3 hébergé aux Etats Unis, que CloudFront va répliquer en fonction de la localisation géographique réelle du client. Amazon propose aujourd’hui un réseau d’une quinziane de salles blanches localisées aux Etats-Unis, en Europe, au Japon et à Hong Kong.
Un essai avec un premier bucket S3
La création d’un compte AWS (Amazon Web Service) est la première étape pour profiter des offres. Cette création vous donnera accès à l’ensemble des services ainsi qu’à la documentation destinée aux développeurs. Lors de cette étape vous allez initialiser vos modalités de paiements et allez obtenir votre jeu de clef public / clef privé qui vous permettra d’utilisez les différents services. Les factures seront directement disponible sur ce compte tout comme toutes les informations dont vous pouvez avoir besoin.
Une fois le compte AWS créé et validé (très rapide voir immédiat), il vous faudra activer le service S3 depuis votre espace personnel. Ensuite, tout est possible. On peut utiliser SOAP bien sûr, mais je ne pense pas que ce soit la priorité pour un essai. Il existe un outil bien plus efficace pour gérer les buckets : S3 Organizer. Il s’agit d’une extension Firefox qui permet d’utiliser son compte S3 comme on le ferait avec un client FTP graphique.
A la racine de votre compte S3, il n’y a rien. Vous allez pouvoir créer des buckets S3, celles ci sont en réalité des dossiers dont le nom est unique au niveau mondial et qui est accessible sous cette forme par la suite : http://monbucket.s3.amazonaws.com. Avec le plugin, ont peut y déposer un fichier example.txt puis y accéder depuis tout navigateur web par http://monbucket.s3.amazonaws.com/example.txt à condition d’avoir activé les droits. Il existe d’autres outils en ligne de commande ou en application de bureau. Après quelques recherche sur la toile on trouve son bonheur. Pour les développeurs, de nombreuses API sont disponibles pour les différents langages. On peut citer notamment une implémentation Java qui est particulièrement efficace : jets3t.
Plus de performance avec CloudFront
Pour configurer CloudFront, il a deux choses à faire : configurer le DNS et enregistrer le nom de domaine auprès de la bucket S3. Pour le nom de domaine, il suffit de créer un CNAME pointant vers la bucket S3 : chez Gandi et OVH c’est particulièrement simple. Enfin, pour enregistrer le nom de domaine on peut utiliser S3 Organizer : un clic droit sur la bucket puis sur “manage distribution”. Il ne reste plus qu’à saisir le nom de domaine. Au bout de quinze minute environ, les paramètres sont pris en compte et tout fonctionne parfaitement. J’ai pu obtenir lors de mes différents tests un temps de réponse moyen de 45ms vers ma bucket hébergée aux Etats-Unis.
Une facturation simplifiée
Amazon S3 est bien sûr avant tout un espace de stockage simple d’accès ne necéssitant pas de maintenance particulière et offrant un espace illimité. Mais si les offres de Cloud computing remportent un tel succès, c’est également parce qu’elle proposent un principe de facturation original, le Pay as you go . Avec Amazon comme pour les autres, l’approche est simple : vous payez ce que vous utilisez, et les coûts de mise en service sont inexistants.
Ensuite, Amazon propose une grille de tarif valorisant le prix de gros. Plus on consomme, plus le TCO (Total Cost of Ownership) est optimal. Ainsi, L’offre démarre à une quinzaine de centimes le gigaoctet de bandes passantes. Le stockage est également facturé : il en coûtera également quelques centimes par mois et par gigaoctet.
Enfin, dernier point à prendre en compte, les espaces de stockage sont localisés. C’est à dire que votre domaine sera nécessairement hébergé soit en Europe soit aux Etats Unis. Le tarif du débit vers vos clients est lui aussi différent selon la région lorsque vous utiliser le service complémentaire CloudFront.
Selon la banque, les paiments internationaux peuvent être majorés. Pour ma part, le règlement est arrondi à l’euro supérieur. La facturation est mensuelle et on ne vous demandera pas de payer d’avance en cas de traffic fluctuant, comme l’éxigent parfois les hébergeurs classiques.
Et pour conclure
Dans un billet précédent, nous vous le disions : le Cloud Computing, c’est simplement l’infrastucture à la demande. Partant de ce constat, on s’aperçoit rapidement que les prestataires de ces services travaillent globalement avec les même offres : hébergement d’applications, stockage de données, services de messageries applicatives, bases de données…
Amazon est aujourd’hui un leader dans le domaine. La qualité de ses services est reconnu : la forte progression de ses chiffres en est le meilleur exemple. Dans de futurs articles, nous aborderons les problématiques de scalabilité ainsi que d’autres offres de cloud computing car Amazon n’est pas seul malgré tout.



