En este artículo vamos a plantear una solución para minimizar costes de BBDD en los modelos de bases de datos Azure SQL en procesos aprovisionados.
Uno se pregunta si el modelo ServerLess ya escala de forma automática y ayuda a reducir costes (incluso pudiendo configurar una pausa del servicio cuando ha pasado un tiempo sin usarse). ¿Por qué elegir el modelo de provisión de recursos? Existen varios escenarios en los que deberíamos escoger este último modelo:
Una vez tenemos claro que el modelo provisionado es lo que realmente necesita nuestra BBDD, si tenemos identificados los patrones de uso (Escenario A), podemos implementar de forma sencilla esta solución para minimizar costes:
Vamos a pensar en un escenario en el que la BBDD tiene un uso bastante intensivo en horario de oficina, en un modelo de trabajo tradicional (de 08 a 18 horas). En el resto de los horarios tiene un uso residual, fines de semana incluidos.
Para que nuestra aplicación no tenga denegaciones de servicio, hemos hecho un análisis previo y requiere de una talla de BBDD que cuesta 1.000€ al mes (licencia poética) en horario de trabajo. Durante las horas de uso residual hemos visto que una talla de 50€ al mes es suficiente. Si suponemos que en un mes tenemos 22 días hábiles (por simplificar obviaremos festivos y demás escenarios esporádicos), adaptando las tallas de BBDD en función de los patrones de uso de la aplicación, estaríamos pagando 340€ en lugar de 1.000€ (la comprobación de estos datos os la regalo en forma de ejercicio de cálculo mental 😉 .
El dimensionamiento del nivel de precios de nuestra BBDD es una tarea sencilla si contamos con los privilegios adecuados. Esto es posible desde varios sitios:
a) Desde el portal de Azure. Esta es la opción más generalizada, además cuenta con la ventaja de poder visualizar el coste mensual:
c) Por último, la opción que nos va a permitir automatizarlo, mediante un script de sql como este:
ALTER DATABASE [database_name] MODIFY (EDITION = ‘Standard’, MAXSIZE = 250 GB, SERVICE_OBJECTIVE = ‘S4’);
Gracias a este script vamos a aprovechar la potencia de los conectores de logic app para ajustar el nivel de precio de nuestra BBDD a las horas de uso intensivo, y lo dejaremos a un nivel de precio suficiente para el resto de los horarios. Seguiremos los siguientes pasos:
1. Desde el portal de Azure, crearemos un proyecto de LogicApp, según la imagen:
a) Crear otra LogicApp de igual forma que esta
b) Añadir un temporizador, tras el cual ejecutar la query para dimensionar a la baja. En este ejemplo vamos a utilizar este, con el fin de tener toda la trazabilidad del proceso en un solo sitio.
Una vez hayamos terminado de configurar la Logic App, al guardar se publicará automáticamente. Si queremos comprobar que todo está configurado correctamente, podemos poner un delay de prueba (como en este caso, 5 minutos) y pulsamos en Run Trigger para ejecutar el flujo de forma manual.
En resumen, podemos aportar mucho valor a nuestra empresa o nuestros clientes y ayudar a minimizar costes con muy poco esfuerzo. Además, la potencia de las Logic App admite mucha personalización para adecuarla a nuestro escenario.
Este sitio web utiliza cookies para que tengas la mejor experiencia de usuario. Si continuas navegando, estás dando tu consentimiento para aceptar las cookies y también nuestra política de cookies (esperemos que no te empaches con tanta cookie 😊)