Tuesday, February 18, 2025

Week #10: Monitorización y gestión

Gobernanza

La gobernanza de Azure se refiere al conjunto de procesos, directrices y prácticas mediante los cuales los recursos y servicios de Azure se administran y supervisan.

  • Políticas de Azure: Define directrices para la creación y administración de recursos, garantizando la coherencia y el cumplimiento.
  • Blueprints de Azure: Conjunto de soluciones predefinidas para estandarizar y acelerar el despliegue de recursos.
  • RBAC (Control de acceso basado en roles):
    • Permite especificar quién puede hacer qué en los recursos de Azure
    • Define roles y asigna permisos específicos a usuarios, grupos o aplicaciones
  • Locks de recursos: Previenen modificaciones o eliminación accidental de recursos críticos.
  • Monitoreo y auditoría: Mediante Azure Monitor se pueden visualizar operaciones y detectar irregularidades.

¿Qué hace la Gobernanza en Azure en términos prácticos?
  • Controlar quién crea recursos: solo personas autorizadas podrán hacerlo.
  • Establecer límites: como cuánto pueden gastar, qué tipo de recursos pueden utilizar, y en qué regiones.
  • Asegurar el cumplimiento de normativas: como protección de datos personales o estándares de seguridad.
  • Auditar y supervisar: saber quién hizo qué, cuándo y cómo.
Ejemplo práctico:
  • Sin gobernanza: Cada desarrollador puede crear máquinas virtuales sin límites. Resultado: caos, gastos altos, riesgos de seguridad.
  • Con gobernanza: Estableces reglas como: “Los desarrolladores pueden crear máquinas virtuales solo en estas regiones, con estos tamaños específicos, y con un presupuesto mensual máximo de $500.”

Cumplimiento de políticas con Azure Policy

Azure Policy ayuda a aplicar los estándares de la organización y a evaluar el cumplimiento a escala.


El cumplimiento de políticas significa verificar que todos los recursos en Azure (máquinas virtuales, bases de datos, etc.) respeten las reglas definidas por tu organización.

Por ejemplo, podrías tener reglas como:
  • "Todas las máquinas virtuales deben estar en la región Estados Unidos."
  • "Nadie puede crear recursos muy costosos sin aprobación."
  • "Todos los recursos deben tener etiquetas (tags) indicando quién es el responsable."
Azure Policy revisa continuamente que se cumplan estas reglas.

Ejemplo práctico:

Imagina que tu empresa quiere reducir costos, así que estableces esta política en Azure:
"Ningún recurso puede superar los 200 dólares mensuales."

Si alguien intenta crear una base de datos costosa que exceda ese límite:
  • Azure Policy automáticamente bloquea esa creación.
  • Genera una alerta que te informa sobre el intento de creación.
  • En los reportes verás claramente cuáles recursos están cumpliendo o incumpliendo esta regla.

Control de acceso basado en roles de Azure (RBAC)

  • El control de acceso basado en roles (Azure RBAC) ayuda a administrar quién tiene acceso a los recursos de Azure, qué pueden hacer con esos recursos y a qué áreas puede acceder.
  • Para controlar el acceso a los recursos que usan Azure RBAC hay que utilizar las asignaciones de roles de Azure.
  • Una asignación de roles consta de tres elementos:
    • Entidad de seguridad
    • Definición de rol
    • Ámbito

Azure RBAC - Entidad de seguridad

  • Una entidad de seguridad es un objeto que representa a un usuario, un grupo, una entidad de servicio o una identidad administrada que solicita acceso a recursos de Azure.
  • Puedes asignar un rol a cualquiera de estas entidades de seguridad.


Azure RBAC - Definición de roles

  • Una definición de roles es una recopilación de permisos
  • Una definición de roles enumera las acciones que se pueden realizar; por ejemplo, de lectura, escritura y eliminación 
  • Suele denominarse un rol

Azure RBAC - Ámbito (Scope)

  • Ámbito es el conjunto de recursos al que se aplica el acceso
  • Cuando se asigna un rol, es posible limitar aún más las acciones permitidas si se define un ámbito
  • Puedes especificar un ámbito en cuatro niveles: grupo de administración, suscripción, grupo de recursos o recurso.


Relación entre RBAC y Microsoft Entra ID

RBAC y Microsoft Entra ID trabajan juntos de forma complementaria:
  • Microsoft Entra ID gestiona quién eres (identidad).
  • RBAC gestiona qué puedes hacer con esa identidad (permisos).




Locks (Candados)

Los Locks protegen los recursos de Azure evitando su eliminación accidental o modificación.

Tipos:
  • Read-only: Bloquea modificaciones
  • Delete: Bloquea eliminaciones
Asignación:
  • Se pueden aplicar a nivel de recurso, grupo de recursos o suscripción
Jerarquía de aplicación:
  • Puedes configurar un Lock en un recurso específico, un grupo de recursos o incluso a nivel de suscripción completa.
  • Si un grupo de recursos tiene un Lock y se intenta eliminar o modificar cualquier recurso dentro de ese grupo, la operación será bloqueada.

Azure Blueprints

Los Blueprints en Azure permiten la orquestación de soluciones repetibles con un conjunto predefinido de recursos.

Características principales:
  • Plantillas: Diseña y despliega consistentemente infraestructuras y configuraciones.
  • Políticas y roles: Integra reglas y estándares para cumplir con regulaciones y mejores prácticas.
  • Versionado: Gestiona y rastrea cambios en tus Blueprints a lo largo del tiempo.

Azure Blueprints vs Resource Manager

Imagina que estás construyendo una ciudad:

Azure Resource Manager (ARM)
  • Sería como las herramientas y procesos que usas para construir edificios individuales.
  • Cada vez que necesitas un edificio, tomas una plantilla (diseño) y la usas para construir ese edificio en un lugar específico.
Azure Blueprints
  • Sería como tener un plan maestro para toda la ciudad.
  • No solo indica dónde van los edificios (usando las herramientas de ARM para construirlos).
  • También dónde van las carreteras, las zonas de parques, y las regulaciones (políticas) que esos edificios deben seguir.
En términos más técnicos:
  • ARM: Te permite desplegar recursos individuales en Azure (como máquinas virtuales, bases de datos, etc.) usando plantillas.
  • Azure Blueprints: Combina plantillas ARM, políticas de Azure y otras configuraciones en un diseño cohesivo para desplegar soluciones completas y repetibles.

Ejemplo

Azure Blueprints es como una receta o plantilla reutilizable para crear y gestionar entornos en Azure de manera rápida, segura y consistente.

Imagina que cada vez que un equipo nuevo inicia un proyecto en tu empresa, necesitan:
  • Una máquina virtual.
  • Una base de datos SQL.
  • Permisos específicos (RBAC).
  • Etiquetas para saber qué equipo creó esos recursos.
Con Azure Blueprints:
  1. Creas esta configuración solo una vez como un Blueprint.
  2. La próxima vez, solo aplicas ese Blueprint.
  3. Automáticamente se crean los recursos, políticas, permisos y etiquetas.
Así reduces errores y ganas muchísimo tiempo.

Microsoft Cloud Adoption Framework

Cloud Adoption Framework es una guía probada que se ha diseñado para ayudar a crear
e implementar las estrategias empresariales y tecnológicas necesarias para que todo vaya bien a tu organización en la nube.
  • Proporciona procedimientos recomendados, la documentación y las herramientas de la toma de decisiones empresariales.
  • Los procedimientos recomendados de Cloud Adoption Framework permiten a las organizaciones alinear mejor sus estrategias empresariales y técnicas para asegurar un resultado satisfactorio.

Azure Monitor

Herramienta para supervisar aplicaciones, infraestructura y recursos, tanto en la nube como en
instalaciones locales.
  • Integración completa: Métricas y registros detallados de casi todos los servicios.
  • Análisis avanzado: Identifica patrones, tendencias y anomalías.
  • Alertas proactivas: Respuestas rápidas a problemas potenciales.
  • Visualización de datos: Dashboards personalizables y vistas en tiempo real.
  • Automatización de respuestas: Acciones automáticas basadas en condiciones.

Caso práctico - VM y Azure Monitor

Una VM en Azure puede enviar una variedad de información a Azure Monitor, por ejemplo:
  • Métricas de rendimiento
  • Registros de actividad
  • Registros de diagnóstico de VM
  • Registros de red
  • Registros de seguridad y auditoría
  • Registros de aplicaciones
  • Extensiones de monitoreo


Características esenciales de Azure Monitor

  • Telemetría continua: Azure Monitor recibe datos de telemetría de la mayoría de los servicios de Azure y también admite la integración de servicios locales.
  • Centralización y gestión automatizada: Ofrece una plataforma unificada y totalmente gestionada, permitiendo un análisis consolidado de todos los datos.
  • Lenguaje de consulta avanzado: Proporciona una herramienta de consulta interactiva para analizar detalladamente los datos de telemetría.
  • Inteligencia predictiva: Utiliza aprendizaje automático (Machine Learning) para identificar y prevenir problemas de manera proactiva.

Dashboard de Azure Monitor



Herramientas de monitorización

Las herramientas de monitorización permiten supervisar y registrar el rendimiento o el estado de recursos, como hardware, redes o software. Ayudan en la detección de anomalías, en el análisis de tendencias y en la solución de problemas.

Log Analytics:
  • Recolecta y analiza datos de telemetría de recursos Azure.
  • Identifica patrones y ayuda en la solución de problemas.
Application Insights:
  • Gestión del rendimiento de aplicaciones web.
  • Detecta automáticamente anomalías de rendimiento.
Alertas de Azure Monitor:
  • Notifica proactivamente sobre problemas en apps e infraestructura.
  • Establece umbrales y recibe alertas cuando se cruzan.

Log Analytics

  • Azure Monitor genera grandes cantidades de registros y datos.
  • Log Analytics es la herramienta que almacena y consulta estos datos, permitiendo a los usuarios obtener información valiosa de ellos.

Consultas en Log Analytics: Las consultas en Log Analytics de Azure se realizan utilizando el
lenguaje Kusto Query Language (KQL).



Application Insights

  • Enfocado en aplicaciones web.
  • Compatible con App Service, Azure VMs y recursos externos.
  • Agente necesario para VMs 
  • Diagnostica cuellos de botella (bottleneck) en rendimiento.
  • Analiza interacciones de usuario en el sitio.


Alertas de Azure Monitor

Activa notificaciones ante eventos inesperados. Por ejemplo:



Elementos destacables de las alertas de Azure Monitor
  • Cuando algo no funciona como esperado, las alertas de Azure Monitor informan al grupo adecuado para que haga algo al respecto.
  • Un grupo de acción en Azure Monitor define acciones tomadas cuando se activa una regla
    • Email/SMS: Notificar al personal de soporte
    • Flujos de trabajo automatizados (integración con Logic Apps, Azure Functions, etc.)
  • Ejemplo de alertas de Azure Monitor:


Azure Service Health

Azure Service Health informa de incidentes de servicio y trabajos de mantenimiento programados en Azure, lo que le permite tomar medidas para mitigar el tiempo de inactividad.


  • Dashboard personalizable: 
    • Visualiza de manera clara los problemas del servicio que impactan tus recursos en un panel diseñado para ti.
  • Alertas configurables: 
    • Mantente informado con notificaciones de interrupciones, tanto programadas como inesperadas.
    • Configura y personaliza las alertas con facilidad
  • Monitorización en directo
    • Vigila las alertas y dificultades en tiempo real, y accede a informes exhaustivos cuando se solucionen.
  • Totalmente gratuito
    • Service Health está disponible para suscriptores de Azure sin coste adicional

Visión general de Azure Arc

Recursos de cómputo en múltiples ubicaciones
  • Más ubicaciones significa más sobrecarga de gestión
  • No se pueden aplicar políticas de gobernanza de Azure a recursos que no son de Azure
    • AWS, Google Cloud, otras nubes
    • Instalaciones locales (On-Premises)
  • Y si pudiéramos…
    • ¿Gestionar tanto recursos de Azure como no-Azure en la misma interfaz?
    • ¿Aplicar políticas de gobernanza de Azure a recursos que no son de Azure?
  • Solución: Usar Azure Arc

¿Qué es exactamente Azure Arc?
  • Azure Arc te permite gestionar y aplicar políticas a tus recursos, ya estén en Azure, en tus propios servidores o en otras nubes, todo desde un único panel de control.

Beneficios del uso de Azure Arc
  • Gestión unificada: Proporciona una única interfaz para gestionar recursos en diferentes entornos, lo que simplifica la administración de infraestructuras dispersas
  • Aplicación consistente de políticas: Permite aplicar políticas de gobernanza y seguridad de Azure en recursos que se encuentren fuera de Azure
  • Extensión de servicios de Azure: Puedes desplegar y gestionar servicios de Azure como Azure SQL y Azure Kubernetes Service (AKS) en cualquier infraestructura, incluidas las on-premises o en otras nubes.

Resumen - Monitorización y gestión

  • Gobernanza: Sistema de regulaciones, prácticas, políticas y procedimientos utilizados para dirigir y administrar una entidad o recurso
  • Azure Policy: Permite establecer y aplicar reglas específicas en los recursos de Azure para garantizar el cumplimiento de normativas y estándares corporativos
  • Control de acceso basado en rol de Azure (RBAC): Sistema de permisos que asigna roles específicos a usuarios, determinando lo que pueden y no pueden hacer con los recursos
  • Locks: Mecanismo de Azure que previene la modificación o eliminación accidental de recursos, asegurando su integridad
  • Azure Blueprints: Permite definir conjuntos repetibles de recursos de Azure, facilitando la implementación y el cumplimiento de estándares organizacionales
  • Azure Monitor: Servicio diseñado para recopilar, analizar y actuar sobre los datos telemétricos de aplicaciones y recursos en la nube
  • Microsoft Cloud Adoption Framework: Conjunto de prácticas, guías y herramientas proporcionadas por Microsoft para facilitar la adopción de soluciones en la nube.
  • Herramientas de monitorización:
    • Log Analytics: Herramienta para recopilar y analizar datos telemétricos y registros de recursos en la nube
    • Application Insights: Monitoriza el rendimiento y uso de aplicaciones, proporcionando análisis en tiempo real
    • Alertas de Azure Monitor: Notificaciones que se activan según condiciones específicas, alertando sobre cambios o problemas en recursos
  • Azure Service Health: Proporciona información sobre la salud y el estado de los servicios de Azure, notificando a los usuarios sobre interrupciones y mantenimientos
  • Azure Arc: Extiende las capacidades de administración de Azure a infraestructuras en cualquier lugar, permitiendo la gestión unificada de recursos




No comments:

Post a Comment

Cuando el código funciona, pero no tiene tests: ¿y ahora qué?

Seguramente te ha pasado alguna vez. Te dan acceso al repositorio de un nuevo proyecto. Lo abres con curiosidad, esperas encontrar una estru...