Journal Amazon EC2

Posté par .
Tags : aucun
1
3
jan.
2008
Bon, c'est pas vraiment nouveau mais en ce qui me concerne j'ai commence a utilise ça récemment et c'est absolument génial.

Pour ceux qui ne connaissent pas: c'est une solution d'hébergement ou un paye pour les machines a la minutes. Ça coute 10c la minute, donc ça revient a 70$ par mois; très compétitif pour un hébergement pro incluant la location de la machine. Ce qui est génial c'est qu'on peut lancer de nouvelles machines a la demande, en quelques minutes par une ligne de commande.

Donc si jamais le service commence a patauger, hop ! 10 web servers de plus.
Si la charge tombe, hop ! On supprime 10 serveurs. Et on paye que pour ce qu'on utilise.

Le "piège", c'est que quand une machine reboot, toutes les données sont perdues, et on revient a l'image initiale. Donc c'est parfait pour les serveurs web (qui doivent bien sur être stateless, et ne pas stocker d'infos de sessions localement) ou pour les BD en lecture seule qui se synchronisent sur un master, pour les serveurs de bases de données il faut ruser: par exemple faire un back-up sur S3 toutes les 10 minutes.

Un autre truc... Je suis aux US donc ça va, mais sinon je crois que les serveurs EC2 sont tous aux US. Si la plupart des visiteurs sont en Europe ce serait mieux d'avoir des serveurs en Europe; Amazon Europe (basé a Londres) propose déjà S3, logiquement ils devraient aussi proposer EC2 bientôt ?

Y a-t-il des utilisateurs de EC2 ici ?
  • # présent !

    Posté par (page perso) . Évalué à 1.

    Salut,

    ouaip, utilisateur fan : j'ai déjà un AS et tout (en France) et EC2 nous sert pour de la diffusion de flux live en flash : on a des machines qui font le forward d'un flux émis depuis le serveur vidéo.

    Très pratique en effet pour avoir 20 machines prêtes à diffuser des flux vidéos.

    Par contre pas fait pour avoir des machines 24/7 ou des flux importants 24/7 : trop cher ...
    • [^] # Re: présent !

      Posté par . Évalué à 1.

      C'est la bande passante qui est chere ? C'est cher par rapport a quoi ?

      La ou je bosse on a principalement 2 hebergeurs:
      * Un a $600 par mois par machine, avec un support béton
      * Un a $150 par mois par machine avec un support assez basique

      Les deux sont bien plus chers que EC2...
      • [^] # Re: présent !

        Posté par . Évalué à 1.

        Et pourquoi pas des machines genre dedibox ou ovh ? Dans la catégorie support basique ca me parait beaucoup moins cher ...

        De plus les offres ovh sont très complètes ( dédiée, 100mbit, peu de pbm ... ).

        Exemple un serveur avec 650go de disque pour env 50 euros par mois, tu en prend deux qui se rsync, ça fait qd même un bon prix et avec une redondance ...
        • [^] # Re: présent !

          Posté par . Évalué à 1.

          Mais t'as pas compris... Le serveur dédié c'est complètement has been....

          Pour être un homme, il faut virtualiser, car c'est magique, ca marche super, c'est secure, c'est la belle vie quoi !.

          Maintenant, pour avoir mis en prod de la virtualisation (Xen ou VMWare, même combat), on rigole vachement moins... Problèmes de gestion de ressource (tiens, mais pourquoi ma VM n'a soudainement plus de RAM ? Pourquoi MySQL consomme 100% de CPU à.... rien alors que sur le dédié avant la migration ca marchait nikel ? ), problèmes de paramétrages (surtout sous VMWare, 10 000 options, non documenté, ni connu du support ), optimisation nécessaire des OS de VM, etc. Sans compter les derniers exploits, ou comment rootkiter un serveur sans possibilité de détection (voir l'un des derniers MISC pour les exemples)

          Alors que 2 bons serveurs, avec un peu de DRBD pour du failover (ou rsync) et du NFS bien paramétré et surtout très bien documenté, avec un petit HeartBeat/LVS devant -> linuxha.org quoi...

          Non décidément, je préfère attendre.... et rester has been avec toi :)
          • [^] # Re: présent !

            Posté par . Évalué à 1.

            > Mais t'as pas compris... Le serveur dédié c'est complètement has been....

            Qui dit ça ?
            Il a juste été dit que le prix des solutions qui utilisent la virtualisation est avantageux vu les prestations et que ça présente plus de souplesse (ce qui peut être très discutable au cas par cas).

            > Maintenant, pour avoir mis en prod de la virtualisation (Xen ou VMWare, même combat)

            Ben avec amazon EC2, tu ne mets pas en prod la virtualisation, c'est amazon qui s'en occupe. Toi tu utilises des machines "virtuelles".

            > Pourquoi MySQL consomme 100% de CPU
            > Sans compter les derniers exploits

            Si tu veux du bétonné, tu peux prendre du RHEL qui a du support pour EC2 (avec le catalogue des plus de 2000 applis de RHEL certifié pour EC2, etc). Oui, il faut payer (autour de 20 $ / mois je crois).


            Il est un peu stupide d'opposer virtualisation et serveur dédié. Je voulais un serveur dédié (c'est un petit site, assez peu de donné, mais j'ai besoin de beaucoup de souplesse entre autre dans ce que j'installe et configure).
            Si t'es un adèpte des serveurs dédiés, tu seras quasiment dans ton jardin avec la virtualisation (et vice versa). La virtualisation de amazon EC2 doit être vue comme des serveurs dédiés (tu as ton cpu, ta mémoire, tes disques, ton OS, tes applis, etc) mais en host invité.

            Le point faible de la virtualisation, c'est que tu dépends de celui qui l'a met en oeuvre. Si les serveurs amazon plantent, t'es dans la merde.

            Il ne faut d'autant plus ne pas opposer les deux, que tu as été séduit par la virtualisation :-)
            Mais t'as été déçu.

            > je préfère attendre....

            Notes bien que amazon EC2 et RHEL pour EC2 sont actuellement en "limited public beta".

            > je préfère attendre.... et rester has been avec toi :)

            Tu n'es pas un has been.
            Éclate toi avec des serveurs dédiés.
            Ça marche ? Tu obtiens ce que tu espères ? Le client est content ? Si c'est le cas, il n'y a rien à redire.
            • [^] # Re: présent !

              Posté par . Évalué à 1.

              Mon propos était volontairement cinique, car on parle beaucoup aujourd'hui, de la virtualisation, et un peu trop comme étant la solution "magique" (cf toute la litérature sur Internet et autre presse spécialisée 2006/2007).

              Encore une fois, sur le papier, c'est vraiment bien. Le VMotion de VMWare est un produitfantastique (migration de VM sans reboot/arrêt de service, volontaire ou en cas du panne du serveur physique, avec répartition en fonction de la charge du reste de ta ferme de serveurst).

              Maintenant, pour avoir éprouvé en production, que ce soit de la création de service directement sur une plateforme virtuelle, ou de la migration, il y a énormément de problèmes qui seront sans aucun doute réglé dans un futur proche.

              EC2 est une très bonne idée, qui constitue peut être l'avenir de l'hébergement de services mais je préfère attendre.

              -> Je suis donc tout à fait d'accord avec tes propos :)
              • [^] # Re: présent !

                Posté par . Évalué à 1.

                > cf toute la litérature sur Internet et autre presse spécialisée 2006/2007

                Je comprend que le buzz t'ait tapé sur le sysème :-)
                Moi c'est le buzz autour de KDE 4 qui m'a tapé sur les nerfs :-)

                > Encore une fois, sur le papier, c'est vraiment bien.

                Mais ici on parle d'un truc concrêt, utilisé. Ce n'est pas du vaporware ou autre, ce n'est pas que sur le papier.

                > Le VMotion de VMWare est un produitfantastique (migration de VM sans reboot/arrêt de service, volontaire ou en cas du panne du serveur physique, avec répartition en fonction de la charge du reste de ta ferme de serveurst).

                Juste car on est sur linuxfr, je signale que Linux le fait aussi (probable que VMWare a deux ou trois trucs de plus).

                > Maintenant, pour avoir éprouvé en production, que ce soit de la création de service directement sur une plateforme virtuelle, ou de la migration, il y a énormément de problèmes qui seront sans aucun doute réglé dans un futur proche.

                Red Hat a fait une offre début 2007 seulement ! Ce n'est pas pour dire que Red Hat est génial, mais seulement qu'il propose une technologie que lorsqu'elle est prête pour la production. Et notons bien que Red Hat est un contributeur majeur à la virtualisation de Linux. Son expertise peut difficilement être remise en cause.
                Red Hat a aussi sorti RHEL 5.1 vers novembre 2007 qui est une mise à jour (avec ajout de grosse fonctionnalité) majeur de la virtualisation de RHEL 5.

                Tout ceci est donc très récent.

                Il ne faut pas confondre ce que fait une distribution communautaire (par exemple Fedora). Fedora c'est excellent technologiquement. J'adore cette distribution, je l'utilise. Le boulot réalisé y est fabuleux. Mais si on veut quelque chose pour la production, pour un serveur critique, il faut prendre une RHEL (ou un clone gratuit pour ceux qui n'ont pas tune, ou n'importe quoi de "sérieux" et dédié entreprise).

                Mon choix n'est pas définitif, mais je vais très probablement prendre du EC2. La distribution sera CentOS 5.1. Si ça roule, je passe à RHEL (l'offre commerciale spécifique EC2). Ceci histoire d'avoir l'esprit un peu plus tranquille et donner un peu de tune à Red Hat pour tout son excellent boulot dans le libre.
          • [^] # Re: présent !

            Posté par . Évalué à 1.

            Ne t'inquiète pas, Amazon fait sa virtualisation comme il faut. Ils te garantissent une puissance CPU et une RAM constante :
            * CPU equivalent à un Opteron cadencé à 1.0-1.2 GHz 2007, 32bit
            * 1.7 Go de RAM
            (ça c'est pour la machine de base, il y a aussi du 64bit plus rapide mais plus cher

            2 bons serveurs c'est bien quand tu n'as à supporter que la charge de linuxfr.org, mais quand tu as besoin de plus c'est appréciable de pouvoir ajouter des machines sans délai.

            J'ai discuté avec un gars de iLike, et quand ils ont lancé leur appli Facebook ils ont été débordés par le succès : pendant le week-end leurs serveurs étaient surchargés, et les délais pour en ajouter étaient trop longs (une semaine). Alors ils ont sous-loué des serveurs à d'autres start-ups pour pouvoir conserver une qualité de service acceptable. Du coup de plus en plus d'appli Facebook se montent sur EC2 (ou Joyent, un service similaire qui loue des tranches de serveurs Sun) et ça leur simplifient grandement la tâche. Tu commences avec peu de machines, c'est pas cher, et le prix monte de façon linéaire avec le nombre de serveurs.
            • [^] # Re: présent !

              Posté par . Évalué à 1.

              2 bons serveurs c'est bien quand tu n'as à supporter que la charge de linuxfr.org, mais quand tu as besoin de plus c'est appréciable de pouvoir ajouter des machines sans délai.

              C'es très facile aujourd'hui d'obtenir une telle souplesse avec des serveurs physiques, par solutions diskless sur un SAN par exemple. Encore faut il avoir pensé correctement ton architecture et tes softs à la base (cf Google, Youtube, Dailymotion, SkyBlog, etc.).

              Encore une fois, je ne dis pas que la virtualisation est une mauvaise solution, je la trouve extrêmement jeune (sur du x86 hein... je ne parle pas des mainframes...) et finalement problématique à mettre en oeuvre.

              Tes couts de déployement sont sans doute plus faibles, maintenant les effets de bords sont actuellement extrêmement lents et complexes à résoudre.

              Bref, c'est un peu comme les FAI, si ca marche du premier coup c'est cool, sinon bon courage !
              • [^] # Re: présent !

                Posté par . Évalué à 1.

                Si tu veux pouvoir monter en charge il faut avoir pensé ton architecture correctement, ça ne change rien d'être hébergé par AWS, en colo ou dans ton propre data center. La vraie différence c'est qu'avec AWS tu ajoutes ou retires une machine avec une ligne de commande. Et elle est prête en une minute. Pas besoin de l'acheter, ni de la brancher.

                D'ailleurs AWS te force à utiliser des images disques à déployer, et c'est justement une bonne pratique si tu veux ensuite migrer vers de la colo ou un data center (quand tu arrives a quelques milliers de machines !)

                En l'occurrence Amazon a créé EC2 pour leur propre besoins. Ils ont crée une division pour faire ça, et amazon.com ainsi que leurs autres services sont "clients" de cette division. C'est seulement après qu'ils se sont dit "si on rendait ça disponible à tout le monde ?". Donc, on peut considérer que c'est une solution éprouvée.
  • # Re:

    Posté par . Évalué à 1.

    Je trouve ça super intéressant.

    > un paye pour les machines a la minutes. Ça coute 10c la minute

    C'est par minute ou heure ?
    Si c'est par minute ça fait plus de 4300 $ par mois...


    > Le "piège", c'est que quand une machine reboot, toutes les données sont perdues, et on revient a l'image initiale.

    Peux-tu développer ?
    C'est lorsque tu rebootes ta machine virtuelle ou lorsque tu arrêtes et relance l'instance ?
    Parce que par défaut il y a 160 Go !
    Donc si pour tout reboote (ou plantage), tu perds tout, c'est un peu fort de café.

    J'ai quelques questions.

    Il y a-t-il des solutions pour avoir un stockage permanente ?
    Un truc "standard", c'est-à-dire que l'OS (sur la machine virtuelle) voit un système de fichier classique.

    Est-il facile de faire une image AMI ?
    • [^] # Re: Re:

      Posté par . Évalué à 1.

      > Il y a-t-il des solutions pour avoir un stockage permanente ?

      Oui (amazon S3)
      NB :
      http://www.amazon.com/gp/browse.html?node=201590011
      Data transferred within the Amazon EC2 environment, or between Amazon EC2 and Amazon S3 or Amazon SimpleDB, is free of charge (i.e., $0.00 per GB), except data transferred between Amazon EC2 and Amazon S3-Europe, which will be charged at regular rates.


      > J'ai quelques questions.

      Peut-on fait/utiliser un loopback crypté (avec dm-crypt ou cryptsetup) ?
    • [^] # Re: Re:

      Posté par . Évalué à 1.

      > C'est par minute ou heure ?

      Oups oui 10c par heure... Mais facturé à la minute.

      > C'est lorsque tu rebootes ta machine virtuelle ou lorsque tu arrêtes et relance
      > l'instance ?

      Les deux, en fait.

      > Donc si pour tout reboote (ou plantage), tu perds tout, c'est un peu fort de
      > café.

      C'est bien ça qui se passe. D'où l'intérêt de ne pas stocker de données dessus, d'utiliser S3 ou SimpleDB.

      > Il y a-t-il des solutions pour avoir un stockage permanente ? Un truc "standard",
      > c'est-à-dire que l'OS (sur la machine virtuelle) voit un système de fichier
      > classique.

      Par défaut non, mais il y a toutes les solutions qui tu peux imaginer pour brancher un truc par le réseau: NFS, partition simulée qui enregistrent sur S3 ou Gmail... Tu as un accès root sur la machine virtuelle donc tu fais ce que tu veux.

      Mais en général il est plutôt conseillé de tenir compte de cette "limite" quand tu conçois ton appli web. Par exemple, un serveur web est généralement juste un ensemble de pages/scripts PHP/Python/Perl/Ruby et les données se trouvent sur un serveur de bases de données qui est distinct.

      Ne pas avoir de données stockées localement est de toutes façons nécessaire si on veut avoir un cluster de serveurs web.

      > Est-il facile de faire une image AMI ?

      Oui, très:
      * Tu commences par booter sur une AMI publique (il y en a plein: Fedora, Ubuntu, toutes les versions et à toutes les sauces)
      * Tu ssh vers la machine
      * Tu personnalises tout comme tu veux
      * Tu lance l'utilitaire Amazon pour créer le bundle
      * Tu upload vers S3 (très rapide puisque c'est interne à Amazon)
      Et c'est fini !

      Pour ma part, j'ai pris une Dapper sur laquelle j'ai installé quelques paquets et ajouté un script de démarrage pour personnaliser [1].

      Quand on lance une nouvelle instance, on peut passer un fichier binaire en paramètre. Dans ce fichier je met un script de démarrage qui télecharge les pages web depuis un serveur SVN, s'enregistre et donne son adresse IP à un serveur de "round robin" (*). Ça me permet de personnaliser mes instances sans avoir à créer une AMI à chaque fois.

      [1] http://developer.amazonwebservices.com/connect/entry.jspa?ex(...)

      (*) J'oubliait, autre problème avec EC2: quand on lance une nouvelle machine, elle a une IP attribuée dynamiquement.
      • [^] # Re: Re:

        Posté par . Évalué à 1.

        Merci grandement pour ces informations.

        > Les deux, en fait.

        Ne le prend pas de façon personnel, j'ai du mal a croire qu'un reboot (et pas seulement l'arrêt d'une instance de machine virtuelle) supprime toutes les données.

        Par exemple Red Hat va proposer EC2 :
        http://www.redhat.com/solutions/cloud/

        Red Hat, évidemment, est très soucieux de la sécurité (au moins pour son image ont va dire en étant mauvaise langue). Il est hors de question pour Red Hat de laisser un noyau avec un trou de sécurité (le noyau de la machine virtuelle est sujet aux trous de sécurité aussi). Donc il faut pouvoir rebooter. Mais si rebooter c'est perdre ses données (coordonnées clients, etc), la configuration, etc ce n'est obsolument pas cool. Et j'ai du mal à imaginer toutes les protestations que va recevoir Red Hat si par malheur un noyau reboote à cause d'un bug de Red Hat (ce qui peut arriver à tout le monde).
        NB: je ne sais plus où j'ai lu ça, mais les images AMI de RHEL (qui sont payantes) utilisent le noyau RHEL et non celui d'amazon (qui doit être un 2.6.16 je crois).

        De plus Red Hat va vendre des applis via rhn. Si à chaque reboot (plantage, mise à jour de sécurité, etc), il faut repasser par le case commande, etc...

        Désolé, mais j'ai des difficultés à croire qu'un reboot supprime tout. Ceci dit, je n'apporte pas la preuve du contraire et si j'utilise EC2 que ferais très attention à ça.

        > les données se trouvent sur un serveur de bases de données qui est distinct.

        Juste. Mais une seconde machine pour la base de données, c'est luxueux dans certains cas. De plus, si on suit ton raisonnement, cette seconde machine ne peut-être une EC2 :-)

        > Ne pas avoir de données stockées localement est de toutes façons nécessaire si on veut avoir un cluster de serveurs web.

        Oui. Je ne suis pas dans ce cas.

        > Pour ma part, j'ai pris une Dapper

        Je vais aller vers RHEL ou Centos. Je fais (ou vais faire) un truc pour longtemps. Cool, il y a des images AMI Centos aussi.

        > (*) J'oubliait, autre problème avec EC2: quand on lance une nouvelle machine, elle a une IP attribuée dynamiquement.

        Ce qui me parait tout à fait normal.



        En passant, c'est hyper intéressant Amazon Web Service. Je sens que je vais en devenir dingue.
        • [^] # Re: Re:

          Posté par . Évalué à 1.

          Ne le prend pas de façon personnel, j'ai du mal a croire qu'un reboot (et pas seulement l'arrêt d'une instance de machine virtuelle) supprime toutes les données.

          Au temps pour moi, je viens de tester et les données restent au reboot. C'est quand même plus sûr de faire des back-ups vers S3, d'autant plus que tu ne payes pas la bande passante pour les communications EC2 <-> S3, tu ne payes que l'espace (15c par GB et par mois !)

          Sinon, concernant la séparation web/BDD et le cluster de serveurs web: bien sûr tu peux utiliser EC2 pour avoir une seule machine 24/7, qui fait serveur web et BDD. Ça reste moins cher qu'une solution d'hébergement dédié classique, et il n'y a pas à se soucier du hardware. Mais c'est surtout avec un cluster que AWS prend tout son intérêt, car tu peux ajouter ou retirer des machines à volonté. Effectivement c'est plutôt pour les services web avec beaucoup de pages dynamiques, et assez de visiteurs pour justifier un cluster.
          • [^] # Re: Re:

            Posté par . Évalué à 1.

            > C'est quand même plus sûr de faire des back-ups vers S3

            D'autant que tu peux arrêter ton instance EC2 si tu n'en as pas besoin. Par exemple en phase de développement. Et à la création de l'instance tu récupères ce qui va bien sur S3.

            > Mais c'est surtout avec un cluster que AWS prend tout son intérêt

            Je n'ai pas l'intention de faire un cluster, mais c'est très intéressant même si on ne veut pas faire de cluster.
            Pour les backups, direction S3. S3 fait la redondance et il y a une garantit. Si tu as 2 Go de backup (ce qui est raisonnable pour un petit site et bien supérieur à mes besoins) ça te coûte 3$ / mois.
            Tu peux faire tes backups aussi régulièrement que tu veux, ça ne te coute rien (transfert gratuit entre EC2 et S3).
            T'as vraiment le choix de l'OS (sauf Windows, mais qui ça dérange :-)), tu peux en changer sans risque (sans téléphoner au support s'il y a un pépin, ou te déplacer, etc). En gros tu crée une nouvelle instance, tu testes, et si ça marche tu détruis l'ancienne.
            Si tu as un problème avec une instance (par exemple avec un disque dur ou des choses "bizarres"), tu l'as détruit et tu en crées une nouvelle.

            Il y a un souplesse fabuleuse même si on ne veut pas faire de cluster. On peut trouver moins cher, mais ça sera moins souple. Le prix est donc très raisonnable.

            J'ai deux petits repproches.
            Je trouve l'instance EC2 de base luxueuse. 1,7 Go de mémoire vive (c'est énorme) et 160 Go d'espace disque. La très grande majorité des sites n'a pas besoin de ça.
            Pour l'anectode, mon premier site web "professionnel" (dynamique, session, etc mais pas de payement) tournait sur une bécane avec 24 Mo !
            EC2 c'est luxueux, mais on peut utiliser une instance EC2 pour y mettre plusieurs site web, un svn, etc. Je ne vais pas m'en priver.L'autre reproche, est qu'il n'y a pas de EC2 en Europe (alors qu'il y a S3 en Europe ; notons que les transfert entre EC2 et S3 Europe sont payants).
          • [^] # Re: Re:

            Posté par . Évalué à 1.

            > Au temps pour moi, je viens de tester et les données restent au reboot.

            J'ai lu ça :
            http://www.redhat.com/f/pdf/EC2GettingStarted.pdf

            Ben pour changer de noyau, il faut une autre image AMI. Donc un reboot n'est pas suffisant.
            La balle est au centre.
      • [^] # Re: Re:

        Posté par . Évalué à 1.

        > Par défaut non, mais il y a toutes les solutions qui tu peux imaginer pour brancher un truc par le réseau: NFS, partition simulée qui enregistrent sur S3

        Pour information :
        http://code.google.com/p/s3fs/ (GPL v2)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.