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

Azure Delete unattached disks

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

azure app service vs app service plan blog vinicius deschamps

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

azure app services settings scale up app service plan pricing tiers blog vinicius deschamps

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
azure app services settings scale up app service plan included features p2v2 blog vinicius deschamps

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

azure app services settings scale up app service plan included features s1 blog vinicius deschamps

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

azure app services updating app service plan number of web workers exceeds the maximum allowed for the hosting plan blog vinicius deschamps

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

azure updating app service plan staging slot exceed maximum number of slots allowed for the hosting plan blog vinicius deschamps

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)

azure app service scale up app service plan s1 apply blog vinicius deschamps

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

azure updating app service plan the plan was updated successfully blog vinicius deschamps

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.

https://docs.microsoft.com/en-us/azure/app-service/app-service-plan-manage#move-an-app-to-another-app-service-plan

En App Services, selecciona tu App Service (1), navega a Change App Service Plan (2) y pulsa Ok (3)

azure app service change app service plan blog vinicius deschamps

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

azure changing app service plan blog vinicius deschamps

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

azure changing app service plan failed to change to app service plan cannot complete the operation because the site will exceed the number of slots allowed for the basic sku blog vinicius deschamps

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!

Foto de Jp Valery en Unsplash

App ServicesAzureAzure App ServicesCost
Reducir los costos de Azure App Service — Vinicius Deschamps