Servicios clave de Azure: Cosmos DB, Blob Storage, Key Vault y AI Search

Servicios clave de Azure: Cosmos DB, Blob Storage, Key Vault y AI Search

Azure ofrece un conjunto amplio de servicios gestionados. Cuatro de los más usados en arquitecturas empresariales son Cosmos DB, Blob Storage, Key Vault y AI Search. Cada uno resuelve un problema distinto: persistencia distribuida, almacenamiento de objetos, gestión de secretos y búsqueda inteligente.

Azure Cosmos DB

Es una base de datos NoSQL distribuida globalmente, diseñada para latencias de un solo dígito y escalabilidad masiva.

Niveles de consistencia

A diferencia de otras bases de datos que solo ofrecen consistencia fuerte o eventual, Cosmos DB permite elegir entre cinco niveles:

NivelComportamientoRendimiento
StrongLos datos siempre están sincronizadosMayor latencia, menor rendimiento
Bounded StalenessRetraso configurado por tiempo o número de versionesIntermedio
SessionUn usuario siempre lee sus propias escriturasEquilibrado (nivel por defecto)
Consistent PrefixGarantiza el orden de las escriturasEquilibrado
EventualPuede leer datos desactualizadosMáximo rendimiento y disponibilidad

El nivel Session es el que viene configurado por defecto. Garantiza que un usuario específico siempre lea sus propias escrituras, lo que lo hace ideal para escenarios como el carrito de compras de un e-commerce.

Change Feed

El Change Feed es un registro persistente de los cambios (inserciones y actualizaciones) en los contenedores. Permite reaccionar en tiempo real a un nuevo registro conectándolo a una Azure Function para disparar eventos, lo que da lugar a arquitecturas orientadas a eventos.

Partition Key

Elegir bien la Partition Key es vital para evitar particiones calientes. Si se busca por un campo distinto a la Partition Key, se realiza una consulta entre particiones (cross-partition query), que consume muchas más Unidades de Solicitud (RUs) y es muy ineficiente.

Azure Blob Storage

Almacenamiento masivo de objetos para datos no estructurados.

Shared Access Signatures (SAS)

Un SAS Token permite dar acceso temporal a un usuario para que suba o descargue un archivo sin exponer la clave de la cuenta. Se pueden limitar los permisos (solo lectura o escritura), la dirección IP y la fecha de caducidad, por ejemplo, un token válido por 10 minutos.

Gestión del ciclo de vida

No hace falta mover los datos manualmente. Se pueden crear reglas automáticas como: "Si un blob no se ha tocado en 30 días, muévelo de Hot a Cool. Si pasan 90 días, pásalo a Archive. A los 365 días, bórralo". Esta gestión ayuda a optimizar costos sin intervención manual.

Inmutabilidad (WORM)

El modelo Write Once, Read Many impide que los blobs sean modificados o eliminados mediante políticas de retención y bloqueos legales (Legal Holds). Es esencial en industrias reguladas como banca o salud, donde se requieren auditorías completas.

Azure Key Vault

Es el custodio centralizado de secretos, claves criptográficas y certificados SSL.

Soft Delete y Purge Protection

Con el Soft Delete habilitado (ahora por defecto), un Key Vault borrado accidentalmente se mantiene en una "papelera" de 7 a 90 días y puede recuperarse. Si además se activa Purge Protection, nadie, ni siquiera el administrador global, puede forzar el borrado definitivo antes de que termine el periodo de retención.

Modelo de acceso: RBAC vs Access Policies

Tradicionalmente se usaban Access Policies específicas del servicio. Hoy la mejor práctica recomendada es usar Azure RBAC (Role-Based Access Control) integrado con Azure AD para un manejo de permisos unificado y más granular.

Cifrado en reposo (CMK)

Por defecto, Azure cifra los datos en reposo con claves gestionadas por Microsoft (Microsoft Managed Keys). Las empresas grandes suelen exigir CMK (Customer Managed Keys), donde el cliente genera y guarda la clave maestra en Key Vault para cifrar otros servicios como Storage o SQL.

Azure AI Search

Buscador empresarial inteligente que integra indexación, procesamiento de lenguaje natural y búsqueda vectorial. Antes se conocía como Cognitive Search.

Pipeline de indexación

El proceso que convierte un PDF en un documento buscable es el siguiente:

  1. Data Source: se conecta al Blob Storage de origen.
  2. Document Cracking: extrae texto y metadatos del PDF.
  3. Skillset: aplica IA (traducción, OCR de imágenes, extracción de entidades como nombres o lugares).
  4. Index: genera la estructura final optimizada para búsquedas.

Semantic Ranker

Encontrar documentos y ordenarlos son cosas distintas. Una vez que el motor localiza los documentos mediante BM25 (palabras clave) o vectores, el Semantic Ranker aplica modelos de lenguaje profundo para reordenar los mejores resultados según el contexto y la intención del usuario.

Patrón RAG corporativo

Para evitar que un modelo de lenguaje alucine, se implementa RAG (Retrieval-Augmented Generation). En este patrón, Azure AI Search actúa como el componente recuperador: cuando el usuario formula una pregunta, busca en los documentos privados de la empresa, extrae los fragmentos más relevantes y se los pasa al modelo en el prompt para que redacte una respuesta basada estrictamente en esos fragmentos.

Arquitectura de ejemplo: proceso orientado a eventos

Un caso típico que combina los cuatro servicios es el siguiente:

  1. El usuario sube un recibo a Blob Storage.
  2. Un evento dispara una Function que extrae el texto con IA.
  3. El resultado se guarda en Cosmos DB.
  4. La conexión a Cosmos DB se obtiene de Key Vault.
  5. El texto se indexa en AI Search para que cualquier persona pueda buscar "recibos de gasolina de marzo".

© Arturo Juárez Monroy