OpenStack y el Desafío de Redes – Parte I
Cuando comencé a escribir este post, no imaginaba la cantidad de contenido y las dificultades de intentar resumir en pocos párrafos qué es Openstack, cuáles son sus beneficios, desafíos, como funciona e integraciones con NSX, entre otros temas.
Aconsejado por mis colegas David Santos y Gustavo Santana, autores también de este blog, decidí dividir este post en dos partes, la primera trayendo más detalles de que es Openstack y también ilustrando los beneficios de la distribución de VMware: VMware Integrated OpenStack.
El segundo post será publicado en la próxima semana entrando con más detalles de los principales desafíos de Redes y Seguridad en una Nube de OpenStack y como NSX juega como una pieza fundamental para cualquier nube OpenStack.
Qué es OpenStack?
OpenStack es un software para la creación de nubes Públicas o Privadas y su objetivo es controlar conjuntos de recursos de cómputo, de almacenamiento y también de redes y seguridad, siendo administrado por un portal integrado o consumido por medio de APIs (Application Programmable Interfaces).
OpenStack es liderado por la Fundación OpenStack y fue inicialmente creado por RackSpace y NASA en mediados de 2010. Hoy ya cuenta con más de 60.000 miembros activos y organizaciones de muy diferentes verticales utilizando OpenStack. El objetivo de la Fundación es proteger, desarrollar y promover OpenStack para la comunidad.
OpenStack es una combinación de diversos proyectos de software de código abierto con el intento de traer simplificación y agilidad en los desarrollos de cada uno de ellos. Entre los principales proyectos podemos nombrar:
- Nova: Es el administrador de la infraestructura de cómputo, responsable por la creación y ciclo de vida de todas las instancias en la nube OpenStack.
- Glance: Responsable por la busca y almacenamiento de las imágenes de instancias en la nube OpenStack.
- Cinder: Almacenador de datos en bloque en la nube OpenStack, responsable por la interacción con dispositivos de almacenamiento ofreciendo una capa de abstracción para los usuarios finales.
- Swift: Almacena los objetos en la nube OpenStack con alta capacidad.
- Neutron: Responsable por los componentes de redes y seguridad en la nube de OpenStack.
- KeyStone: Es el servicio que ofrece autenticación, autorización para los usuarios del ambiente multi-tenant en la nube OpenStack.
- Heat: Es el servicio de orquestación basado en templates para ofrecer mayor agilidad en la creación y aprovisionamiento de otros proyectos de la nube OpenStack. Uno de los principales recursos es su funcionalidad es su funcionalidad de autoscaling.
- Ceilometer: Es el servicio responsable por la colecta, normalización y transformación de los datos producidos por otros servicios de la nube OpenStack.
Usando la imagen debajo, extraída de la propia Fundación OpenStack, es posible tener una idea general de cómo es la arquitectura de una nube OpenStack.
Un excelente recurso disponible es el Project Navigator de la propia Fundación OpenStack que mapea el uso, tiempo de creación y madurez de cada uno de los proyectos OpenStack. Esta es una excelente referencia para las empresas que están pensando en adoptar OpenStack en ambientes productivos.
Cada 6 meses, una nueva versión de software OpenStack es disponibilizada por la Fundación y lleva el nombre de una ciudad escogida por la comunidad. Actualmente la última versión fue designada Ocata, que fue lanzada en febrero de 2017, y las próximas versiones se llamarán Pike y Queens respectivamente.
Qué es VIO (VMware Integrated OpenStack)?
Así como otras empresas de software, VMware posee su propia distribución de OpenStack llamada VIO – VMware Integrated OpenStack.
Existe una tendencia creciente por las empresas que están adoptando OpenStack en ambientes productivos en utilizar distribuciones soportadas por empresas de software opuesto a utilizar la distribución ofrecida por la Fundación de OpenStack. La causa principal de tal elección es la existencia del soporte dado por estas empresas.
El objetivo de VIO no es, y nunca será, contener la mayor cantidad de proyectos disponibles en la comunidad, pero si ofrecer los proyectos más estables por medio de una distribución robusta, performante, resistente y segura para ambientes que utilizan la infraestructura de computo propia de VMware. Uno de los grandes desafíos de la mayoría de las implementaciones de nubes OpenStack es la actualización entre versiones de OpenStack, siendo prácticamente imposible de ser realizada, y ésta es una de las principales diferencias disponibles desde la versión 2.0 de VIO.
Utilizando la imagen debajo, con base en el último OpenStack Survey de 2017 como base, percibimos los principales proyectos utilizados en producción y los proyectos que actualmente forman parte de VIO.
Actualmente VIO se encuentra en la versión 3.1, utilizando la versión Mitaka. Más detalles sobre esta versión puede ser encontrados en el siguiente link: http://pubs.vmware.com/Release_Notes/en/integrated-openstack/31/vmware-integrated-openstack-31-release-notes.html
A continuación, un breve resumen sobre las contribuciones que VMware ya hizo y continúa haciendo para la mejora de códigos abiertos de software OpenStack:
- Fundador del proyecto Neutron (anteriormente conocido como Quantum)
- Fundador y mayor contribuidor del proyecto Open vSwitch – OVS – utilizado ampliamente por la comunidad de empresas de software con distribución propia
- Fundador de Open Virtual Networking (OVN), uno de los más utilizados planos de control de código abierto para administración de Redes y Seguridad de componentes virtuales
- Autor del padrón OVSDB – Open Virtual Switch Database – protocolo de administración de comunicación actualmente más utilizado por diversos fabricantes de equipamientos de redes
- Diversos Empleados de VMware se destacan por la alta cantidad de contribuciones a cada nueva versión de OpenStack
No obstante, a pesar de los beneficios y ventajas de utilizar VIO para infraestructura de VMware, no es requisito utilizar VIO para una nube Openstack que utiliza infraestructura con VMware ESXi o VMware NSX. Cualquier distribución de OpenStack puede utilizar ESXi o NSX, ya que VMware ofrece los plug-ins de integración de manera gratuita por medio de su página en GitHub.
Recomiendo ver el post de un colega, Marcos Hernandez, sobre las contribuciones que VMware Continua realizando para la comunidad.
En mi próximo post, explicaré con más detalles los principales desafíos e integraciones de Redes con una nube OpenStack y como NSX puede ayudar.
Hasta la semana próxima con la segunda parte de este post!
Caio Oliveira | |
Especialista VMware NSX | |
[email protected] | |
@oliveirac_caio | |