Nubes privadas: ¿OpenStack o CloudStack?

CloudstackTodos los que trabajamos viendo o analizando tecnología de información notamos que OpenStack tiene mucha más presencia que CloudStack. Esto es así en los medios y también en las comparaciones que muchos proveedores utilizan para graficar características extra que brindan sus implementaciones.

Según la propia organización que patrocina a OpenStack, su proyecto es un sistema operativo cloud capaz de controlar grandes formaciones de recursos de computación, almacenamiento, sin limitación de centros de datos y administrando todo mediante un tablero de control. Así, los usuarios pueden aprovisionarse de recursos mediante una interfaz Web. OpenStack es entregada mediante el modelo de licencia Apache 2.0. Son más de 150 compañías las que apoyan al proyecto con sus contribuciones de arquitecturas, código o integración. El proyecto fue iniciado por NASA y la firma Rackspace.

Por su parte, CloudStack es un software open source para la creación, administración y entrega de servicios de infraestructura cloud. Utiliza hypervisors como KVM, vSphere y XenServer/XCP para virtualización. Además de sus propias APIs, CloudStack también soporta a las de Amazon Web Services. El proyecto fue iniciado por Cloud.com, que en 2010 liberó CloudStack bajo la licencia GNU General Public License versión 3. En 2011 Citrix adquirió a Cloud.com y pronto dejó de apoyar al proyecto OpenStack para dedicarse únicamente a CloudStack, a la que agregó soporte para Swift (OpenStack Object Storage, sistema redundante y escalable de almacenamiento que distribuye objetos y archivos en diferentes discos de diferentes servidores). En 2012, Citrix donó CloudStack a Apache Foundation.

Un caso de comparación CloudStack vs OpenStack

Tenemos el caso de la firma de servicios para la salud WebMD y que fue registrado por Jeff Vance, columnista especializado de Datamation. El entrevistó a Chris Swenson, director de operaciones cloud e infraestructura de esa firma. Swenson comenzó contemplando a OpenStack como su potencial plataforma IaaS (Infrastructure as a Service) en la creación de la nube privada de WebMD, que sería inicialmente usada como entorno de prueba y desarrollo.

“Hicimos una prueba de concepto con OpenStack, pero luego de trabajar un par de semanas, nos dimos cuenta de que no estaba preparada para operar a nivel empresarial.” El ejecutivo reconoció que su prueba de concepto fue hecha hace un año y que OpenStack evoluciona continuamente. Sin embargo, afirmó que, utilizar CloudStack es como “contratar a un constructor para que haga una casa, mientras que OpenStack es como tener que entrar a una tienda de materiales y tener que determinar todo lo que se necesita por los propios medios.”

“Nosotros dimos prioridad a todo lo que es autoservicio de provisión,” prosigue Swenson. “De esa manera, si una interfaz no es intuitiva, será un problema para nosotros.” Con OpenStack, la interfaz era un problema.

Eric Schlesinger, VP de Tecnología de Proteus Technologies, realizó un test de OpenStack más recientemente, hace unos cuatro meses. Proteus es un proveedor de soluciones de software e ingeniería de sistemas que atiende a la comunidad de organizaciones de inteligencia como el Departamento de Defensa y Federal Executive de los EE.UU.

Proteus es una empresa cuyos especialistas tienen que trabajar fuera de sus oficinas en forma constante, en lugares en donde no tienen acceso a muchos de los recursos que necesitan para correr rápidos tests o configurar entrenamientos. Este último año, Schlesinger fijó como prioridad el facilitar las cosas para sus ingenieros. La idea central era la de configurar una nube privada.

En Proteus hicieron algún análisis de OpenStack, pero los ingenieros no estaban satisfechos con esa plataforma. Lo que destaca Schlesinger es que, a menos que uno sea un experto en OpenStack, no es lo suficientemente intuitiva y la documentación no está actualizada.

“Yo no había escuchado hablar de CloudStack, para ser honesto,” dice Schlesinger. “Pero apenas comenzaron a verla, los miembros de mi equipo la amaron.” En Proteus también se contemplaron y analizaron plataformas como Eucalyptus, pero eligieron CloudStack por su “poca demanda de recurso (footprint), sólida documentación y facilidad de uso.”

Otro aspecto que resultó importante tanto en el caso de WebMD como en el de Proteus, fue la compatibilidad con VMware. “Tenemos mucha tecnología VMware y la capacidad de integrar con vCenter era muy elevada en los criterios de evaluación,” señala Swenson.

Mientras tanto, Schlesinger, destaca que mientras que la integración con VMware era en su caso importante, en su compañía no querían quedar encerrados en una plataforma eternamente y por eso fueron con CloudStack y no con VMware Cloud.

Los proveedores de servicios prefieren CloudStack

Según información provista por la firma Citrix, cada mes se crean unas 500 nuevas nubes basadas en CloudStack. El segmento de mercado que más rápidamente adhirió a CloudStack fue el de los proveedores de servicios. Compañías como BT, China Telecom, EVRY, IDCFrontier, KDDI, KT, NTT Communications, Orange MBS y Slovak Telecom, son algunos ejemplos de su adopción.

Veamos el caso de ISWest, proveedor de servicios Internet de Agoura Hills, California. Esta compañía necesitaba crear un servicio IaaS para mantener su competitividad en un mercado difícil. El objetivo era vender el nuevo servicio a sus clientes empresariales.

Sabían que muchas empresas son recelosas respecto a las nubes públicas y que muchos de los clientes de ISWest estaban pensando en recrear sus entornos de red tradicionales en la nube. Generalmente se utilizaría un esquema NAT (Network Address Translation) donde hay sólo unas pocas direcciones IP públicas.

El problema con esa clase de configuración es que no resultaba posible con los grandes proveedores de clouds (AWS, Rackspace o GoGrid) o bien era muy complejo de configurar. En ISWest querían ofrecer a cada cliente su propia red privada (o múltiples redes privadas) con acceso VPN a las mismas. Luego, mediante el uso de redes locales virtuales (VLANS) se segregarían los diversos clientes.

Luego de evaluar una variedad de proveedores de IaaS, incluyendo a Eucalyptus, Enomaly, OpenNebula y OpenStack, en ISWest se inclinaron por CloudStack. Para ellos, resultaba la solución más parecida a un llave en mano. En algo más de un mes, ISWest creó su nube IaaS sobre CloudStack y ya está en marcha el nuevo servicio.

Limitando el crecimiento de VMs inactivas

En los entornos virtualizados es común tener el problema de VMs (Virtual Machines) que, una vez finalizado su objetivo de uso, quedan inactivas pero configuradas, consumiendo recursos sin ningún fin útil. Es un fenómeno conocido como VM sprawl. En el caso de WebMD, Swenson dijo que habían calculado tener un mínimo de 15% de VMs inactivas. Es algo que ocurre y es fácil de entender cómo se produce. Los desarrolladores e ingenieros de QA (Quality Assurance) colocan algo en la nube, lo olvidan y esos tests seguirán consumiendo recursos.

CloudStack tiene una interfaz de administración apta para el trabajo empresarial y es por esa razón que Swenson encuentra que sea fácil aplicar políticas y forzar su cumplimiento. “Estimulamos la experimentación, pero fijamos reglas.” En WebMD los desarrolladores tienen una ventana de treinta días para las pruebas. Durante ese período, los ingenieros no tienen que asignar presupuesto de recursos ni demostrar que el proyecto lo amerita.

Pero si el proyecto es exitoso luego de los treinta días, sale de la nube de prueba y adquiere sus propios recursos. Si no prospera, es sacado en forma automática.

Estas capacidades hacen que la experimentación se realice en sede de WebMD. Los desarrolladores utilizan algo por lo que WebMD ya ha pagado. “Permitimos que la gente experimente con AWS (Amazon Web Services), pero los proyectos más exitosos retornan al ambiente propio. Tenemos tanta capacidad interna que resulta más económico y se tiene mejor performance si se lo hace en casa,” dice Swenson.

Con el reinado de las VMs, muchas son las organizaciones que tienen que trabajar para ganar visibilidad de sus costos de infraestructura. Si bien el uso de VMs no cambia tan fundamentalmente los factores económicos de los proyectos, si cambia la percepción que las unidades de negocios tienen cuando se les muestran los recursos que se utilizan en cada uno de sus proyectos en términos de VMs, almacenamiento y networking. Lo que se logra es que las unidades de negocio no patrocinen proyectos “tirados de los pelos” que debieran haber sido cancelados antes de conseguir algún recurso.

La conclusión es que, si se manejan los recursos y relaciones con IT en forma habilidosa, se pueden reducir costos sin desalentar la innovación. En los dos casos que hemos visto, el de Swenson y el de Schlesinger, ambos acuerdan en que teniendo los recursos de nube privada internamente, se facilita la experimentación, se es mucho más efectivo en cuanto a costos y resulta más simple de administrar. Ellos no esperan que la gente se desaliente si fallan sus pruebas, sino que los proyectos que fracasen se cancelen rápidamente y cese el uso de recursos.