En esta nueva
entrada, de acuerdo a la filosofía de este blog de apoyo al software libre,
vamos a hablar de un plataforma de Cloud Computing open source: Open Stack como
vamos a describir, esta plataforma ofrece funcionalidades de cloud computing
muy interesantes.
En primer lugar
describimos esta solución: se trata de una plataforma en software libre
para cloud computing que proporciona una infraestructura
como servicio (IaaS), cumpliendo con las necesidades de los
proveedores de nubes públicas y privadas, independientemente de su tamaño,
siendo bastante fácil de implementar y muy escalable.
Este proyecto está distribuido bajo los términos de la
licencia Apache. El proyecto está gestionado por la Fundación OpenStack, una
persona jurídica sin fines de lucro creada en septiembre de 2012 para promover
el software OpenStack y su comunidad.
Más de 200 empresas se unieron al proyecto entre las que destacan AMD, Brocade Communications Systems, Canonical, Cisco, Dell, Ericsson, Groupe Bull, HP,IBM, InkTank, Intel, NEC, Rackspace Hosting, Red Hat, SUSE Linux, VMware y Yahoo!.
Más de 200 empresas se unieron al proyecto entre las que destacan AMD, Brocade Communications Systems, Canonical, Cisco, Dell, Ericsson, Groupe Bull, HP,IBM, InkTank, Intel, NEC, Rackspace Hosting, Red Hat, SUSE Linux, VMware y Yahoo!.
La
tecnología consiste en una serie de proyectos relacionados entre sí que
controlan pools de control de procesamiento, almacenamiento y recursos de red a
través de un centro de datos, todos administrados a través de un panel de
control que permite a los administradores controlar mientras potencia a sus
usuarios proveyendo los recursos a través de una interfaz web.
Características de Open Stack
- Los módulos tienen muchas
características comunes para poder integrarse fácilmente.
- Están desarrollados en Python
- Algunos de ellos utilizan AMQP
para el intercambio de mensajes
- Incluyen una API RESTful para
la comunicación entre componentes o externa (p. ej. clientes)
- Autenticación basada en tokens
gestionada a través del componente Keystone
- Base de datos propia e
independiente
Componentes
de Open Stack
OpenStack tiene una arquitectura
modular con varios nombres para sus componentes:
OPENSTACK IDENTITY SERVICE (KEYSTONE)
- Directorio centralizado que
almacena información de:
- Usuarios
- Proyectos (tenants)
- Roles
- Servicios y sus endpoints
- Información almacenada en
SGBDR o LDAP
- Primer componente a instalar
OPENSTACK
IMAGE SERVICE (GLANCE)
·
Gestiona las plantillas de imágenes de los sistemas
·
Gestiona las instantáneas de las instancias
·
Puede utilizar diversos formatos:
- raw
- qcow2 (Qemu/KVM)
- vhd (Hyper-V)
- ami (Amazon)
- vdi (VirtualBox)
- vmdk (VMware)
OPENSTACK COMPUTE
(NOVA)
·
Componente principal de OpenStack
·
Gestiona las instancias de imágenes, dónde deben ejecutarse y el
acceso mediante consola
·
Soporta diferentes hipervisores (recomendados KVM o Xen):
·
KVM/QEMU
·
Xen
·
Hyper-V
·
VMware ESXi
·
LXC
·
Docker
·
Permite incluso el aprovisionamiento de máquinas físicas mediante
Baremetal/Ironic
OPENSTACK OBJECT STORAGE (SWIFT)
·
Sistema de almacenamiento redundante y escalable
·
El almacenamiento de objetos permite el almacenamiento masivo de datos
no estructurados de forma bastante económica
·
Hoy en día ampliamente utilizado por aplicaciones web
·
Swift incluye su propia API y otra compatible con Amazon S3
·
Normalmente es utilizado por Glance para almacenar imágenes
·
Es independiente del resto de componentes
OPENSTACK BLOCK STORAGE (CINDER)
·
Los volúmenes son dispositivos de bloques que se crean de forma
independiente de la instancia y pueden asociarse y desasociarse de ella cuando
se precise
·
Cinder es equivalente al componente Amazon EBS
·
Los volúmenes se crean en el nodo de almacenamiento (por defecto con
LVM) y se conectan a la instancia que se desee mediante algún protocolo de
redes de almacenamiento (iSCSI es el más utilizado)
·
Cinder incluye controladores para gran cantidad de dispositivos de
almacenamiento del mercado
·
Cuando nova termina una instancia borra todo el almacenamiento local
asociado a ella, pero no los volúmenes, por lo que estos reciben el nombre de
almacenamiento permanente.
·
Podemos pensar en los volúmenes como discos externos que se conectan o
desconectan de las instancias, aunque se trate de un mecanismo completamente
diferente
OPENSTACK NETWORKING (NEUTRON)
·
Componente encargado de la configuración de redes virtuales
·
El nombre original de neutron era quantum, pero se tuvo que cambiar
por problemas de copyright
·
Neutron incluye un buen número de complementos: OpenvSwitch, Cisco,
Nicira, etc.
·
Neutron gestiona múltiples redes de forma independiente gracias al uso
de linux network namespaces que permite que múltiples routers virtuales
compartan un dispositivo de red físico
·
Neutron también se encarga de la gestión de los grupos de seguridad y
de las IPs flotantes
OPENSTACK DASHBOARD
(HORIZON)
·
Panel de control web de OpenStack desarrollado en Django
·
No incluye toda la funcionalidad de la API de cada componente, pero sí
los métodos más utilizados.
No hay comentarios:
Publicar un comentario