📦🔗 Integrando API .NET en Azure Container Instances

📦🔗 Integrando API .NET en Azure Container Instances

Descubre cómo simplificar la gestión y el escalado de APIs con Azure

Introducción:

Azure Container Instances (ACI) ofrece una solución robusta y flexible para los arquitectos de soluciones que buscan eficiencia y escalabilidad. En este post, exploraremos cómo la integración de APIs .NET en ACI puede transformar el manejo de aplicaciones en la nube, destacando su simplicidad y potencial de automatización.

¿Qué es este servicio?:

Azure Container Instances (ACI) es un servicio de Microsoft Azure que permite a los usuarios ejecutar contenedores en la nube sin necesidad de gestionar servidores o clusters de máquinas virtuales. ACI proporciona un entorno aislado y seguro para ejecutar aplicaciones, ofreciendo escalabilidad automática y facturación por segundo, lo que lo convierte en una opción ideal para aplicaciones que requieren flexibilidad en su despliegue.

¿Qué cubrirá este post?:

  1. Introducción a Azure Container Instances y sus características clave.

  2. Pasos para configurar y desplegar una API .NET en ACI.

¿Por qué es importante para los arquitectos de soluciones?:

Para los arquitectos de soluciones, ACI ofrece un camino hacia la simplificación de la infraestructura y la mejora de los procesos de CI/CD (Integración Continua y Despliegue Continuo).

Al eliminar la necesidad de administrar la infraestructura subyacente, los arquitectos pueden centrarse más en el diseño y la implementación de la lógica empresarial, lo que acelera el tiempo de comercialización de nuevas aplicaciones y funcionalidades.

¿Qué problemas puede resolver?:

Azure Container Instances está especialmente diseñado para resolver problemas como:

  • Alta disponibilidad y escalabilidad: Manejo eficiente de cargas de trabajo con fluctuaciones significativas en la demanda.

  • Gestión simplificada: Reducción de la complejidad en la gestión de servidores y clusters.

  • Despliegue rápido: Implementación ágil de contenedores para pruebas y producción sin demoras.

  • Costos optimizados: Pago solo por el tiempo que los contenedores están activos, reduciendo los costos operativos.

Ejercicio en Práctica

  1. En el portal vamos a crear primero un Azure Container Registries.

  1. Vamos hacer click en el botón "Create"

  1. Vamos a llenar el formulario con el nombre de nuestro ACR, y luego creamos el recurso.

  1. Una vez finalizado el proceso quedaria el recurso de la siguiente manera.

  1. Usamos el comando para autenticar y obtener acceso a un registro de contenedores de Azure (Azure Container Registry, ACR)
az acr login --name <acrName>
  1. La salida del comando seria de la siguiente manera.

  1. Tenemos este valor copiado del Login Server.

  1. Validamos las imagenes de nuestra API que tenemos en nuestra maquina local.

  1. Con el siguiente comando asignamos un tag a la imagen
docker tag apidesignlabs:dev acrdesinglabs.azurecr.io/apidesignlabs:dev
  1. Luego con el siguiente comando subimos la imagen a nuestro ACR
docker push <acrLoginServer>/<nombreApp>:latest
  1. La salida de los 2 comandos seria algo asi.

  1. Ahora validamos en nuestro ACR, en la opcion Services/Repositories, vemos que ya se ha subido la imagen

  1. Ahora en el portal crearemos un recurso llamado Azure container instance para ejecutar la imagen que acabamos de subir al ACR.

  1. Para poder instanciar esa imagen, vamos a habilitar el usuario administrador en la opción "Access keys"

  1. En el formulario llenamos la infomración de la siguiente manera, escogemos la fuente de la imagen en este caso seria "Azure Container Instances" y luego escogemos en el dropdown la imagen que subimos.

  1. en la pestaña networking le añadimos un dns label cualquiera

  1. Validamos la infomración y presionamos el botón Create

  1. una vez creado la instancia , presionamos el botón Start y copiamos la URL del FQDN y la abrimos en un navegador

  1. Vemos que ya la api esta desplegada usando contenedores.

Consideraciones finales:

La integración de APIs .NET en Azure Container Instances no solo facilita la gestión de aplicaciones en la nube, sino que también potencia la eficiencia operativa y la capacidad de respuesta empresarial.

Al adoptar ACI, los arquitectos de soluciones pueden garantizar una implementación más ágil y un manejo más eficiente de los recursos. Te animo a experimentar con este servicio y descubrir cómo puede optimizar tu arquitectura de soluciones en Azure.