¿Cuáles son las ventajas y las desventajas de OpenStack v. Eucalyptus y enStratus v. Scalr v. RightScale?

En realidad, hay tres categorías de productos diferentes aquí:

  1. OpenStack, Eucalyptus y Nimbus son plataformas en la nube. Una plataforma en la nube toma una capa de virtualización y crea la “percepción de capacidad infinita” al ofrecer lo que NIST denomina “independencia de localización”. En otras palabras, la plataforma en la nube lo hace para que pueda decir “darme una VM” y no preocuparse por el clúster o el host físico en el que se ejecuta la VM.
  2. enStratus y RightScale son sistemas de gestión en la nube. Un sistema de administración en la nube proporciona mínimamente una fachada única para administrar recursos en una o más nubes. La mayoría de las plataformas de gestión en la nube ofrecen algún tipo de gestión y automatización de usuarios entre nubes. Básicamente, un sistema de gestión en la nube doma la naturaleza salvaje de la nube.
  3. Skydera es un sistema de gestión de PaaS. Hasta donde yo sé (y realmente no sé mucho al respecto), Skydera es para PaaS como enStratus y RightScale para IaaS. Espero que con el tiempo esas líneas se desdibujen y verá más superposición.

No voy a abordar la capa de la plataforma en la nube porque OpenStack y Eucalyptus son socios de enStratus. Y no sé lo suficiente sobre Skydera para comentar. Pero definitivamente puedo comentar sobre la capa de administración de la nube con la advertencia obvia de que soy CTO de enStratus.

En resumen, la diferencia entre enStratus y RightScale se reduce a Enterprise (enStratus) vs. Non-Enterprise (RightScale) y sys admin (enStratus) vs. Developer (RightScale).

Ambos productos te permiten:

  • Aprovisione y desaprovisione manualmente recursos en la nube a través de una consola basada en web o una API REST
  • Administre recursos en la nube en AWS, Rackspace, GoGrid, OpenStack, Eucalyptus y Cloud.com
  • Realizar escalado automático en AWS, OpenStack, Eucalyptus y Cloud.com
  • Acceso multiusuario

Últimamente, RightScale ha estado tratando de descifrar el mercado empresarial, por lo que supongo que tomarían una excepción con la caracterización de que no son empresariales. Ejemplos de características enStratus generalmente consideradas imprescindibles para la empresa:

  • Opciones de implementación en las instalaciones para nubes privadas
  • Integración de SAML 2.0, ActiveDirectory y LDAP, así como autenticación multifactor y OpenID con listas blancas
  • Capacidad para hacer cumplir ciertos objetivos de cumplimiento con cosas como el cifrado automatizado del sistema de archivos y la administración de claves que mantiene todas las claves de cifrado y autenticación fuera de las nubes que se administran
  • VMware vCloud director e integración directa de vSphere
  • Permisos de acceso personalizables (como la posibilidad de que ciertos usuarios puedan iniciar máquinas virtuales solo desde AMI verificadas por ellos, la capacidad de ver solo sus máquinas virtuales u otros recursos de nubes, etc.)
  • Implementación automatizada de parches
  • Controles presupuestarios con cuotas rígidas, cuotas blandas y sistemas financieros e integración de gestión de proyectos
  • Automatización basada en objetivos de disponibilidad, presupuesto y requisitos de calidad de servicio.
  • Una implementación de SaaS que no se ejecuta en la nube que se está administrando
  • Integración del sistema de detección de intrusiones
  • Una selección más amplia de entornos de nubes. Además de los comunes, enStratus admite la gestión de Terremark, Bluelock, Nimbula, Atmos, Mezeo, Google Storage, Microsoft Azure Storage, AT&T Synaptic Storage, CloudSigma y otros. enStratus también admite el autoescalado en la mayoría de estas nubes.
  • La capacidad de proporcionar acceso de usuario a la interfaz de usuario y / o API de enStratus sin que el usuario tenga que tener sus credenciales en la nube subyacente
  • Soporte de primer nivel para Windows a la par con Unix, incluida la automatización completa y el autoescalado

Donde RightScale sirve bien a los desarrolladores y al mercado no empresarial es a través de su gran biblioteca de RightScripts. Esta biblioteca facilita a los desarrolladores la puesta en marcha y funcionamiento rápido en Amazon Cloud. enStratus, por otro lado, confía en productos de terceros como Chef o Puppet para proporcionar una biblioteca de scripts y los une en un catálogo de servicios. La metáfora del catálogo de servicios y las herramientas de terceros atraen a la empresa debido a la falta de bloqueo (y muchas empresas han invertido en la construcción de bibliotecas en sus sistemas de gestión de configuración existentes), así como el control que ofrece a los administradores del sistema Despliegue automatizado de sistemas. Por otro lado, generalmente lleva mucho tiempo implementar su primera aplicación en enStratus que en RightScale.

A nivel conceptual, hay diferencias importantes:

Eucalyptus es un producto (consistente, unido, probado, empaquetado, con una ruta de actualización entre versiones), mientras que OpenStack es un conjunto de componentes poco acoplados.

Eucalyptus se ve a sí mismo como un complemento de las nubes públicas (especialmente AWS, con el que tiene compatibilidad API). OpenStack apunta a ser una plataforma de nube pública y pretende ser un competidor de AWS.

También podría argumentar que Eucalyptus representa una mentalidad de aplicación (escrita principalmente en Java, pensando en cómo servir a las aplicaciones que se ejecutan en ella) y OpenStack más una mentalidad de operaciones (escrita en Python, pensando en cómo trabajar con el hardware debajo de él). Esta no es una diferencia en blanco y negro. Por supuesto, OpenStack también piensa en aplicaciones y, por supuesto, Eucalyptus también se integra con la infraestructura subyacente. Es una diferencia de enfoque.

Si está creando una nube privada, su elección de tecnologías debe depender del propósito: las fortalezas y debilidades de una tecnología son todas relativas. En mi experiencia, he visto construir nubes por las siguientes razones:

  • Investigación
  • Comercial
  • Agilidad / innovación
  • Reducción de costo

Investigación

Ya sea que esté planeando ejecutar algunos puntos de referencia, quiera poner a prueba un nuevo diseño arquitectónico o necesite aprender más sobre la infraestructura de la nube para respaldar su doctorado, existen muchas razones válidas para construir una nube privada.

En este caso, solo necesita algo con lo que pueda jugar, por lo que es posible que desee considerar el idioma en el que están escritas las herramientas.

  • Elija OpenStack si ama Python (como a mí)
  • Elija CloudStack o Eucalyptus Systems si es más una persona de Java.

Probablemente no necesite una herramienta de administración de la nube, por lo que puede omitirla. Si lo hace, SCALR es el único de código abierto que conozco.

Comercial

Si está en el negocio de ejecutar centros de datos y proporcionar alojamiento, entonces probablemente esté sintiendo el calor de Amazon Web Services para crear sus propios servicios en la nube.

Recomendaría no crear su propia solución como lo ha hecho GoGrid *. No solo será más difícil para usted construir un ecosistema de socios, consultores y desarrolladores en torno a su producto, sino que no tendrá los recursos para verter en el desarrollo de software que Amazon tiene.

Por lo tanto, recomendaría

  • CloudStack si desea la mejor y más madura tecnología de código abierto disponible en la actualidad.
  • OpenStack si puede permitirse el lujo de esperar, y se va a largo plazo: las compañías de HP a Rackspace han realizado grandes apuestas en el proyecto y su velocidad de desarrollo es muy alta, por lo que es una buena opción a largo plazo.

* GoGrid tiene una tecnología excelente, pero no tienen los recursos para competir solos y no son lo suficientemente grandes como para constituir un mercado interesante para terceros.

Sin embargo, ninguno de estos proyectos tiene suficiente funcionalidad empresarial, por lo que si su cliente objetivo es el Fortune 500, entonces debería considerar usar Nimbula creado por el equipo fundador de EC2 y el excelente Jay Judkowitz.

Agilidad e innovación

Si desea construir una nube privada para aumentar la agilidad de su organización y facilitar la innovación y las nuevas iniciativas de crecimiento, entonces probablemente se haya encontrado con políticas corporativas que excluyen las nubes públicas como una opción. Esto deja solo nubes privadas como una opción.

En este caso, querrá un sistema que permita que los sistemas que construya sobre él alcancen finalmente el estado de producción. Por lo tanto, estamos buscando un software de infraestructura que le brinde agilidad, sea estable y tenga características de alta disponibilidad. Esto nos deja con

  • Eucalyptus, que presenta una gran funcionalidad de alta disponibilidad en su versión 3.0
  • CloudStack, que Zynga (empresa) ha implementado con éxito a escala.

Reducción de costo

He visto mi parte justa de organizaciones construyendo su propia nube para reducir costos. No conozco ninguno que pueda ser considerado un éxito por un tercero. Pero si cree que puede hacer que funcione, deberá pasar un tiempo serio identificando las fuentes de costos antes de implementar.

Espero que esto te ayude y quizás a futuros lectores. Si es así, ¡considere un voto a favor! Si no, sugiera una edición.

Sebastian

http://scalr.net