Se me ocurrió hacer una pequeña secuencia de publicaciones sobre OpenStack para así aportar mi granito de arena a la comunidad. Ahora bien, no pienso seguir el orden que siguen en otros blogs que he visto, quizás por un problema de haraganería o por falta de tiempo, pero mi intención es organizarlas en base al interés que me despertaron cada uno de los elementos que conforman la plataforma.
Entonces, inicialmente el orden es el siguiente (recalco, de momento es este, aunque puede cambiar a posteriori):
Hace poco más de un año Armando Felipe Puentes Denis me hablaba sobre una plataforma de Cloud Computing llamada OpenStack con la que ya llevaba trabajando un buen tiempo. Al principio pensé que me estaba hablando de otro de los tantos softwares que existen para hacer nubes de almacenamiento, o de otra onda rara.
Satisfaciendo mi curiosidad inicial me dispuse a leer someramente sobre OpenStack, pero no a la profundidad con la que me hablaba Armando (que, realmente, en ese momento por más que me decía, yo estaba totalmente perdido sobre el tema). En medio de la conversación hice lo de siempre, ir a Wikipedia para saber en qué consistía el dichoso OpenStack.
En la Wikipedia en español apareció algo por dónde empezar, pero quedé insatisfecho con lo que vi, así que fui a la versión en inglés, donde fue que sacié dicha curiosidad inicial. Ya introducido en el tema, me dediqué a buscar documentación. Entre la que me proporcionaba Armando (que me perdía aún más), más la que encontraba en Internet (manuales, artículos de interés, laboratorios, videos en YouTube, etc.), hice mi propia documentación para leerla en cualquier rato libre que tuviese. Créanme, no me canso de leer ni de ver los videos descargados.
Pero hay una gran realidad: para introducirse en el vasto y extenso mundo de OpenStack hay que contar con varios elementos a tu favor: tiempo, interés, perseverancia, algo de recursos para crear un pequeño laboratorio virtual de pruebas y, sobre todo, muchísima paciencia (si la podemos tener en sobredosis, mucho mejor). Con esto les digo que, en cierta medida, gracias a ese período de convalecencia de tres meses que tuve, pude concentrarme en aprender algo de esta interesante plataforma. Sí, algo, porque mientras más uno lee sobre el tema, más se da cuenta de que le falta mucho más por saber.
Ah, y muy importante, en esta plataforma uno se encuentra con algo muy parecido a lo que sucede en el mundo Android: la diferencia entre versiones. Sí, en la documentación chocarán con comandos totalmente diferentes, aunque hagan lo mismo en esencia, esto es debido a las versiones que se han liberado. Así que hay que ser capaz de abstraerse a tal extremo para poder extrapolarlos a la versión con la que trabajé: Ocata.
Por ello, y basado en lo poco que he aprendido, he decido compartirlo con ustedes mediante una secuencia de artículos. Aclaro que me puedo equivocar en el entendimiento de algunos conceptos o en la metodología de trabajo, por lo que les pido que las críticas sean más bien constructivas y no destructivas.
Si está confundido acerca de las diferencias entre OpenStack y virtualización, no es el único. Sin embargo, se trata de dos cosas distintas y este texto describirá cómo distinguirlos, revisaremos algunos casos de uso en los que conviene utilizar OpenStack y, finalmente, despejaremos las dudas sobre algunos mitos acerca de esta plataforma de nube de código abierto.
Virtualización La virtualización se origina en la creación de particiones, que significa dividir un servidor físico en múltiples servidores lógicos. Al proveer un enfoque lógico a los recursos de cómputo, en lugar de un enfoque físico, es posible hacer un par de cosas de gran utilidad: le permite “engañar” a sus sistemas operativos para que crean que un grupo de servidores es un solo conjunto de recursos de cómputo, lo que le permite ejecutar múltiples sistemas operativos simultáneamente en una sola máquina. Una vez que el servidor físico queda dividido, cada servidor lógico puede ejecutar un sistema operativo y sus aplicaciones independientemente.
La virtualización ofrece redundancia y alta disponibilidad en su infraestructura, pero toma mucho tiempo añadir la capacidad necesaria para incrementar el desempeño de salida. Obtener mejor desempeño implica “crecer” o “escalar verticalmente” al añadir más memoria y procesadores para hacer que los hipervisores físicos tengan un mejor desempeño… pero existe un límite a la capacidad máxima del servidor.
El cómputo en la nube, por su parte, cambia el enfoque de consumir hardware a consumir recursos compartidos como servicio. OpenStack es un software de código abierto utilizado para crear nubes públicas y privadas; por ejemplo, para ofrecer servicios consumibles en lugar del hardware en sí. El cómputo en la nube es atractivo por muchas razones, en particular por su modelo de utilidad de pagar solo por lo que se usa y la posibilidad de encender o apagar más recursos de manera muy rápida.
Ya que la virtualización ha existido desde hace décadas, ofrece arquitecturas de referencia y prácticas comunes detalladas; OpenStack, por su parte, ofrece gran flexibilidad, pero esa flexibilidad conlleva mayor responsabilidad: debe decirle qué quiere hacer. Para la nube en general aún se desarrollan arquitecturas de referencia y prácticas comunes.
Operar OpenStack también exige una filosofía de infraestructura diferente: DevOps, la práctica en la que ingenieros de operaciones y desarrollo trabajan en conjunto desde diseño hasta el proceso de desarrollo y hasta brindar soporte a producción. El objetivo de DevOps es crear una cultura y ambiente en el que desarrollar, probar y lanzar software ocurre de manera más rápida y confiable.
Más diferencias:
Para aquellos que siguen evaluando la nube a nivel general o que no están seguros de si OpenStack es adecuado para las necesidades de su negocio, a continuación presentamos una breve lista de casos de uso que han demostrado aprovechar las ventajas de OpenStack:
Algunas otras consideraciones para evaluar sus opciones:
Finalmente, quiero dejar en claro algunos mitos acerca de OpenStack que he escuchado por años, y muchos de esos mitos se relacionan directamente con algunas de las funcionalidades que existen en la actualidad en las plataformas de virtualización.
Mito: OpenStack no soporta máquinas virtuales o VM ni migración.
Hechos:
Mito: No existe ninguna función que permita consumir recursos de manera equitativa a través de su nube dentro de OpenStack.
Hechos:
Mito: Ninguna de las soluciones de almacenamiento de OpenStack son distribuidas.
Hechos:
Mito: OpenStack no percibe la salud del hipervisor:
Hechos:
Mito: No hay solución en OpenStack para recuperar su información.
Hechos:
Mito: En OpenStack, si pierde un nodo de cómputo, su aplicación falla.
Hechos:
Conozca más sobre los fundamentos de OpenStack o regístrese para una sesión estratégica gratuita. Varias empresas en Internet como Rackspace ha escalado OpenStack exitosamente a miles de nodos y lo opera en nubes de algunas de las compañías más grandes del mundo.
Continuará…..
Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…
La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…
Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…
Percona Monitoring and Management (PMM) es una herramienta de código abierto para la supervisión y…
Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…
Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…