Archive for the Cloud Computing Category

Comparando nubes

Posted in Cloud Computing, ITIG on marzo 27, 2011 by E-DWARF

Durante el último año hemos sido testigos de la aparición de una nueva tendencia en computación denominada “computación en la nube” que divide la oferta de servicios informáticas en tres capas:

  • Infrastructure as a Service (IaaS): Que ofrece servicios flexibles de computación bajo demanda, recogiendo bajo un mismo paraguas procesamiento de información, almacenamiento distribuido y conexiones, mediante virtualización y abstrayéndolo para la capa siguiente.
  • Platform as a Service (PaaS): Ofrece paquetes y entornos de desarrollo prefabricados para el desarrollo de la siguiente capa (entornos colaborativos, de pruebas, para comunicación).
  • Software as a Service (SaaS): Ofrece software que tipicamente se había desarrollado de forma monolítica y costosa en un modelo de pago por uso mucho más asequible (como programas de contabilidad) y permitiendo un desarrollo y mejora de aplicaciones mucho más rápido y sin intervención del cliente, habitualmente a través de aplicaciones web.

Sin embargo, lo que se vende como “nube” en realidad, se refiere a las dos primeras capas de este modelo, que está enfocado a que terceras partes se centren en el desarrollo y monetización de aplicaciones de software sin que tengan que preocuparse del futuro de sus aplicaciones y la temida “muerte de éxito” o sobredemanda (p. ej. caso de Grandmother Calendar) al tiempo que ofrece unos costes mucho más razonables a la hora de iniciar un servicio de Internet (ya que no tienes que invertir en equipo propio). En el SaaS, habitualmente se evade la cuestión de si son aplicaciones en la nube o no y se ofertan directamente como “aplicaciones web”.

La realidad del mercado es que, actualmente, existen 4 pesos pesados ofreciendo “nube” con ofertas muy variadas:

  • Google (App Engine): ofrece un entorno PaaS de desarrollo en Python y Java con librerías “capadas” que sustituyen funciones (como las de escritura a ficheros) por una API que permite hacerlo contra la infraestructura de Google sin preocuparte de más. Para pequeñas aplicaciones el margen de inicio es generoso y gratuito (aunque luego tiene estos costes). No me termina de gustar que te obligue a predecir las demandas diarias ni a tener que utilizar un formulario para corregir el efecto barrapunto porque pierde la condición de “flexibilidad” que es una de las mayores ventajas de la nube.
  • Microsoft (Windows Azure): Microsoft está haciendo un gran esfuerzo por convertir sus aplicaciones y entornos de desarrollo para prestarlos como servicio, especialmente en el campo de PaaS pero no tiene muy controlado todavía la IaaS más allá de los servidores virtuales, por ejemplo en la actualidad sus bases de datos SQL Azure están limitadas a 10GB aunque van creciendo conforme avanzan versiones. Las APIs están muy centradas en .NET aunque soporta Java o PHP entre otros (con la boca pequeña). Los precios de Azure me han parecido más altos, especialmente en base de datos.
  • IBM Cloud: El enfoque de IBM en temas de nube pasa por la distinción entre nube pública y nube privada con el objetivo de aportar la flexibilidad de la nube a las grandes empresas al tiempo que empieza a abrirse mercado en el pequeño negocio al ofertar productos de IBM a precio de pago por uso. IBM presenta por tanto un modelo más cercano al IaaS que los anteriores aunque propone PaaS en soluciones de VoIP o Lotus. No he sido capaz de encontrar los precios en la web de IBM pero en un documento al que he tenido acceso los precios de transferencia son ligeramente mejores pero los de instancia son más caros.
  • Amazon:  fue el primer competidor en ofrecer servicios de nube al mercado masivo en 2006 y eso se nota en la madurez de sus servicios, que resuelven problemas clásicos de Internet como el correo electrónico y los filtros de SPAM (SES) o una solución de almacenamiento de memoria plenamente confiable (S3). Respecto a las soluciones que presentan IBM o Microsoft de computación, Amazon dispone de EC2 para la puesta en marcha de servidores virtuales a precios muy competitivos.

Junto a estos aparecen otros competidores más pequeños como GoGrid o RightScale o versiones open source de tipo “haztelo tú mismo” como OpenNebula.

Comparativamente, podemos comprobar que en el mercado de IaaS tenemos a IBM muy centrado en el mercado corporativo y a Amazon con mucha experiencia detrás, mientras que en un entorno PaaS nos encontramos a Microsoft y a Google compitiendo con estrategias completamente distintas.

No obstante, tras ver la oferta de servicios de unos y otros, parece que la más desarrollada es la Amazon y la única que está suficientemente madura para plantearse una migración completa de servicios. No obstante, una ventaja importante de la computación en la nube (hablando en términos generales) es su flexibilidad y esto incluye la fusión de los servicios que mejor se adapten a tí de cada una de las nubes, pondré un ejemplo:

Necesitas entornos de prueba en zLinux, Windows y otra variedad de sistemas operativos. Mientras que tienes una aplicación CMS programada PHP desplegada en un servidor local y necesitas envio de mail masivo, almacenamiento a largo plazo y un frontend distribuido. En este caso puedes recurrir a Azure para disponer del entorno de pruebas en Windows, a la de IBM para que te provea de zLinux y RedHat. Para desplegar tu aplicación levantas la estructura en Amazon utilizando S3, EC2, SES y Cloudfront para conectar a tu servidor local.

Anuncios