La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Qué OpenStack y CloudStack debo elegir?

¿Qué OpenStack y CloudStack debo elegir?

Comparación de OpenStack y CloudStack

1) Antecedentes históricos y descripción general

OpenStack fue lanzado conjuntamente por la NASA y Rackspace en 2010. Contribuyeron con código computacional (Nova) y código de almacenamiento (Swift) respectivamente, y fueron autorizados por el acuerdo de licencia de Apache. El objetivo de OpenStack es proporcionar una plataforma universal de computación en la nube de código abierto que pueda usarse para construir nubes públicas y privadas, haciendo que la construcción de la plataforma en la nube sea lo más simple y conveniente posible y al mismo tiempo permita una rápida expansión horizontal. OpenStack es independiente de cualquier empresa, sigue los conceptos de código abierto, diseño abierto, proceso de desarrollo abierto y comunidad abierta, y está completamente dirigido y mantenido por la comunidad. El ciclo de lanzamiento de OpenStack es de medio año. Hasta el momento se han publicado ocho versiones oficiales. La última versión es La Habana. Después de cada lanzamiento, la comunidad celebra una cumbre. Empresas y desarrolladores de todo el mundo discutirán el diseño de la próxima versión y compartirán tecnologías relacionadas con OpenStack. Cabe mencionar que la cumbre más reciente se llevó a cabo en Hong Kong, China.

CloudStack fue desarrollado originalmente por Cloud.com y se divide en dos versiones: versión comercial y versión de código abierto. La versión de código abierto tiene la licencia GPL v3 (Licencia pública general GNU, versión 3). Después de que Citrix adquiriera Cloud.com en 2011, todo el código era de código abierto. En 2012, CloudStack contribuyó a la Apache Software Foundation y se convirtió en un proyecto de incubación de Apache. Al mismo tiempo, el acuerdo de licencia se cambió a un acuerdo de licencia de Apache más relajado, abierto y amigable para los negocios, y CloudStack se actualizó a un proyecto oficial de Apache en marzo de 2013. El objetivo de CloudStack es proporcionar una plataforma de nube abierta escalable y de alta disponibilidad para la implementación y administración de máquinas virtuales a gran escala. El ciclo de lanzamiento de CloudStack no está fijo. La última versión es la 4.2. La comunidad celebra una conferencia de colaboración global cada año para compartir e intercambiar tecnología.

2) Arquitectura de plataforma

OpenStack adopta una arquitectura distribuida y toda la plataforma se divide en múltiples proyectos de módulos según diferentes funciones. Como se muestra en la Figura 2, los proyectos se comunican entre sí a través del middleware de cola de mensajes y la API RESTful (donde el proyecto de certificación proporciona autenticación y registro de servicio para otros proyectos), por lo que cada proyecto se puede implementar en diferentes hosts por separado y la arquitectura es muy flexible. . OpenStack proporciona API ricas y potentes para que los usuarios utilicen y programen recursos cómodamente, y proporciona API compatibles con Amazon AWS (Amazon Web Services).

Figura 2, diagrama de arquitectura distribuida de OpenStack

CloudStack adopta una arquitectura monolítica centralizada. Como se muestra en la Figura 3, toda la plataforma contiene un solo proyecto. Diferentes módulos pueden interactuar a través de llamadas locales y la plataforma se puede implementar en un host, lo cual es muy conveniente. CloudStack también proporciona su propia API y una API compatible con Amazon AWS.

Figura 3. Diagrama de arquitectura centralizada de CloudStack

Se puede ver que las arquitecturas de los dos son casi relativas. La arquitectura distribuida de OpenStack es flexible, se pueden implementar diferentes proyectos por separado y es fácil combinar funciones según las necesidades reales. Además, debido al bajo grado de acoplamiento entre diferentes proyectos y la clara división de funciones entre proyectos, también es muy conveniente para el desarrollo personalizado de funciones individuales. La desventaja es que la implementación y configuración de cada proyecto es engorrosa. Debido a que CloudStack tiene un solo proyecto, la implementación es relativamente fácil, pero la escalabilidad de la plataforma es relativamente débil.

3) Comparación general de plataformas

Los pares funcionales de OpenStack y CloudStack se muestran en la Tabla 1. Los comparamos en términos de acuerdos de licencia, tecnologías subyacentes admitidas y base de usuarios.

OpenStack

Cloud Stack

Acuerdo de licencia

Apache 2.0 se puede comercializar de forma gratuita.

Apache 2.0, libre para comercialización.

Tecnología de virtualización

XenServer/XCP, KVM, QEMU,

LXC, VMware ESXi/vCenter, Hyper-V bare metal, Docker, Xen/Libvirt

XenServer, KVM, QEMU,

VMware vCenter

Servicios de red

VLAN, plano, DHCP plano

Redes virtualizadas cuánticas

VLAN, Flat, OpenFlow

Soporte de almacenamiento

iSCSI, Ceph, NFS, LVM, Swift, Shepherd

NFS , LVM, Ceph, Swift

Estrategia de programación

El modelo es completo y fácil de ampliar.

El modelo es sencillo y escalable.

Interfaz de usuario

Funciones completas e interfaz sencilla.

Funciones completas e interfaz amigable.

Base de datos

PostgreSQL, MySQL, SQLite

Base de datos relacional

Plantilla de máquina virtual

Soporte

p>

Paquetes de soporte

Nova, Glance, Keystone,

Horizon, Swift, Cinder,

Quantum, térmico, ceilómetro

VM de agente de consola,

VM de segundo almacenamiento,

VM de enrutador virtual,

Agente host, administración servidor

Desarrollo líder

Comunidad Kaiyuan

Citrix

Lenguaje de desarrollo

Lenguaje de programación informática

Lenguaje Java (un lenguaje informático, especialmente utilizado para crear sitios web)

Documentos oficiales

Muy detallado

Detallado

Versión problemas

Hay problemas de compatibilidad de versiones.

No hay ningún problema de compatibilidad de versiones.

Grupo de usuarios

Alrededor de 160, incluidos NASA,

Red Hat, Rackspace, HP,

NetEase, UnitedStack, espere.

Menos de 60, incluidos Nokia,

Nippon Telephone and Telegraph Company, Zynga,

Disney Alcatel, etc.

Tabla 1 , Comparación entre OpenStack y CloudStack

4) Selección de plataforma

A través del análisis comparativo anterior, podemos concluir que OpenStack y CloudStack son potentes plataformas en la nube de código abierto que cumplen con los requisitos de Enterprise. necesidades de construcción de nube privada y, debido a que es de código abierto, se puede personalizar según demanda. La diferencia es que CloudStack es de código abierto de software comercial, lo que facilita a las empresas comenzar y construir una plataforma en la nube más conveniente. Sin embargo, debido a sus atributos de software comercial, la arquitectura de la plataforma está relativamente centralizada, el acoplamiento entre módulos es alto, la escalabilidad no es muy buena y el costo de desarrollo secundario es alto. OpenStack ha sido un software de código abierto desde su nacimiento; una arquitectura distribuida. Todo el desarrollo lo lleva a cabo la comunidad, hay poco acoplamiento entre diferentes proyectos y se puede personalizar fácilmente. Sin embargo, dado que consta de varios proyectos, cada proyecto debe instalarse por separado y se debe garantizar la cooperación entre los proyectos, por lo que la implementación será más problemática. Además, debido a que OpenStack se encuentra en una etapa de desarrollo rápido, los proyectos pueden cambiar significativamente entre diferentes versiones, por lo que las actualizaciones entre versiones serán más difíciles.

También vale la pena mencionar que tanto OpenStack como CloudStack admiten la tecnología de virtualización ESXi de VMware, pero de diferentes maneras, como se muestra en la Figura 4. CloudStack solo puede administrar máquinas virtuales en hosts ESXi a través de vCenter; OpenStack admite la comunicación directa con ESXi para realizar la administración básica de máquinas virtuales. Solo las funciones avanzadas requieren el soporte de vCenter. En vista de la situación actual en la que las pequeñas y medianas empresas generalmente utilizan la tecnología de virtualización gratuita de VMware sin vCenter, esto también es algo que debe tenerse en cuenta al elegir una plataforma.

Figura 4, cuadro comparativo del modelo de gestión de VMware ESXi

Hengtian Cloud utiliza la plataforma de código abierto OpenStack para construir nubes privadas. Debido a que la arquitectura OpenStack es muy abierta, fácil de desarrollar a medida y cuenta con el apoyo de muchos proveedores de tecnología, es muy probable que se convierta en Linux en el campo de las plataformas IaaS de computación en la nube. Por lo tanto, a través del desarrollo personalizado de OpenStack, será muy beneficioso para las empresas a largo plazo.