Aunque no es habitual, hoy me gustaría compartiros mi opinión sobre #Openstack debido al gran impacto que está sufriendo en estos últimos meses y habiendo trabajado directamente durante más de 5 años con esta tecnología. Durante estos años he podido conocerla desde el ámbito más técnico pudiendo estar en la implementación, operación y dando soporte sobre el mismo pasando posteriormente al área preventa y pudiendo posicionarlo y compararlo con otras soluciones en función de su caso de uso o proyecto y por último trabajando en esta última etapa como desarrollo de Producto de nuestra Cloud Pública permitiendo evolucionar y exprimir sus funcionalidades a nuestros clientes.
Por ello quiero dejar lo que para mí son los puntos claves a la hora de abordar o posicionar proyectos con esta tecnología y cuales son mis impresiones sobre la misma.
1. Caso de Uso. Openstack es una tecnología válida para múltiples escenarios. En mi experiencia lo he utilizado desde un entorno de laboratorio con un único nodo hasta una solución para montar un servicio de Nube Pública multi-región en diferentes países o un entorno de Cloud Privada para entornos de máxima resiliencia. Aunque todo sea Openstack, la manera de montar la arquitectura es totalmente distinta, teniendo que optar por una serie de decisiones desde tipo de Hardware, Drivers para integrarse con el mismo o módulos y funcionalidades que necesitas en cada uno. Por ello es muy importante contar con un equipo de arquitectura que sepa elegir cuales son las piezas del puzzle que necesita cada uno de tus proyectos. En mi opinión la tecnología es muy potente pero siempre que este optimizada para tus necesidades y proyecto.
2. Arquitectura. Después de trabajar durante más de 5 años y con el aprendizaje continuo cada día con esta tecnología, colocar las bases de arquitectura en función de tu proyecto considero que es lo más importante y lo que va a llevar a un proyecto exitoso evitando muchos dolores de cabeza. La solución de Openstack nos permite jugar con cada parámetro que pensemos en el mundo Cloud pudiendo elegir tipologías de Hypervisores, agregados de Host o zonas de disponibilidad en función de los servicios que quieras exponer al consumidor. Debes entender las capas de servicios que quieres ofrecer y como las quieres ofrecer porque cambiará drásticamente el diseño y como montas tu propia cloud.
3. Equipo Técnico. Sin duda alguna es el pilar sobre el que basaría cualquier proyecto y es a mi juicio la clave del éxito de estos proyectos. Openstack es un océano sin final donde puedes exprimir sus funcionalidades hasta el límite que quieras. Para ello durante estos años hemos formado un equipo humano desde la capa de “Soporte” hasta la capa de arquitectura capaz de poder integrar, operar y soportar día a día cada una de las nuevas funcionalidades, mejoras y nuevos proyectos a nuestros clientes. Podría decir después de haber recorrido este camino que nunca me metería en un proyecto tecnológico de este tipo sin una inversión en un equipo técnico dispuesto a enfrentarse a este reto y como recomendación siempre tener a gente con una experiencia de dos a tres años mínimo en esta tecnología ya que va a permitirnos un go-to-market mucho más rápido.
4. Distribución. Una decisión que cuando se empieza no se valora como debe y va a marcar tanto la evolución de tu producto como el knowhub de tu equipo técnico. Todas mantienen la misma esencia de Openstack, pero cada una la aborda de una manera distinta y puede estar más o menos evolucionada y con un soporte de mayor o menor medida. En mi experiencia llevamos trabajando directamente con #Kolla-Ansible formando al equipo en un stack tecnológico estandarizado y completo en el mercado, ofreciendo la flexibilidad que necesitamos para nuestros servicios de Cloud Pública o proyectos de Cloud Privado. Sin embargo, también existe la posibilidad de obtener distribuciones con soporte de fabricantes como #Canonical o #Red-Hat para proyectos que lo requiere o donde necesitamos la garantías de este tipo de distribuciones.
5. Funcionalidades. Sin lugar a duda, uno de los puntos que se deben de tener claros a la hora del diseño y que alterará los requerimientos y bases de tu Cloud. Si lo que necesitas es un servicio enfocado en Cloud Privada donde tus pilares son la resilencia y la potencia de computación o networking haremos focus en módulos core de openstack como #Nova para #Computación, #Cinder para Storage o #Neutron para Networking pudiendo competir con soluciones como Nutanix, VMware o Proxmox con alta presencia en el mercado. Si por otro lado necesitamos enfocarnos en servicios PaaS o funcionalides para diseñar un modelo enfocado en Cloud Pública para nuestros clientes podremos centrarnos en funcionalidades Multi-Tenancy, servicios PaaS como Bases de Datos, Kubernetes, Baremetal o Lambda como servicios sin olvidarnos de la versatilidad de ofrecer diferentes modelos de Computo, Storage que se adapten a las necesidades tanto económicas como técnicas de nuestros clientes.
6. Soporte y continuidad. Quizá el punto que más miedo da a las empresas a la hora de optar por esta tecnología y en cierta medida es verdad. Openstack es un sotware totalmente Opensource donde podremos bajar hasta nivel de código e imágenes para personalizar, corregir y optimizar. Para ello debemos tener un equipo con la capacidad de hacerlo y que muchas veces es más costoso por experiencia que en otras tecnologías. Por eso uno de los puntos de éxito que hemos trabajado en el equipo es acompañar a las empresas y los partners en este aprendizaje continuo y facilitar mediante nuestros propios desarrollos todo este proceso de operativa y aprendizaje a través de una herramienta WEB intuitiva y sencilla como es nuestro orquestador Soax.
7. Actualizaciones. Una de las asignaturas pendientes de Openstack, o al menos lo era hasta hace unos meses tras el último lanzamiento de su distribución #Caracal donde uno de los focos en los que trabajó es en la optimización y proceso de actualización entre versiones. Aunque hemos actualizado a ella y ya estamos trabajando es pronto para decir si ya es un hándicap solucionado pero lo que está claro es que era una necesidad conocida y en la que la comunidad cada día está haciendo más foco. Todo depende del tipo de diseño y arquitectura que hayamos montado, o al menos esto va a influir en la facilidad o procesos que vamos a implementar para esta actualización. En resumen, todavía estamos lejos de lo conocido como One-click update pero esperemos evolucionar en este sentido.
Esto son algunas de las reflexiones que personalmente me hubiera gustado haber leído hace ya unos años cuando abordamos nuestra primera aventura en Openstack y más haciéndolo en el diseño de una Cloud Pública, quizá uno de los proyectos después de mi experiencia más complicados que se pueden afrontar en este sector. Espero que este post os sirva a la hora de tomar alguna decisión sobre estrategia Cloud y más en estos tiempos de constante evolución de proyectos IT y si queréis que profundicemos en algún tema relacionado con estos puntos u otros estaré encantado de compartirlo.