Azure Container Services: modernos, eficaces e indispensable
Más rápida, más ágil, más eficiente: la tecnología de contenedores está transformando la forma en que las empresas desarrollan y despliegan software. Obtenga más información sobre cómo Microsoft Azure sirve como plataforma líder para alojar contenedores y cómo puede mejorar significativamente la agilidad y escalabilidad de sus aplicaciones.
En nuestro mundo acelerado, las empresas se enfrentan constantemente a nuevos desafíos que requieren soluciones rápidas y flexibles. Los contenedores son una tecnología clave que cumple estos requisitos. Estos permiten hacer que los procesos de desarrollo y despliegue de software sean más eficientes y se adapten al vertiginoso ritmo de la transformación digital.
Los contenedores, componentes básicos de los modernos flujos de trabajo CI/CD, ofrecen un entorno de ejecución minimalista y eficiente que incluye únicamente los componentes esenciales necesarios para ejecutar una aplicación. Al separar los componentes adicionales proporcionados por el sistema host, los contenedores reducen significativamente los tiempos de arranque y actualización.
La pregunta que se plantea ahora es: ¿cómo aprovechar y gestionar mejor este potencial?
Soluciones de contenedores en Azure
Microsoft Azure ofrece una amplia gama de opciones para utilizar contenedores. Las opciones van desde soluciones totalmente gestionadas, en las que Microsoft se hace cargo de gran parte de la configuración de la infraestructura, hasta soluciones de gestión ligera, en las que la gestión y el mantenimiento del sistema host son responsabilidad del cliente.
Aquí hay una lista de las opciones de alojamiento de contenedores en Azure, desde Light hasta Full Managed:
- Azure Kubernetes Services (AKS)
- Azure Container Instances (ACI)
- Azure WebApp for Containers
- Azure Container Apps (ACA)
Cada uno de estos servicios ofrece sus propias ventajas en función del caso de uso previsto.
Azure Container Registry (ACR) permite el almacenamiento centralizado de contenedores en su propio entorno Azure y ofrece una solución integrada para utilizar ACR como fuente de las imágenes de contenedor utilizadas.
Destacado: Azure Container Apps
La más reciente opción de alojamiento de contenedores de Microsoft es Azure Container Apps (ACA). A diferencia de AKS, Microsoft gestiona por completo los Kubernetes subyacentes, incluidas las actualizaciones y el escalado.
Como base sirve un Azure Container App Environment, en el que Microsoft proporciona recursos Kubernetes totalmente gestionados que pueden ser utilizados por las aplicaciones. Los distintos perfiles de carga de trabajo ofrecen diversas combinaciones de CPU/RAM y también el uso de sistemas GPU.
La principal ventaja de esta solución es que el usuario puede centrarse únicamente en su aplicación y su configuración específica, sin tener que gestionar el clúster.
ACA ofrece diversas formas de conectar fácilmente las aplicaciones con otros servicios de Azure. Por ejemplo, FileShares de una cuenta de almacenamiento Azure puede integrarse en sus contenedores para asegurar datos persistentes entre reinicios o cambios de versión de la aplicación.
Otra característica de ACA son las pruebas A/B o Green/Blue, en las que se ejecutan simultáneamente dos versiones de una aplicación. El tráfico entrante se divide entre las instancias en ejecución, lo que permite conocer rápidamente la fase actual de desarrollo y corregir errores de inmediato.
Ejemplo práctico: GitHub Runner en Azure Container Apps
Un ejemplo práctico: los workflows CI/CD requieren un entorno en el que puedan ejecutarse. GitHub, Azure DevOps y otros proveedores ponen a disposición agentes públicos en los que se pueden ejecutar los workflows. Estos runners son gestionados por GitHub y se comunican a través de endpoints públicos. Sin embargo, si necesitas acceso a recursos internos o no quieres trabajar en sistemas públicos, estos runners también pueden funcionar en tu propia red.
Tradicionalmente, para ello se utilizaban máquinas virtuales que funcionaban 24 horas al día, 7 días a la semana. Azure Container Apps ofrece una alternativa rentable y escalable. Mediante el uso de KEDA (Kubernetes Event Driven Autoscaler), se establece una conexión con su propio entorno de GitHub. ACA supervisa si se ha iniciado un workflow, inicia un contenedor para ejecutar el workflow y, a continuación, lo elimina de nuevo. Si no se está ejecutando ningún workflow, no se inicia ningún contenedor, lo que mantiene los costes bajos.
La escalabilidad de la solución es otra ventaja, ya que se crea una instancia de contenedor independiente para cada workflow. En comparación con una máquina virtual, en la que normalmente solo un agente atiende un workflow, esto ofrece una alternativa flexible y eficiente.
Resumen
Los contenedores ofrecen una excelente oportunidad para modernizar su propio desarrollo y despliegue de aplicaciones. Microsoft Azure, con su completa cartera de servicios, ofrece la solución adecuada, tanto si desea gestionarla usted mismo como si desea centrarse por completo en su aplicación.