Ricardo Galli, de software libre

Enero 9, 2008

Probando Amazon EC2, es todo GNU/Linux, con Xen

Guardado en: empresas, internet, software libre — gallir @ 1:36 pm
Tags: amazon, cloud computing, ec2, s3

Tenía la intriga de saber cómo funciona Amazon Elastic Compute Cloud por varios motivos, fundamentalmente académico -dicen que es la siguiente “revolución” y que Google no tardará en imitarlos- y ver también si podría servir para el Menéame -sí, sirve- y para los que quieran comenzar con proyectos en Internet -es genial-.

Tenía el interés en aprender porque la información que se encuentra en los blogs o en las noticias en general se habla muy poco de los detalles técnicos. Así que anoche me puse en ellos y no me acosté hasta las 6 de la mañana hasta tener bien claro como funciona.

Así me pude dar cuenta que en realidad se trata del bien conocido Linux con el Xen. Nada más y nada menos. Pero con una diferencia fundamental: te puedes crear nuevas instancias -i.e. máquinas virtuales- o destruirlas en cuestión de segundos desde tu propio ordenador con las utilidades de línea de comando Java que te bajas de Amazon.

Además tiene otras ventajas, puedes elegir la “potencia” y “tamaño” de la máquina que quieres, y se facturará de acuerdo a ella. Por ejemplo la más simple es una equivalente más o menos a un núcleo Opteron de 1.2 GHZ (en las pruebas que hize me va un 30% más rápida que un Xeon 3 GHz de 64 bits que tenemos de backup para el Menéame). Hay tres tamaños diferentes, la simple mencionada (de 32 bits), una “dual” de 64 bits y una equivalente a cuatro núcleos de 64 bits.

La facturación es por hora, la simple son unos 0.1 dólares por hora que esté en marcha, la siguiente a 0.4 dólares y la de cuatro núcleos a 0.8 dólares (más impuestos/IVA).

Por defecto y si sigues las intrucciones de instalación te instala una Fedora Core 4. Pero puedes usar otras imágenes de colaboradores y no oficiales y que incluyen hasta Ubuntu Gutsy de 32 o 64 bits.

Cada “imagen” está definida por un XML (llamado “manifiesto”) almacenado en el sistema S3 de Amazon, estos “bundles” son llamados AMI. Para poner en marcha una nueva instancia sólo tienes que indicar el AMI que quieres usar, por ejemplo para la Ubuntu de 32 bits sólo he tenido que ejecutar desde casa el comando;

ec2-run-instances ami-ed22c784 -k keypair1

Nota: el “keypar1″ es una clave RSA para poder acceder luego como root vía ssh a la nueva instancia, el usuario root no tiene password.

Otra ventaja importante es que una vez has personalizado la imagen con el software y las configuraciones necesarias es muy fácil crear una nueva imagen y su AMI correspondiente, almacernalo directamente en S3 (te facturan por espacio) y luego usar ese AMI personalizado para poner en marcha nuevas instancias.

En resumen, el servicio EC2 es de servidores virtuales Linux-Xen, pero gestionado enteramente por tí, ellos te cobrarán por el uso que haga de CPU, almacenamiento (si guardas AMIs o datos en S3) y trafico de Internet.

Si lo que buscas es un servidor para inciar un proyecto, es tu opción. Pero haz los cálculos, la máquina simple te costará por mes:

0.10 dólares * 24 * 30 = 72 dólares ~= 52 euros

A eso debes sumar el tráfico, si transfieres unos 500 GB te costará 90 dólares (unos 65 euros).

Y ahora como siempre la opinión. Esto explicado así no parece gran cosas, sobre todo para los que conocíamos el Xen. Pero la forma de administrarlo y crear y destruir “maquinas virtuales” en pocos minutos -además se puede automatizar con scripts que analicen la carga, por ejemplo- es otra innovación importante. Y todo junto seguramente cambiará radicalmente la forma en que trabajamos con “servidores” en Internet. Ya lo dicen los blogs y la ya conocida frase cloud computing.

Y todo esto se hizo con software libre.

Es más, creo que hubiese sido imposible llegar a este nivel y escala con software privativo. Pero claro, siempre habrá alguno que diga “con el software libre se copia, no se innova, larga vida al software privativo” sólo porque está alucinando con el iPhone (y posiblemente con las bellas nalgas de Steve Jobs).

Actualización: Leyendo los foros me dí cuenta de un problema importante. Los datos de cada máquina virtual sólo persisten durante la existencia de la misma, si ésta se detiene se pierden todos los datos. Han reportado casos de algunas “desapariciones” de instancias (una persona reportó tres en varios meses). Por lo tanto estás obligado a mantener copias de seguridad o datos replicados en otras instancias.

17 Comentarios »

  1. […] Read the rest of this great post here […]

    Pingback por iPhone » Blog Archive » Probando Amazon EC2, es todo GNU/Linux, con Xen — Enero 9, 2008 @ 1:56 pm

  2. Probando Amazon EC2, es todo GNU/Linux, con Xen

    Tenía la intriga de saber cómo funciona Amazon Elastic Compute Cloud por varios motivos, fundamentalmente académico –dicen que es la siguiente “revolución” …

    Trackbacks por meneame.net — Enero 9, 2008 @ 2:04 pm

  3. Yo no llegué a hacer pruebas (me es imposible por… bueno) Pero me estudié todo el asunto con tanto detalle como pude. Yo sigo regularmente el blog, el foro y a varios usuarios de smugmug.com y allí fue donde conocí los servicios de Amazon. Es posible que algo haya cambiado pero al principio el servicio de Computing no me pareció tan convincente (por el estimado del CPU). Esto que cuentas hace diferencias. El servicio de almacenamiento es evidentemente, el más simple y acabado y se ve perfecto. ¿Te animas a testear el SQS? Me da un poco de pena pedírtelo por la mención de las 6 de la mañana. Pero este es el servicio más confuso de enterarse de hasta donde se puede llegar con él, sobre todo, evaluando “en seco”.

    Con tu afirmación sobre el SF no puedo estar más de acuerdo. Con la maraña de patentes y majaderías sobre copyright, algo así solo hubiera podido desarrollarse con muchas dificultades.

    PD. Yo mismo no soy amante de la GPL, prefiero MIT, BSD etc. La GPL la encuentro algo hipócrita: busca apoyarse en las mismas bases que el Soft privativo.

    Comentario por René Guerra — Enero 9, 2008 @ 2:24 pm

  4. Puedes echarle también un ojo a flexiscale, es el mismo concepto y por lo que he podido leer tienen hasta mejores crítíticas que amazon.

    Comentario por Antonio — Enero 9, 2008 @ 2:48 pm

  5. Curioso artículo, la verdad es que nunca he probado el EC2, pero en esencia es un XEN algo hormonado por lo que cuentas. Aunque echando alguna cuenta, parece que sale mejor poner una máquina en un CPD e instalarle uno mismo XEN y a lo mejor alojar otros proyectos en algún domU. El caso es que a lo mejor te puede interesar otra opción quizás más jugosa que el EC2, Oracle VM.

    Oracle ha entrado recientemente en el negocio de la virtualización con una solución de software libre llamada Oracle VM que es una variante de XEN optimizada para correr sobre su célebre distribución gratuita (que no libre) Unbreakable que incluye una fantástica consola en Java capaz de hacer olvidar la de la versión Enterprise de XEN. Además certifica su software para su tecnología de paravirtualización y HVM. Por lo que VMware reacciono al día siguiente publicando un blog dedicado a convencer a sus clientes (les entró miedo, las acciones están por las nubes) de que Oracle corre mejor en su tecnología, incluyendo benchmarkings de la versión empresarial (que para particulares creo está prohibida tal publicación).

    El caso es que además su soporte, que dudo que esté a la altura del de Citrix (en esto hay que ser sincero) es más barato, por un 500$ al año creo recordar. En fin que es una fantástica alternativa que promueve aún más el competitivo mercado de las startups de virtualización.

    Saludos

    Comentario por Miguel — Enero 9, 2008 @ 2:51 pm

  6. <quote>sólo porque está alucinando con el iPhone (y posiblemente con las bellas nalgas de Steve Jobs).</quote> LOL!

    Comentario por Mengler — Enero 9, 2008 @ 4:16 pm

  7. El tema del EC2 està molt bé si necessites escalar amb potència de màquina pura durant un temps curt, dies o hores fins que passi la tormenta o bé a questa s’estabilitzi prou com per a que et compensi llogar/comprar servidors dedicats.

    El problema com bé dius és la persistència. Si necessites una base de dades darrera l’aplicació la cosa comença a tenir molt de risc, ja que no hi ha cap garantia. Es podria fer la prova de tenir n servidor balancejats amb memcached per evitar accesos a la BD i tenir aquesta al teu datacenter a veure com va la cosa, però no li veig massa.

    EC2 estaria molt bé si a més poguessis llogar un servidor o varis dedicats a ca’n Amazon amb garanties, sinó s’han de valorar molt el tipus d’aplicacions que s’hi poden fer. Supòs que si ets un client prou important la opció de servidors propis deu estar contemplada, però pels pobres mortals amb aplicacions que tiren de base de dades EC2 no ens soluciona molt la vida.

    Tampoc és una solució barata, la solució et costa més que un servidor dedicat a un datacenter europeu de les mateixes característiques. L’avantatge és que a EC2 el pots escalar en pocs minuts, però jo ho veig més com a una solució de backup per sortir del pas que com a sistema principal de producció.

    Comentario por aaloy — Enero 9, 2008 @ 7:27 pm

  8. Interesante artículo, quería preguntarte si es posible hacer load balancing entre las instancias.

    Comentario por Eduardo Diaz — Enero 9, 2008 @ 9:26 pm

  9. […] los comentarios que hace Ricardo Galli en su blog, me parece que la estructura de funcionamiento puede ser similar a la de […]

    Pingback por El blog del piloto » Blog Archive » Ulteo - otro sistema de aplicaciones tipo Google Apps — Enero 10, 2008 @ 8:54 am

  10. Probando Amazon Elastic Cloud

    Ricardo Galli, presenta una interesante reseña de su experiencia probando ‘Amazon Elastic Compute Cloud’ (Amazon EC2). Sin duda es el inicio del (o los) servicios que se vienen -o mejor dicho que ya están-: la virtualización, computaci�…

    Trackbacks por p o t l a t ch — Enero 10, 2008 @ 10:53 am

  11. Discutir con esta gente es como las arena movedizas. Gastas tus fuerzas en mantener la cabeza fuera mientras te hundes lentamente sin remedio.

    En fin, voy a dejar la nota anarkiguai apocalíptica…

    Como dice Ricardo no se trata de un mero asunto económico, no se trata de canciones, se trata de democracia. Se trata de una lucha planetaria por el control de la información/poder que nos llevará a un 1984 (como no x D) via copyright, el cual jamás ha abandonado su función original. Una lucha que enfrenta a los que creen en la democracia (el poder del pueblo) con los que creen en la dictadura, ilustrada o no.

    El software libre es el frente más importante, y mirándolo en conjunto y sus consecuencias, la palabra ética adquiere un significado mucho más amplio que el de compartir porque es bueno.

    El software libre es una cuestión de supervivencia democrática, no técnica.

    Firmado un revolucionario de salón :-)

    Comentario por nchi — Enero 12, 2008 @ 4:31 am

  12. Y además un pardillo que no sabe en que pestaña escribe… ^^’. Ricardo obviamente esto va para el post del canon. Ahora me quedao en vergüensa x D

    Comentario por nchi — Enero 12, 2008 @ 4:32 am

  13. […] Probando Amazon EC2, es todo GNU/Linux, con Xen. vía: Ricardo Galli […]

    Pingback por Entradas en las blogosferas.44 - Carrero Bitácora de los Hermanos Carrero, David Carrero Fernández-Baillo y Jaime Carrero Fernández-Baillo. — Enero 13, 2008 @ 9:44 am

  14. Según leí en su momento solo tienen IPs dinámicas, las instancias creadas no pueden tener IPs fijas.

    ¿Cómo se soluciona eso a nivel DNS para, digamos, servir una web?

    Comentario por teo — Enero 13, 2008 @ 2:03 pm

  15. #14,
    Teo, para cada instancia te definen un subdominio de amazon para que lo agregues como CNAME en tu DNS.

    Comentario por gallir — Enero 13, 2008 @ 2:51 pm

  16. Aunque no es lo mismo, un concepto parecido es el que está empleando la compañía francesa de registro de dominios Gandi [1] para su servicio de hosting [2], ahora en fase beta. Tiene unos precios realmente interesantes, aunque aún no son los definitivos. Por ahora el período de contrato mínimo es de un día, pero según cuentan en sus blogs ([3] y [4]), la intención es que se pueda hacer por períodos más pequeños.

    También está montado sobre Linux y Xen.

    [1] http://www.gandi.net/
    [2] http://www.gandi.net/hosting/
    [3] http://gandibar.net/
    [4] http://hosting.gandibar.net/

    Saludos.

    Comentario por Alberto Caso (Adaptia) — Enero 13, 2008 @ 6:01 pm

  17. […] racks y pagar muy caro por un hosting con esas características, por ejemplo. Por eso estuve probando la alternativa de Amazon EC2. No está mal la solución, aunque introduce otros problemas en el diseño: debes hacerlo altamente […]

    Pingback por Blue Gene y mi segundo vaporware « Ricardo Galli, de software libre — Febrero 6, 2008 @ 7:44 pm

Suscripción RSS a los comentarios de la entrada.

Deje un comentario

Blog de WordPress.com.