Curso DBA Senior – C4 – El ecosistema Azure y su poder para DBAs

Capítulo 4

No es solo SQL en la nube: es una plataforma completa para automatizar, conectar y escalar



¿Por qué un DBA debe conocer el ecosistema Azure?

Porque en entornos modernos, tu trabajo ya no termina en el servidor on-premise.
Ahora también incluye:

  • Bases en Azure SQL Database o Managed Instance
  • Automatización de tareas
  • Monitoreo distribuido
  • Recuperación desde múltiples regiones
  • Integración con pipelines de datos y aplicaciones web

Este capítulo te muestra cómo un DBA se vuelve más estratégico cuando conoce Azure más allá de lo básico.

Temas que abordaremos en este capítulo:

  • 4.1 Diferencias entre Azure SQL Database y Managed Instance
    Qué opción usar según tu escenario real
  • 4.2 Monitorización, alertas y performance en Azure
    Control y análisis continuo desde el portal
  • 4.3 Automatización con Azure Automation y Runbooks
    Cómo programar tareas sin depender del SQL Agent
  • 4.4 Integración con Azure Data Factory y otros servicios
    Conecta tu base con procesos de ETL, apps, APIs y más

Ejemplo realista para contextualizar

Imagina que tu cliente quiere un entorno escalable, que se respalde solo, esté disponible 24/7 y envíe alertas si baja el rendimiento.
Ya no se trata solo de SQL, sino de entender servicios conectados como Monitor, Runbooks, Backups automáticos y Firewalls inteligentes.

Consejos antes de entrar a los subtemas

  • No necesitas saber todo para empezar, pero sí entender qué existe y cómo se conecta
  • Muchos de los problemas operativos de antes tienen solución directa en Azure
  • Aquí el DBA se convierte en integrador, automatizador y estratega del dato

4.1 – Diferencias entre Azure SQL Database y Managed Instance

Elegir bien desde el inicio evita limitaciones técnicas después

¿Qué es “tener SQL en Azure”?

Cuando migras SQL Server a Azure, puedes elegir entre diferentes modelos de implementación. Los dos más comunes y potentes para DBAs son:

  1. Azure SQL Database (Base única o elástica)
  2. Azure SQL Managed Instance (MI)

Ambas son opciones PaaS (Plataforma como Servicio), lo que significa que Microsoft se encarga del sistema operativo, parches, backups automáticos, disponibilidad y más.

Pero tienen diferencias clave que afectan tu capacidad de administración, compatibilidad, migración y escalabilidad.

Comparación directa entre las dos opciones

CaracterísticaAzure SQL DatabaseAzure SQL Managed Instance
Nivel de administraciónMás limitado (control por base)Similar a SQL Server local
Compatibilidad con SQL Server clásicoParcialAlta (soporta Agent, Linked Servers, etc.)
Acceso al SQL Server AgentNo disponibleSí, disponible
Soporte para bases múltiples (joins cross-database)LimitadoSí, completo
Soporte para funciones CLR, Service Broker, etc.Limitado
CostoMás bajoMás alto, pero más completo
Casos idealesApps nuevas, SaaS, bases pequeñas o medianasMigraciones de entornos complejos, ERP, sistemas legacy

¿Cuándo elegir Azure SQL Database?

  • Estás construyendo una nueva aplicación desde cero
  • No necesitas muchas bases interconectadas
  • Quieres simplicidad y control de costos
  • Tu lógica de negocio está principalmente en la aplicación (no en el SQL)

¿Cuándo elegir Managed Instance?

  • Estás migrando un sistema completo desde SQL Server on-premise
  • Usas muchas características de SQL clásico (Agent, cross-database, CLR)
  • Necesitas una transición sin romper dependencias existentes
  • Requieres mayor control, sin administrar infraestructura física

Desafío práctico conceptual

Escenario 1:
Tienes un sistema contable con más de 20 bases interconectadas, tareas agendadas en Agent, y procedimientos CLR.
¿Qué opción usarías?

Escenario 2:
Estás construyendo una app web para registro de usuarios y productos. Solo necesita una base liviana y crecerá con el tiempo.
¿Qué opción conviene más?

Escenario 3:
Necesitas escalar rápidamente, mover parte de la carga a otro datacenter, y automatizar backups y monitoreo.
¿Cuál te da más flexibilidad sin administrar servidores?

¿Qué deberías haber notado?

  • No es que una sea “mejor” que la otra: cada una resuelve problemas distintos
  • Azure SQL Database es ideal para simplicidad y aplicaciones modernas
  • Managed Instance es ideal para continuidad operativa y compatibilidad completa
  • Saber diferenciarlas es parte de tomar decisiones técnicas de peso como DBA senior

Pregunta para reflexión o conversación

¿Estás migrando o empezando desde cero? ¿Qué funcionalidades necesitarías que podrían definir tu decisión desde ya?


4.2 – Monitorización, alertas y performance en Azure

Lo que no se mide, no se puede optimizar ni proteger

¿Por qué es clave la monitorización en la nube?

Porque en entornos Azure, ya no estás directamente en el servidor físico para revisar qué pasa.
Y si algo falla o se degrada, necesitas:

  • Detectarlo antes que el usuario
  • Saber dónde está el cuello de botella
  • Recibir alertas automáticas
  • Tomar decisiones basadas en datos reales, no en suposiciones

Azure te da las herramientas para lograrlo, pero tienes que activarlas y configurarlas con intención.

Herramientas principales para DBA en Azure

1. Azure Monitor

  • Sistema de monitoreo centralizado para todos los servicios
  • Puedes ver métricas clave como:
    • CPU
    • Latencia
    • Lecturas/escrituras por segundo
    • Conexiones activas
  • Permite crear alertas personalizadas con acciones automáticas

2. SQL Insights (Azure SQL Analytics)

  • Recolecta métricas detalladas de rendimiento para instancias y bases
  • Se integra con Log Analytics para dashboards avanzados
  • Ideal para ambientes grandes o multiinstancia

3. Intelligent Performance Recommendations

  • Azure analiza tu base y te sugiere:
    • Índices a crear o eliminar
    • Consultas lentas
    • Estadísticas desactualizadas
  • Tú decides si aplicar o no las recomendaciones

Métricas clave para un DBA en Azure

Métrica¿Por qué importa?
DTUs o vCores usadosMide si estás sobredimensionado o al límite
IOPS y latencia de discoClave para detectar problemas de almacenamiento
Tiempo de espera por bloqueoIndica si hay concurrencia mal gestionada
CPU y memoria por consultaAyuda a identificar queries pesadas
% de uso del espacioPreviene caídas por falta de almacenamiento

Cómo crear una alerta en Azure Monitor

  1. Ve a tu recurso (SQL Database o MI)
  2. En el menú lateral, entra a “Alertas”
  3. Haz clic en “Nueva regla de alerta”
  4. Elige una métrica (ej: CPU > 85%)
  5. Define la acción (enviar correo, webhook, activar runbook, etc.)
  6. Guarda y activa

Puedes crear grupos de acción para alertar a tu equipo automáticamente.

Desafío práctico guiado

Objetivo: crear una alerta cuando la CPU de tu base supere el 80% durante 5 minutos

  1. En el portal de Azure, abre tu Azure SQL Database o Managed Instance
  2. En el menú izquierdo, entra a “Monitor” > “Alertas”
  3. Crea una nueva regla:
    • Recurso: tu base
    • Condición: CPU > 80% por 5 minutos
    • Acción: notificación por correo o Teams
    • Nombre: “Alerta CPU crítica – SQL”
  4. Haz una prueba de carga o consulta pesada y valida si la alerta se activa

¿Qué deberías haber notado?

  • Azure no te avisa de todo por defecto: debes configurar lo que es crítico para ti
  • Las alertas permiten responder antes de que el usuario sienta el problema
  • Tener visibilidad continua de rendimiento y salud te posiciona como DBA estratégico, no reactivo

Pregunta para reflexión o conversación

¿Tienes alertas activas en producción? ¿Quién se entera primero cuando una base empieza a fallar: tú o el cliente?


4.3 – Automatización con Azure Automation y Runbooks

Porque un DBA no debería hacer a mano lo que puede dejar agendado y monitoreado

¿Por qué automatizar en entornos Azure?

Porque muchas tareas administrativas son repetitivas, críticas y sensibles al error humano:

  • Limpieza de backups antiguos
  • Ejecución de scripts en múltiples bases
  • Control de espacio, logs, índices
  • Respuesta a alertas (como detener procesos o enviar notificaciones)

Azure Automation te permite centralizar todo eso sin necesidad de estar conectado ni depender del SQL Server Agent.

¿Qué es Azure Automation?

Es un servicio de Azure que permite:

  • Crear y ejecutar Runbooks (scripts programados)
  • Automatizar procesos dentro o fuera de Azure
  • Usar PowerShell o Python como lenguaje base
  • Integrar con alertas, eventos o agendas

¿Qué es un Runbook?

Un Runbook es como una receta automatizada: un conjunto de pasos que se ejecutan para una tarea específica.

Ejemplos típicos para DBAs:

  • Verificar tamaño de base y enviar alertas si excede
  • Hacer un backup a Blob Storage cada noche
  • Reiniciar un servicio si hay errores en cadena
  • Actualizar estadísticas en todas las bases cada semana

Cómo crear tu primer Runbook

1. Crear una cuenta de Azure Automation

  • Ir al portal
  • Crear recurso: Azure Automation Account

2. Crear un Runbook

  • Dentro de la cuenta, ir a Runbooks > + Crear Runbook
  • Elegir PowerShell como lenguaje
  • Asignar nombre (ej. LimpiarBackupsAntiguos)

3. Escribir el script Ejemplo básico de Runbook para borrar archivos antiguos de Blob:

$storageAccountName = 'tucuenta'
$containerName = 'backups'
$daysToKeep = 7

$ctx = New-AzStorageContext -StorageAccountName $storageAccountName -UseConnectedAccount
$blobs = Get-AzStorageBlob -Container $containerName -Context $ctx

foreach ($blob in $blobs) {
if ($blob.LastModified.DateTime -lt (Get-Date).AddDays(-$daysToKeep)) {
Remove-AzStorageBlob -Blob $blob.Name -Container $containerName -Context $ctx
}
}

4. Probar y publicar el Runbook

5. Crear una agenda (schedule)

  • Desde el Runbook, agrega “Agregar programación”
  • Define frecuencia, hora y zona horaria

Integración con alertas o scripts SQL

Puedes:

  • Ejecutar scripts PowerShell que interactúan con SQL usando Invoke-Sqlcmd
  • Lanzar Runbooks desde alertas (por ejemplo, si la CPU supera el 90%)
  • Automatizar tareas multipropósito desde un solo punto

Desafío práctico guiado

Objetivo: automatizar el borrado de backups de Azure Blob que tengan más de 10 días

  1. Crea una Automation Account
  2. Genera un Runbook con PowerShell
  3. Conéctalo a tu contenedor Blob
  4. Agrega lógica de limpieza basada en fechas
  5. Crea una programación diaria
  6. Valida resultados desde el portal o con alertas

¿Qué deberías haber notado?

  • Automatizar libera tu tiempo para tareas más estratégicas
  • Azure Automation te permite unificar tareas que antes hacías con SQL Agent, scripts manuales o tareas locales
  • Runbooks + alertas = un entorno que se cuida solo (y te avisa solo cuando realmente necesita ayuda)

Pregunta para reflexión o conversación

¿Qué tareas sigues haciendo manualmente cada semana que podrías transformar en un Runbook hoy mismo?


4.4 – Integración con Azure Data Factory y otros servicios

Conecta tus bases con el mundo: ETL, automatización y flujos de datos inteligentes

¿Por qué un DBA moderno debe conocer Data Factory?

Porque hoy las bases de datos no viven solas:

  • Alimentan dashboards en Power BI
  • Reciben datos desde aplicaciones móviles, APIs o IoT
  • Deben integrarse con CRMs, ERPs, servicios cloud y fuentes externas

Azure Data Factory (ADF) te permite orquestar esos flujos de forma visual, escalable y automatizable.
Es el “ETL en la nube” de Microsoft.

¿Qué es Azure Data Factory?

Es un servicio de integración de datos que permite:

  • Mover datos entre orígenes y destinos
  • Transformarlos (limpiar, convertir, combinar)
  • Automatizar pipelines con programación, triggers o eventos
  • Conectarse con más de 90 fuentes, incluyendo:
    • SQL Server y Azure SQL
    • Blob Storage
    • APIs REST
    • Excel, CSV, JSON, SAP, Oracle, PostgreSQL y más

Componentes clave de ADF

ComponenteFunción
PipelineFlujo de tareas (como un proceso o receta)
ActivityPaso dentro del pipeline (ej: copiar, ejecutar script)
DatasetDefinición del origen o destino de los datos
Linked ServiceConexión a la fuente (base de datos, API, Blob)
TriggerEvento que lanza el pipeline (hora, llegada de archivo, etc.)

¿Qué puedes automatizar con Data Factory como DBA?

  • Carga de archivos CSV o JSON a tablas de SQL
  • Extracción de datos desde producción hacia entornos de pruebas
  • Limpieza y validación de datos previos a un proceso crítico
  • Integración con APIs para traer datos externos a tus reportes
  • Generación de procesos diarios de ETL sin tener que escribir todo desde cero

Ejemplo simple: cargar un archivo CSV desde Blob a una tabla SQL

  1. Crear un Linked Service a tu Azure Blob Storage
  2. Crear otro Linked Service a tu Azure SQL Database
  3. Crear un Dataset de entrada (CSV) y otro de salida (tabla SQL)
  4. Crear un Pipeline con una actividad Copy Data
  5. Agregar un Trigger diario o basado en evento
  6. Ejecutar, revisar logs, validar en la tabla destino

Integración con otros servicios útiles para un DBA

  • Power BI: ADF puede alimentar datasets automáticamente
  • Logic Apps: Para flujos de negocio y notificaciones complejas
  • Synapse Analytics: Si trabajas con grandes volúmenes de datos
  • Key Vault: Para proteger credenciales de conexión
  • Azure Monitor: Para registrar errores, consumos y alertas

Desafío práctico guiado

Objetivo: crear un pipeline que cargue automáticamente un archivo CSV de Azure Blob a una tabla de SQL

  1. Prepara tu archivo .csv en Blob Storage
  2. Crea un Linked Service para Blob y uno para SQL
  3. Define un Dataset de entrada y otro de salida
  4. Crea un Pipeline con una actividad Copy Data
  5. Agrega un Trigger diario
  6. Ejecuta y valida que los datos llegaron a tu tabla

¿Qué deberías haber notado?

  • ADF no es solo para ingenieros de datos: un DBA lo puede usar para procesos ETL sencillos o críticos
  • Ya no necesitas escribir todos los scripts tú: puedes orquestar visualmente
  • Integrarse con otros servicios te permite pensar y actuar más allá de la base

Pregunta para reflexión o conversación

¿Hay tareas de carga, migración o integración que sigues haciendo manualmente? ¿Qué pasaría si una de ellas la conviertes hoy en tu primer pipeline en ADF?


¿Te gustó lo que encontraste aquí?

Si este contenido te fue útil o te inspiró, considera apoyar esta iniciativa.
Aquí sigo, creando recursos que aporten claridad, estructura y propósito en tu camino.



🤓 Nuevos contenidos que podrían interesarte…


💎 ¿Quieres ver contenido potente y bien estructurado?


🙂 Explora otras categorías…

0 0 votos
Article Rating
Suscribirse
Notificarme sobre
guest
0 Comments
Más antiguos
Más recientes Más votados
Comentarios en línea
Ver todos los comentarios
Scroll to Top