Comparación de Container Apps con otras opciones de contenedor de Azure

Hay muchas opciones para que los equipos compilen e implemente aplicaciones contenedorizadas y nativas de la nube en Azure. Este artículo le ayudará a comprender qué escenarios y casos de uso son más adecuados para Azure Container Apps y cómo se compara con otras opciones de contenedor en Azure, como:

No hay ninguna solución perfecta para cada caso de uso y cada equipo. La explicación siguiente proporciona recomendaciones e instrucciones generales como punto de partida para ayudar a encontrar la mejor opción para su equipo y sus requisitos.

Comparaciones de las opciones de contenedor

Azure Container Apps

Azure Container Apps permite crear microservicios y trabajos sin servidor basados en contenedores. Entre las características distintivas de Container Apps se incluyen:

  • Optimizado para ejecutar contenedores de uso general, especialmente para aplicaciones que abarcan muchos microservicios implementados en contenedores.
  • Con tecnología de Kubernetes y tecnologías de código abierto, como Dapr, KEDA y envoy.
  • Admite aplicaciones y microservicios de estilo Kubernetes con características como la detección de servicios y la separación del tráfico.
  • Habilita las arquitecturas de aplicaciones controladas por eventos al admitir la escala basada en el tráfico y la extracción de orígenes de eventos como colas, incluida la escala a cero.
  • Admite la ejecución de trabajos a petición, programados y controlados por eventos.

Azure Container Apps no proporciona acceso directo a las API de Kubernetes subyacentes. Si necesita acceso a las API de Kubernetes y al plano de control, debe usar Azure Kubernetes Service. Sin embargo, si desea compilar aplicaciones de estilo Kubernetes y no requiere acceso directo a todas las API nativas de Kubernetes y a la administración de clústeres, Container Apps proporciona una experiencia totalmente administrada basada en procedimientos recomendados. Por estos motivos, es posible que muchos equipos prefieran empezar a crear microservicios de contenedor con Azure Container Apps.

Puede empezar a compilar su primera aplicación contenedora mediante los inicios rápidos.

Azure App Service

Azure App Service proporciona hospedaje totalmente administrado para aplicaciones web, incluidos sitios web y API web. Estas aplicaciones web se pueden implementar mediante código o contenedores. Azure App Service está optimizado para aplicaciones web. Azure App Service se integra con otros servicios de Azure, como Azure Container Apps o Azure Functions. Azure App Service es una opción ideal para compilar aplicaciones web.

Azure Container Instances

Azure Container Instances (ACI) proporciona un único pod de contenedores aislados de Hyper-V a petición. Puede considerarse como una opción de "bloque de creación" de nivel inferior en comparación con Container Apps. Los conceptos como la escala, el equilibrio de carga y los certificados no se proporcionan con los contenedores de ACI. Por ejemplo, para escalar a cinco instancias de contenedor, cree cinco instancias de contenedor distintas. Azure Container Apps proporciona muchos conceptos específicos de la aplicación aparte de los contenedores, como certificados, revisiones, escala y entornos. Los usuarios suelen interactuar con Azure Container Instances a través de otros servicios. Por ejemplo, Azure Kubernetes Service puede clasificar la orquestación y la escala sobre ACI mediante nodos virtuales. Si necesita un bloque de creación con menos "opiniones" que no se alinee con los escenarios para los que está optimizado Azure Container Apps, Azure Container Instances es una opción ideal.

Azure Kubernetes Service

Azure Kubernetes Service (AKS) proporciona una opción de Kubernetes totalmente administrado en Azure. Admite el acceso directo a la API de Kubernetes y ejecuta cualquier carga de trabajo de Kubernetes. El clúster completo reside en su suscripción, con las configuraciones y las operaciones del clúster bajo su control y responsabilidad. Los equipos que buscan una versión totalmente administrada de Kubernetes en Azure, Azure Container Service es una opción ideal.

Azure Functions

Azure Functions es una solución de funciones como servicio (FaaS) sin servidor. Está optimizado para la ejecución de aplicaciones controladas por eventos mediante el modelo de programación de funciones. Comparte muchas características con Azure Container Apps en torno a la escala y la integración con eventos, pero está optimizado para funciones efímeras implementadas como código o contenedores. El modelo de programación de Azure Functions ofrece ventajas de productividad para los equipos que buscan desencadenar la ejecución de las funciones en los eventos y establecer enlaces con otros orígenes de datos. Al compilar funciones de estilo FaaS, Azure Functions es la opción ideal. El modelo de programación de Azure Functions está disponible como una imagen de contenedor base, lo que permite moverlo a otras plataformas de proceso basadas en contenedores, de tal forma que los equipos pueden reutilizar el código a medida que cambian los requisitos del entorno.

Azure Spring Apps

Azure Spring Apps es un servicio totalmente administrado destinado a desarrolladores de Spring. Si desea ejecutar Spring Boot, Spring Cloud o cualquier otra aplicación de Spring en Azure, Azure Spring Apps es la opción ideal. El servicio administra la infraestructura de las aplicaciones de Spring, con el fin de que los desarrolladores puedan centrarse en el código. Azure Spring Apps proporciona administración del ciclo de vida mediante el uso de una supervisión y un diagnóstico completos, administración de la configuración, detección de servicios, integración de CI/CD e implementaciones blue-green, entre otros.

Red Hat OpenShift en Azure

Red Hat y Microsoft han diseñado, operado y admitido Red Hat OpenShift en Azure de forma conjunta para ofrecer una experiencia de soporte integrado. Con Red Hat OpenShift en Azure los equipos pueden elegir sus propias soluciones de CI/CD, almacenamiento, red y registro, o bien usar las soluciones integradas para la administración de código fuente automatizada, la creación de contenedores y aplicaciones, implementaciones, el escalado, la administración del estado, etc. Si su equipo u organización usa OpenShift, Red Hat OpenShift en Azure es una opción ideal.

Pasos siguientes