Diciembre 06, 2023
ibonelli
¿Cómo trabajar en la nube con multiples proveedores?
Cuando comencé esta serie de artículos, tenía algo en mente: la forma en que las empresas de servicios en la nube han categorizado sus estrategias de marketing. Fue un buen punto de partida para organizar lo que quería decir, pero a medida que avanzaba con la serie, me di cuenta de que había algo más que debía mencionar. El enfoque de este último artículo es un poco diferente; tiene que ver con lo que ahora se llama Multi-Nube. En pocas palabras, las empresas que consumen servicios en la nube han comprendido que la mejor manera de controlar sus facturas es utilizar más de un proveedor.
Al construir soluciones multi-nube, una cosa importante a tener en cuenta es la orquestación. Esto nos da una forma de describir nuestra solución de manera repetible. Si bien se puede lograr de muchas maneras, las tecnologías más populares en este momento son: Docker, Kubernetes, Ansible, Terraform, CircleCI (entre muchas otras). Cada una de estas tecnologías es un mundo en sí misma, pero quiero cubrir al menos un par de ellas para dar una idea de lo que ofrecen. De cualquier manera, ambas nos permitiran describir nuestras aplicaciones.
Kubernetes
Kubernetes ayuda a crear soluciones que se pueden mover entre proveedores; es un orquestador de contenedores. Hubo otros, pero ganó la “guerra”. Utilizándolo, puede describir su solución incluyendo detalles sobre registro, escalamiento, gestión de problemas, autorreparación y más. Aunque es una tecnología nueva que llevará tiempo aprender, brinda control sobre gran parte de su solución y le permite describirla de manera que se ejecute exactamente de la misma manera en diferentes proveedores. Una vez que aprenda a describir sus soluciones, lo escribirá una vez y listo. Puede mover su solución entre proveedores y debería ejecutarse de la misma manera.
La tecnología subyacente a Kubernetes es la contenerización; incluso podría ejecutar contenedores Docker y orquestarlos con Kubernetes. Pero la recomendación es utilizar sus propios contenedores; Docker suele usarse para entornos locales. Aunque esta tecnología fue iniciada por Google, hoy es de código abierto y está respaldada por una comunidad grande.
Terraform y Ansible
Terraform (de Hashicorp con cambios recientes en la licencia) tiene un enfoque diferente; le permitirá describir su solución de hardware e implementarla en diferentes proveedores. Tiene una manera común de lidiar con los servicios en todos los principales proveedores (AWS, GCS, Azure, etc.) y puede describir su “hardware” de manera que pueda crearse de manera repetible (llamado Infraestructura como código). Esto solo será parte de su solución, ya que necesitará ejecutar alguna configuración en el hardware después de que se haya creado. En la mayoría de las situaciones, Ansible (de código abierto y adquirido por Red Hat en 2015) lo ayudará con esa parte de la tarea. Hay otras formas de hacer esto, pero esta es la más abierta y popular en este momento.
Entonces, ¿por qué usar Terraform+Ansible cuando se puede hacer lo mismo que con Kubernetes? Más control. Puede definir exactamente el hardware que desea y, con eso, puede utilizar diferentes opciones que podrían ayudarlo a reducir costos. Pero como siempre, las cosas tienen un precio; deberá aprender dos tecnologías en lugar de una.
Otros contendientes
Siempre puede usar los lenguajes o herramientas nativos del proveedor de servicios en la nube para crear su hardware (por ejemplo, AWS Cloud Formation); también puede usar alternativas a Ansible (chef, puppet, etc.), e incluso hay alternativas más simples que le permiten utilizar sus imágenes de Docker (por ejemplo, Amazon Elastic Container Service).
Pero la razón por la que mencioné específicamente las tecnologías anteriores es que son las más populares, y hay buenas razones para su popularidad. Así que a menos que tenga algo heredado, le sugeriría que comience con estas.
Conclusión
La lección más importante de este artículo es que ahora tiene tecnologías que lo ayudarán a lidiar con el entorno multi-nube en el que estamos viviendo. Hay diferencias, complejidades, pero a medida que avanza en su camino hacia la nube, terminará necesitando utilizar soluciones como estas.
Finalmente, me gustaría compartir una serie de informes de Hashicorp (la empresa detrás de Vagrant y Terraform, entre otras tecnologías) que comparte una vista anual de la multi-nube (en inglés):
- Bienvenido a la Era Multi-Nube (2021)
- Haciendo que la Multi-Nube funcione (2022)
- La madurez en la nube impulsa la eficiencia operativa (2023)
Cierre de la serie
Este es el artículo final de la serie, así que me gustaría compartir los enlaces de toda la serie:
- La Transición hacia la Nube
- Migrar a la Nube: Nuestro primer paso
- Desarrollo de Aplicaciones para la nube y los servicios disponibles
- Migrar a la Nube: ¿Y si nos deshacemos de nuestros servers completamente?
¡Gracias por leernos!