Comprendre l’offre Amazon Web Services en 20 min !

Voilà un webcast qui a pour objectif de vous aider à comprendre l’offre d’Amazon avec ses AWS (Amazon Web Services) et d’en avoir une vision globale. Les AWS proposent un gamme de services riches en fonctionalités, autant au niveau de l’infrastructure (EC2, S3, MapReduce, SimpleDB, SQS, CloudFront) qu’au niveau de besoins sortant de ce scope et plus spécifiques pour certains métiers (FPS, DevPay, Mechanical Turk, AWIS, Alexa Top Sites, FWS), comme la vente en ligne par exemple.

Le Cloud Computing vu par Amazon est promis à un bel avenir. Il s’inscrit en effet dans la démarche en vogue de restructuration des infrastructures et de réduction des coûts. Il rejoint de plus le modèle économique SaaS par ce que l’on pourrait appeler le modèle HaaS (Hardware as a Service). Ce modèle économique s’inscrit dans l’évolution naturelle des architectures vers les SOA (Services Oriented Architecture) et répond aux besoins des consommateurs.

Logo AWS

 

Vous pouvez également accéder aux versions IPhone et IPod de ce webcast :

Version IPhone
Version IPod

Quelques précisions concernant des questions qui m’ont été posées :

Le SLA
Chaque service a son propre SLA qu’il faut bien lire, par exemple pour EC2 le SLA est de 99,95% par région sur une année glissante. Ce que Amazon entend par service inaccessible est que vos instances n’ont plus d’accès externe pendant une période de 5 min et que vous êtes incapables d’en relancer. Cela doit se produire sur plus d’une zone d’accessibilté (donc au moins 2) dans laquelle vous avez des instances. Cela veut donc dire que Amazon part déjà du principe que vous avez redondé votre infrastructure sur 2 zones afin de faire de la haute disponibilité.
Il faut donc bien lire et comprendre les termes du SLA par rapport à l’infrastructure Amazon.
Dans la pratique, je travaille sur une infrastructure non redondée exclusivement sur une zone d’accessibilité et sur 8 mois d’utilisation, je n’ai rencontré un problème d’accessibilité de quelques minutes qu’une seule fois. Je n’ai rien à redire sur le service.

La durabilité d’EBS, EBS/S3 et la fiabilité en général
La durabilité des EBS est assurée par réplication réseau dans une zone d’accessibilité donnée (cela ne sert donc à rien de monter plusieurs EBS dans une zone donnée et de dupliquer les données ;ob Amazon le fait déjà !). Selon Amazon, cela donne une fiabilité de 10 fois supérieure à celle d’un disque standard dans un data center. Il est vrai que je n’ai pas rencontré de problème sur 8 mois d’utilisation avec un parc d’environ 25 EBS.

Par rapport à S3, la différence est que S3 accroit la durabilité, donc faire un backup de vos EBS par snapshot ou bien en effectuant un dump des données est une très bonne pratique de backup. Aucun problème rencontré avec S3 à ce jour pour ma part. Deux différences entre EBS et S3 : la portée, régionale pour S3 et dans la zone d’accessibilité pour l’EBS, et la capacité en I/O optimisée pour l’EBS. Chaque outil de stockage a son rôle !

Sur une quarantaine d’EC2, j’ai perdu 3 instances en 8 mois. Mais comme aucune donnée sensible n’est stockée dessus et que l’infrastructure est automatisée (Cf. Puppet et Capistrano : la clé de l’automatisation), l’intégration d’une nouvelle instance, entre la survenue du problème, la détection, la réparation et la reconfiguration des outils de monitoring/backup, n’a pas excédé une heure. La remise en ligne, elle-même, d’une nouvelle instance (réparation) n’a pris que 10 min !

Pour plus d’info, n’hésitez pas à consulter les article précédents sur le sujet et notamment Conception d’une infrastructure sur AWS : best practices !.

MapReduce… QUID ?
Qu’est ce donc ? Je compare ça à un ETL puisque le but de la manipulation est de partir d’une source de données, un fichier de logs par exemple, d’extraire les éléments que nous souhaitons traiter (fonction de mapping) et de les transformer (fonction de réduction) avant de les remettre à diposition sous forme d’un fichier et de les charger sur S3. Ce qu’il faut, c’est écrire ces fonctions de map et de reduce à appliquer sur vos fichiers pour obtenir ce que vous voulez en sortie (des statistiques par exemple). Pour plus d’infos, MapReduce

Comment calculer l’utilisation de son application avec DevPay ?
C’est Amazon qui s’occupe de calculer l’utilisation, vous avez juste à définir le coût fixe (one-shot ou mensuel) et le coût variable lié à l’utilisation (trafic, …). Et bien sûr mettre à disposition votre application ou votre AMI ! ;ob

Mechanical Turk, comment ça marche ?
Pour ça je vous invite à regarder le site d’Amazon, rubrique Mechanical Turk, qui explique très bien le concept. Mais dans les grandes lignes des personnes souhaitant effectuer ces tâches (tagging d’images, reconnaissance video, transcription de podcast, traduction, enquêtes d’opinion, dédoublonage catalogue produits online, …) se connectent sur le site d’Amazon, sélectionnent et effectuent les tâches que vous avez proposées via l’API web service d’Amazon intégrée dans votre application. L’intégration de la réponse peut être automatique, ou soumise à validation. La validation peut être effectuée sur plusieurs résultats identiques pour une même tâche distribuée à plusieurs personnes et le paiement découle de votre acceptation ou non du travail résultant en fonction de sa qualité. La personne ayant effectué le travail voit donc ses statistiques d’acceptation de travail évoluer et donc obtient un indicateur de compétences.

Frédéric FAURE

6 commentaires pour Comprendre l’offre Amazon Web Services en 20 min !

  • [...] Venez sur Decrypt pour Comprendre l’offre Amazon Web Services en 20 min !  [...]

  • Petite précision et non des moindres pour MapReduce : l’intérêt est de pouvoir traiter de gros volumes de données en un temps record en exécutant les tâches en parallèle en les répartissant sur différents nodes d’un cluster de machines. D’où l’intérêt de l’intégration à Amazon pour pouvoir lever des ressources à la volée uniquement durant le temps du traitement ! Il suffit de préciser le nombre et le type d’instances EC2 à utiliser pour le traitement et Amazon se charge du reste.

  • Petite précision 2 : le plan de reprise d’activité c’est le PRA, pas le PLA ;ob (Cf. webcast).

  • cpierres

    Bonjour, Très heureux de constater que cet excellent topo sur l’offre cloud d’amazon vient d’un collaborateur d’Ysance ! Laurent Letourmy est un ami et tu lui passeras le bonjour (de Nouvelle-Calédonie ; je travaille pour le gouvernement d’ici).
    Petite question : lorsqu’un éditeur (par exemple Oracle) met à disposition des AMI avec weblogic, son offre SOA etc… il semble qu’on doive payer les licences d’une manière classique… Malheureusement, le concept de payer à l’utilisation ne fonctionne que pour la fourniture de l’infrastructure dans ce cas… Je vais essayer d’avoir plus d’infos avec qq d’Oracle. Le lien http://www.oracle.com/corporate/pricing/cloud-licensing.pdf semble le confirmer. Voir aussi ce lien : http://www.oracle.com/technology/tech/cloud/index.html
    Félicitations pour la qualité de ton travail.
    Christophe,

  • Merci à vous. Je lui passerai le message.

    Pour répondre à votre question, il y a effectivement plusieurs modes de paiement concernant les produits (infrastructure/OS et logiciels) sous licences payantes :
    - un surcoût sur le prix horaire, comme pour les AMIs Microsoft (OS) ou bien des AMIs de « développement » (démonstrations, tests, développement dans certains cadres, …) IBM (logiciels, see IBM and AWS ou bien Amazon Elastic Compute Cloud (EC2) Running IBM),
    - ou bien l’utilisation de licences que l’on possède déjà (ou que l’on achète pour l’occasion ;ob) à insérer au démarrage de l’AMI comme pour RedHat (OS, see Red Hat and JBoss on Amazon EC2), Oracle (logiciels), IBM (logiciels), …

    Pour les couches logicielles (Oracle et IBM par exemple) le coût de la licence est à calculer en fonction du nombre de virtual cores des machines démarrées, comme cela est effectivement expliqué dans les liens que vous avez donnés. Il faut dans ce cas de logiciels sous licence payante regarder au cas par cas avec l’éditeur et effectuer les règles de calcul fournies pour déterminer le coût.

    Le concept de payer à l’utilisation fonctionne pour ces-dits logiciels payants dans certains cas comme IBM (et peut-être pour d’autres, mais je n’ai pas étudié tous les cas ;ob), sous certaines conditions d’utilisation (rester dans le cadre du « développement » – consulter la sémantique IBM – pour IBM).

  • Salut Christophe,

    comme tu vois, toujours à la pointe ! :-)

    Bien à toi et merci pour tes encouragements.

    Laurent.

Répondre

 

 

 

Vous pouvez utiliser ces balises HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>