Azure · Custos · Web App
Reducir los costos de Azure App Service
La publicación de hoy cubrirá Reducir los costos de Azure App Service y es parte de la serie Azure Savings que cubre maneras de ahorrar dinero en Azure.
Una vez escuché, y desde entonces uso, esta analogía: que usar recursos en la nube es similar a usar electricidad: cuanto más utilizas, más caro será. Aunque también puedes ahorrar dinero si aplicas a la nube lo que actualmente haces para la electricidad
¡Apaga las cosas que no están en uso!
Otras publicaciones de la serie Azure Savings
Azure Savings Scheduled Shutdown and Startup of Virtual Machines
Antes de empezar, permítanme explicar la diferencia entre Azure App Service (Web App) y App Service Plans.
Azure App Service (Web App) vs App Service Plans
App Service y App Service Plans no son lo mismo, y aquí está la razón
- App Service Plan es los recursos de cómputo
- App Service es el servidor web donde se encuentran la configuración y los ajustes
Entonces, podemos establecer la siguiente relación entre Web App y App Service Plan que puede determinarse

Donde N App Services pueden usar el mismo App Service Plan, siempre y cuando aún tenga recursos para manejarlo
Puedes obtener una explicación detallada sobre Azure App Service (Web App) y App Service Plans aquí.
¿Cómo se te cobra por App Service?
Se te cargará por los recursos de cómputo que estás usando, lo que significa que el App Service Plan determina cuánto costará.
A diferencia de Máquinas Virtuales, los App Service Plans se facturan por segundo, lo que significa que desde el momento en que forma parte de tu entorno, te están cobrando.
Otra diferencia con las Máquinas Virtuales es que incluso si Detienes tu App Service, se siguen aplicando cargos porque el App Service Plan está en ejecución, y no puedes Desasignarlo.
Antes de explicarte cómo ahorrar algo de dinero con App Services, déjame recorrer contigo las diferentes capas que puedes tener con App Service Plans.
Capas de App Service Plan
Como el App Service Plan regula cuánto pagarás, tiene diferentes sabores que determinan las características que obtendrás en tus App Services.
Shared
Como puedes imaginar, la capa Shared ejecuta una app en la misma VM de Azure que otras apps de App Service, incluidas apps de otros clientes. Tienes dos opciones para usar una capa Shared- Free
- Shared
Dedicated
Si buscas tener apps en VMs dedicadas de Azure, esta es la opción. Tienes las siguientes opciones para usar una capa Dedicated- Basic
- Standard
- Premium
- Premium v2
- Premium v3
Isolated
Además de ejecutarse en VMs dedicadas de Azure, la capa Isolated también tiene sus propias redes virtuales de Azure
Reducir los costos de Azure App Service
Como puedes imaginar, las capas de App Service Plan tienen precios diferentes y, como no hay forma de simplemente Desasignar para detener cargos, ¿cómo puedes reducir los costos de Azure App Service?
Tienes dos opciones para hacerlo: redimensionar el App Service Plan a una capa más baja o usar el mismo App Service Plan para múltiples App Services
IMPORTANTE
Ten cuidado al aplicar estos cambios en entornos PRODUCCIÓN, porque modificar los App Service Plans afectará los recursos disponibles para tu aplicación
Además, la idea de ahorrar dinero con estas acciones encaja mejor si tienes aplicaciones inactivas o entornos de prueba/desarrollo que podrían usar menos recursos de cómputo para entregar el mismo trabajo.
Redimensionar App Service Plan
En App Services, selecciona tu App Service (1), navega a Scale Up (App Service Plan) (2) y verifica qué Tier tiene actualmente tu aplicación

Antes de proceder reduciendo la capa, debes verificar qué Included Features tu App Service Plan tiene actualmente
Estoy ejecutando P2v2, y estas son las características incluidas
- Dominios personalizados / SSL
- Auto escalar (hasta 20 instancias)
- Slots de staging
- Copias de seguridad diarias
- Traffic manager

Vamos a ver B1 y S1
Características Incluidas de B1
B1 tiene las mismas características incluidas que P2v2, sin embargo, con límites diferentes para cada característica, por ejemplo S1 permite 10 copias de seguridad diarias cuando P2v2 permite 50 copias de seguridad diarias

Si tu App Service está por debajo o en el límite de las características incluidas en S1, entonces no deberías tener problemas al redimensionarlo, de lo contrario podrías ver errores al intentar hacerlo
Por ejemplo, si tienes más instancias de las soportadas por S1

O si tienes más Slots de staging de los soportados por S1

Muy bien, estoy ejecutando P2v2 y mi aplicación está usando las siguientes Características Incluidas
- Dominios/SSL personalizados
- 3 instancias (Auto escala)
- 1 slot de staging
- 1 copia de seguridad diaria
Habiendo verificado las características y sus límites, ahora puedo redimensionar de forma segura mi App Service Plan a S1 eligiendo S1 (1) en Scale Up (App Service plan), y hacer clic en Apply (2)

Espera a que se complete la actualización y recibirás The plan ‘app-service-plan-01’ was updated successfully!

Múltiples App Services en un solo App Service Plan
La idea principal detrás de múltiples App Services en un solo App Service Plan es usar un solo recurso de cómputo y reducir costos cuando sea posible.
IMPORTANTE
Puedes mover una app a otro App Service Plan, siempre que el plan de origen y el plan de destino estén en el mismo grupo de recursos y región geográfica.
En App Services, selecciona tu App Service (1), navega a Change App Service Plan (2) y pulsa Ok (3)

Espera a que la actualización se complete y recibirás Changing App Service plan

Sin embargo, esto ocurrirá si el Destination App Service Plan tiene suficiente espacio en las Included Features, de lo contrario tendrás algunos problemas como se mostró anteriormente
Por ejemplo, intenté cambiar el App Service Plan de un P2v2 a un B1, pero tengo 5 instancias (Scale Out), así que recibí el siguiente mensaje

Dicho esto, también debes recordar revisar las Included Features del destino App Service Plan para evitar errores durante el proceso.
¡Y eso es todo!
Espero que te haya gustado, y nos vemos en mi próxima publicación!