El escalado automático de Azure es una característica de Azure Product as a Service (PaaS) que nos permite aumentar o disminuir recursos automáticamente mediante reglas de escalado, gracias a las cuales podemos establecer umbrales o programaciones con las que disminuir los recursos que requieran una aplicación.

 

¿Por qué deberíamos usar escalado automático de Azure?

 

Pongamos que para un cliente realizamos a diario realizamos cargas de datos para mantener su sistema actualizado. Pongamos que al final de cada mes, recibimos unos ficheros con gran cantidad de información, muy superior a la que se requiere día a día. Para realizar dicha carga mensual, se necesita disponer de más recursos para realizarla, lo cual provoca un aumento de costes, pero gracias a Azure Auto Scaling, se puede programar para disponer de estos recursos automáticamente solo cuando hagan falta, disminuyendo así los costes.

 

Los Escalados pueden ser horizontales o verticales, pero el que nos ocupa en el blog es el escalado vertical de bases de datos, que se utiliza para aumentar o disminuir los recursos de los que disponemos para realizar nuestras cargas de datos. El escalado de bases de datos se puede realizar por niveles como veremos en el siguiente apartado.

 

Niveles de bases de datos y escalado por DTU

 

En Azure existen 3 niveles de servicios (Basic, Estándar y Premium), los cuales tienen subniveles con una cantidad correspondiente de DTU (Database Throughput Unit). El DTU es una unidad abstracta con la que se representan los recursos que tenemos disponibles de memoria, CPU, disco, y velocidad de lectura y escritura. Por regla general, el doble de DTU se corresponde con el doble de rendimiento en un Benchmark.

 

Escalado bases de datos Azure

 

Los niveles de Servicio que se disponen son desde el básico con 5 DTU, que es ideal para una sola base de datos que realice una sola operación a la vez, hasta Premium con 4000 DTU, que permite múltiples operaciones concurrentes con múltiples bases de datos de gran volumen, pero muy caro mantener ese nivel de servicio comparado con niveles más bajos. Para ayudar a informarnos del nivel que requerimos, existe una calculadora online en la siguiente URL.

 

En los casos que tengamos múltiples bases de datos con distintas cargas, se puede generar un grupo elástico que permita compartir los recursos entre sí. De este modo, es posible que tengamos bases de datos distintas que requieran gran cantidad de recursos a distintas horas, y que puedan compartir esos recursos.

 

¿Cómo se realiza el escalado?

 

En el portal de Azure, podemos seleccionar la base de datos que necesitamos hacer el escalado, y en el menú de la izquierda seleccionamos ‘Configurar’, así nos saldrán los niveles que disponemos.

 

Escalado bases de datos Azure

 

Si queremos un escalado automático por núcleos, podemos pulsar en vCore-based purchasing options desde donde podemos elegir los núcleos y recursos que queremos al realizar el escalado automático para disponer de más recursos cuando sea necesario.

 

Otra forma de realizar el escalado automático por DTU, sería realizarlo en el Data Factory, dentro de un Pipeline programado en una rutina como se puede ver aquí mediante el uso de procedimientos almacenados.

 

Si tenemos una suscripción Estándar, podemos alternar entre S0 y S3 por ejemplo, para que en el uso normal de la base de datos se encuentre en S0, pero cuando vayamos a realizar cargas de datos lo haga en S3.

 

ALTER DATABASE [FastDB] MODIFY (SERVICE_OBJECTIVE = ‘S3’);

 

ALTER DATABASE [FastDB] MODIFY (SERVICE_OBJECTIVE = ‘S0′);

 

Nótese que el escalado no es instantáneo, por lo que será necesario introducir un delay mientras se realiza el escalado o que dependa de que acabe otra operación. Un ejemplo de introducir el delay sería con una caja de procedimiento almacenado con la siguiente sentencia: WAITFOR DELAY ’00:03:00’.

Si estás interesado en este tema y otros relacionados, échale un vistazo a los workshops que tenemos preparados para ti este año sobre Azure y Planes de ejecución en SQL Server en nuestro SolidQ Summit, el evento nacional dedicado a la plataforma de datos de Microsoft. Aprende cosas nuevas y comparte conocimientos con nuestros MVP de Microsoft y con toda la comunidad SolidQ.

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like

Expresiones, parámetros y funciones en Azure Data Factory

Hay ocasiones, cuando estamos construyendo pipelines con Azure Data Factory, que queremos repetir patrones para extraer y procesar la información cambiando de manera dinámica, en tiempo de ejecución, valores, orígenes/destinos de los datasets, incluso los mismos linked services. Esto es posible mediante el uso de parámetros, expresiones y funciones. Vamos a ver cómo implementarlo con un ejemplo práctico en el que se nos plantea el siguiente supuesto. Se nos ha pedido que extraigamos todos los días los datos del día anterior de distintas tablas del DW a ficheros en un blob storage que además se nombre como la tabla de origen. Si no pudiéramos utilizar contenido dinámico tendríamos que crear dos datasets (uno de origen y otro de destino) y añadir una actividad de copia por cada tabla a exportar.

Extended support. Pan para hoy, hambre para mañana.

Este año 2020 va a representar un reto importante para muchas organizaciones desde el punto de vista de actualizaciones/renovaciones. El soporte extendido de SQL Server 2008 terminaba el pasado 9 de Julio de 2019 y hoy 14 de Enero de 2020 termina el de Windows Server 2008 y 2008 R2. Muchas empresas son conscientes del fin de soporte y a pesar de ello, aún no tienen prevista la migración por lo que probablemente deba ser abordada en breve y con cierta urgencia (escanario ideal).