📦🔗 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?:
Introducción a Azure Container Instances y sus características clave.
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
- En el portal vamos a crear primero un Azure Container Registries.
- Vamos hacer click en el botón "Create"
- Vamos a llenar el formulario con el nombre de nuestro ACR, y luego creamos el recurso.
- Una vez finalizado el proceso quedaria el recurso de la siguiente manera.
- Usamos el comando para autenticar y obtener acceso a un registro de contenedores de Azure (Azure Container Registry, ACR)
az acr login --name <acrName>
- La salida del comando seria de la siguiente manera.
- Tenemos este valor copiado del Login Server.
- Validamos las imagenes de nuestra API que tenemos en nuestra maquina local.
- Con el siguiente comando asignamos un tag a la imagen
docker tag apidesignlabs:dev acrdesinglabs.azurecr.io/apidesignlabs:dev
- Luego con el siguiente comando subimos la imagen a nuestro ACR
docker push <acrLoginServer>/<nombreApp>:latest
- La salida de los 2 comandos seria algo asi.
- Ahora validamos en nuestro ACR, en la opcion Services/Repositories, vemos que ya se ha subido la imagen
- Ahora en el portal crearemos un recurso llamado Azure container instance para ejecutar la imagen que acabamos de subir al ACR.
- Para poder instanciar esa imagen, vamos a habilitar el usuario administrador en la opción "Access keys"
- 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.
- en la pestaña networking le añadimos un dns label cualquiera
- Validamos la infomración y presionamos el botón Create
- una vez creado la instancia , presionamos el botón Start y copiamos la URL del FQDN y la abrimos en un navegador
- 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.