Los servicios en la nube están en pleno desarrollo y para nada es un mercado en el cual todo está resuelto. Lo anterior implica grandes desafíos como también oportunidades para empresas que desarrollan software en la nube, de almacenamiento, hosting y profesionales del área. En este artículo te contamos de qué se trata OpenStack y mostramos sus características básicas.
Cuando una tecnología se presenta como innovadora y comienza a abrirse campo en la industria de la informática, de forma automática se crean algunas inquietudes: ¿Quién va a controlar el desarrollo de la misma? ¿Será abierta o cerrada? ¿Se va a proveer de interfaces y APIS para conectar y desarrollar aplicaciones? Y algo básica desde un comienzo: ¿se va a desarrollar un estándar? Y entre antes se comience a responder esas preguntas, mucho mejor para todos.
¿Qué es OpenStack?
Es una plataforma open source de computación en la nube, orientada principalmente a proveer una infraestructura como servicio (IaaS). Según sus creadores, puede controlar recursos extensos de nodos con capacidad de cálculo, almacenamiento y red, todo a través de un datacenter de software. Los recursos son gestionados a través de un escritorio y se asignan a través de una interfaz web. Está licenciado bajo Apache License Version 2.0.
Origen y desarrollo actual
OpenStack comenzó en 2010 como un desarrollo en conjunto de Rackspace Hosting y NASA. Actualmente es manejado por la OpenStack Foundation, una organización sin fines de lucro que tiene como objetivo la promoción de la plataforma y su comunidad.
Muchas compañías están colaborando con el desarrollo del proyecto, incluyendo AT&T, AMD, Avaya, Canonical, Cisco, Citrix, Dell, Dreamhost, EMC, Ericsson, Fujitsu, Go Daddy, Google, Hewlett-Packard, Hitachi Data Systems, Huawei, IBM, Intel, Juniper Networks, Mellanox, NEC, NetApp, Oracle, Red Hat, SUSE Linux, VMware y Yahoo!, entre otras.
OpenStack está construido de forma modular y cada uno de ellos tiene un nombre. La política de versiones consiste en proveer de actualizaciones de la componente Glance cada seis meses, junto con otros módulos según sea necesario.
Módulos
A continuación se listas los módulos de OpenStack y una descripción breve:
- Compute (Nova): es un controlador de estructura de computación en la nube, la parte principal de un sistema IaaS.
- Image Service (Glance): proporciona servicios de descubrimiento, registro y entrega de servicios para los discos. También gestiona las imágenes.
- Object Storage (Swift): Corresponde a un sistema de almacenamiento escalable y redundante.
- Dashboard (Horizon): Provee a administradores y usuarios una interfaz gráfica para acceder, provisionar y automatizar los recursos basados en la nube.
- Identity Service (Keystone): Ofrece un directorio central de usuarios asociados a los servicios de OpenStack que pueden acceder.
- Networking (Neutron): Es un sistema de gestión de redes y de direcciones IP.
- Block Storage (Cinder): Proporciona dispositivos de almacenamiento persistente a nivel de bloque para ser usados con instancias de OpenStack Compute.
- Orchestration (Heat): Es un servicio para orquestar múltiples aplicaciones compuestas en la nube.
- Telemetry (Ceilometer): Provee un punto de contacto único para sistemas de facturación.
- Database (Trove): Es una base de datos que opera como un servicio de aprovisionamiento para motores de bases de datos relacionales y no relacionales.
- Elastic Map Reduce (Sahara): Provee los medios necesarios para gestionar un clúster.
- Bare Metal Provisioning (Ironic): Está orientado a aprovisionar máquinas físicas en vez de virtuales.
- Multiple Tenant Cloud Messaging (Zaqar): Es un servicio de mensajería para desarrolladores web.
- Shared File System Service (Manila): Provee una API abierta para gestionar recursos compartidos.
- DNSaaS (Designate): DNS como servicio.
- Security API (Barbican): Es una API REST para la gestión de las contraseñas.