Volver al curso: Azure Professional Training 2024: Fundamentos
Si necesita hospedar la aplicación en Azure, es posible que cambie inicialmente a una máquina virtual (VM) o a contenedores. Tanto las máquinas virtuales como los contenedores proporcionan excelentes soluciones de hospedaje. Hay otras opciones de hospedaje que puede usar con Azure, incluido Azure App Service.
¿Qué es Azure App Service?
App Service permite crear y hospedar aplicaciones web, trabajos en segundo plano, back-ends móviles y API RESTful en el lenguaje de programación que prefieras, sin tener que administrar la infraestructura. Ofrece escalado automático y alta disponibilidad. App Service admite Windows y Linux. Permite implementaciones automatizadas desde GitHub, Azure DevOps o cualquier repositorio Git para admitir un modelo de implementación continua:
- Permite desarrollar software en el lenguaje preferido, ya sea. NET, .NET Core, Java, Ruby, Node.js, PHP o Python. Las aplicaciones se ejecutan y escalan fácilmente en los entornos basados tanto en Windows como en Linux.
- No solo agrega a la aplicación la funcionalidad de Microsoft Azure, como la seguridad, el equilibrio de carga, el escalado automático y la administración automatizada. También puede sacar partido de las funcionalidades de DevOps, por ejemplo, la implementación continua desde Azure DevOps, GitHub, Docker Hub y otros orígenes, la administración de paquetes, entornos de ensayo, dominio personalizado y certificados TLS/SSL.
- Sólo se paga por los recursos de proceso de Azure que se utilizan. Los recursos de proceso que usa se determinan mediante el plan de App Service en el que ejecuta las aplicaciones, y determina el costo del servicio.
Azure App Service es una opción de hospedaje sólida que puede usar para hospedar las aplicaciones en Azure. Azure App Service te permite centrarse en la creación y el mantenimiento de la aplicación, y Azure se centra en mantener el entorno en funcionamiento.
Tipos de servicios de aplicaciones
Con App Service, puede hospedar la mayoría de los estilos de servicio de aplicación más comunes, como los siguientes:
- Aplicaciones web
- Aplicaciones de API
- Aplicaciones móviles
- Web Apps for Containers

App Service controla la mayoría de las decisiones sobre la infraestructura que se tratan en el hospedaje de aplicaciones accesibles desde la web:
- La implementación y administración se integran en la plataforma.
- Los puntos de conexión se pueden proteger.
- Los sitios se pueden escalar rápidamente para controlar cargas de tráfico elevado.
- El equilibrio de carga integrado y el administrador de tráfico proporcionan alta disponibilidad.
Todos estos estilos de aplicación se hospedan en la misma infraestructura y comparten estas ventajas. Esto convierte a App Service en la elección ideal para hospedar aplicaciones orientadas a la web.
Aplicaciones web
App Service incluye compatibilidad completa para hospedar aplicaciones web mediante ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP o Python. Puede elegir Windows o Linux como sistema operativo del host.
Aplicaciones de API
Al igual que al hospedar un sitio web, puede compilar API web basadas en REST mediante el lenguaje y el marco que prefiera. Se obtiene compatibilidad completa con Swagger y la posibilidad de empaquetar y publicar la API en Azure Marketplace. Las aplicaciones producidas se pueden consumir desde cualquier cliente basado en HTTP o HTTPS.
Aplicaciones móviles
Use la característica Mobile Apps de App Service a fin de compilar rápidamente un back-end para aplicaciones iOS y Android. Con unos pocos clics en el Portal de Azure, puede realizar lo siguiente:
- Almacenar los datos de aplicaciones móviles en una base de datos SQL basada en la nube.
- Autenticar a clientes con proveedores sociales comunes, como MSA, Google, Twitter y Facebook.
- Enviar notificaciones de inserción.
- Ejecutar lógica de back-end personalizada en C# o Node.js.
En el lado de la aplicación móvil, hay compatibilidad con el SDK para aplicaciones nativas de iOS y Android, Xamarin y React.
Trabajos web
Se puede usar la característica WebJobs para ejecutar un programa (.exe, Java, PHP, Python o Node.js) o un script (.cmd, .bat, PowerShell o Bash) en el mismo contexto que una aplicación web, aplicación de API o aplicación móvil. Los puede programar o ejecutar un desencadenador. Los trabajos web suelen usarse para ejecutar tareas en segundo plano como parte de la lógica de aplicación.
Azure App Service Plan
Un Azure App Service Plan es un conjunto de recursos computacionales, como CPU, memoria, almacenamiento y capacidad de red, asignados a una instancia de App Service. Es esencialmente la capa subyacente que determina la capacidad de escala, el rendimiento y el costo de ejecutar las aplicaciones en Azure.
¿Qué define un App Service Plan?
Cada plan de App Service define:
- Sistema operativo (Windows, Linux).
- Región (oeste de EE. UU., este de EE. UU., etc.).
- Número de instancias de VM.
- Tamaño de las instancias de VM (pequeño, mediano, grande).
- Plan de tarifa (Gratis, Compartido, Básico, Estándar, Premium, PremiumV2, PremiumV3, Aislado y AisladoV2).
Es importante destacar que un App Service Plan y una Web App son entidades distintas, aunque estén estrechamente relacionadas. Mientras que un App Service Plan define los recursos y las características de escalabilidad, una Web App representa la aplicación específica que se ejecuta dentro de ese plan.
Relación Azure App Service Plan y Web Apps
En los planes Gratis y Compartido, una aplicación recibe minutos de CPU en una instancia de máquina virtual compartida y no se puede escalar horizontalmente.
En otros planes, una aplicación se ejecuta y escala de la siguiente manera:
- Una aplicación se ejecuta en todas las instancias de máquina virtual configuradas en el plan de App Service.
- Si hay varias aplicaciones en el mismo plan de App Service, comparten las mismas instancias de VM.
- Si tienes varias ranuras de implementación para una aplicación, todas las ranuras de implementación se ejecutan también en las mismas instancias de VM.
- Si habilitas los registros de diagnóstico, realizas copias de seguridad o ejecutas WebJobs, también usan ciclos de CPU y memoria en estas instancias de VM.
Usos y beneficios de Azure App Service Plan
Usos y Beneficios de Azure App Service Plans
- Escalabilidad: Los App Service Plans permiten escalar verticalmente (cambiando a planes de mayor capacidad) o horizontalmente (aumentando el número de instancias) según las necesidades de la aplicación.
- Rendimiento Mejorado: Al asignar recursos dedicados a un App Service Plan, se garantiza un rendimiento constante y predecible para las aplicaciones, especialmente en momentos de carga pesada.
- Aislamiento y Seguridad: Cada App Service Plan ofrece un entorno aislado para las aplicaciones, lo que ayuda a garantizar la seguridad y la estabilidad. Los planes dedicados pueden incluso proporcionar opciones adicionales de seguridad y cumplimiento normativo.
- Administración Simplificada: Utilizar un único App Service Plan para varias Web Apps relacionadas puede simplificar la administración de recursos, ya que permite administrar y escalar todas las aplicaciones desde una sola ubicación.
- Optimización de Costos: Azure ofrece diferentes tipos de planes (como Free, Shared, Basic, Standard y Premium), lo que permite a los usuarios elegir la opción más adecuada según los requisitos de rendimiento y presupuesto de sus aplicaciones.
En resumen, los Azure App Service Plans son elementos fundamentales en la infraestructura de Azure App Service, proporcionando la base sobre la cual se ejecutan y escalan las aplicaciones web y móviles. Al entender cómo funcionan y cómo se relacionan con las Web Apps, los desarrolladores pueden aprovechar al máximo esta poderosa plataforma de desarrollo en la nube.
Conclusiones
- App Service permite crear y hospedar aplicaciones web, trabajos en segundo plano, back-ends móviles y API RESTful sin tener que administrar la infraestructura.
- Soporte múltiples lenguajes y frameworks.
- Ofrece escalado automático y alta disponibilidad. App Service admite Windows y Linux.
- Permite implementaciones automatizadas desde GitHub, Azure DevOps o cualquier repositorio Git para admitir un modelo de implementación continua.
- Permite alojar aplicaciones contenerizadas.
- Es parte de la oferta PaaS de Azure.
Próximos pasos
Vamos a poner manos a la obra ejercitando la creación de un Azure App Service con una aplicación de ejemplo.