Almacenamiento optimizado con clasificación de datos lógicos

Front Door
App Service
Functions
Cosmos DB
Table Storage

Comprender los patrones de la utilización de los datos es fundamental para diseñar una estrategia de niveles optimizada. La estrategia de niveles de datos adecuada puede ayudar a ahorrar dinero y escalar la aplicación sin agregar costos. En el diagrama siguiente, los datos de la aplicación se separan por cliente y se dividen en distintas categorías en función de los patrones de uso.

Datos separados por cliente y categoría.

  1. El nivel de acceso frecuente tiene datos que deben conservarse con alta disponibilidad y accesibilidad. Los datos de configuración, los perfiles de cliente, los cursos de alumnos actuales y las campañas de marketing actuales son ejemplos de datos de nivel de acceso frecuente.
  2. El nivel de acceso esporádico tiene datos con requisitos de disponibilidad inferiores: datos que se pueden almacenar a un costo menor que los datos de nivel de acceso frecuente. Por ejemplo, Azure Table Storage, con una latencia superior a los 10 ms, es un almacenamiento de nivel de acceso esporádico en comparación con Azure Cosmos DB.
  3. Los datos de archivo se clasifican como datos históricos que se mantienen durante un período específico para los requisitos legales y de cumplimiento. Los datos de archivo en Azure Data Lake Storage se pueden conservar durante largos períodos de retención a un costo muy bajo.

Posibles casos de uso

La arquitectura siguiente puede ser adecuada para cualquier aplicación que use grandes cantidades de datos que siempre deban estar disponibles. Algunos ejemplos son las aplicaciones usadas para lo siguiente:

  1. Ejecución de varias campañas o promociones
  2. Realización de encuestas globales
  3. Ejecución de experimentos de investigación
  4. Ejecución de varios proyectos, administración de documentos y recursos
  5. Administración de la inscripción y programación universitaria

Arquitectura

Los datos de la aplicación se almacenan en Azure Cosmos DB, que replica los datos en diferentes regiones de Azure, con el nivel de coherencia elegido. La replicación de los datos se puede lograr con una operación de un solo clic que simplifica la implementación general de la solución. Azure Data Factory se usa para trasladar datos históricos de Azure Cosmos DB a Azure Table Storage con el fin de reducir el costo. También puede trasladar los datos a cualquier otro almacenamiento, como Azure Data Lake, para los informes. Posteriormente, puede archivar los datos mediante la copia de seguridad o el nivel de acceso de archivo de Azure Storage, para reducir aún más el costo.

Arquitectura de un sistema resistente que usa dos tipos de almacenamiento para reducir los costos.

Descargue un archivo Visio de esta arquitectura.

  1. El cliente se autentica con Azure Active Directory (Azure AD) y se le concede acceso a las aplicaciones web hospedadas en Azure App Service.
  2. Azure Front Door, un firewall y un equilibrador de carga de nivel 7, cambia el tráfico de usuario a otra región de Azure en caso de una interrupción regional.
  3. Azure App Service hospeda sitios web y API web RESTful. Los clientes de explorador ejecutan aplicaciones AJAX que usan las API.
  4. Las API web delegan aplicaciones de funciones para controlar las tareas en segundo plano. Las tareas se ponen en cola en Azure Queue Storage.
  5. Las aplicaciones de funciones hospedadas por Azure Functions realizan las tareas en segundo plano, desencadenadas por los mensajes en cola.
  6. Azure Cache for Redis copia en caché los datos de base de datos de las aplicaciones de funciones. Esto descarga la actividad de la base de datos y acelera las aplicaciones de funciones y las aplicaciones web.
  7. Azure Cosmos DB contiene los datos usados por las aplicaciones web y garantiza que los cambios en una base de datos también se lleven a cabo en bases de datos de réplica.
  8. Azure Data Factory se usa para trasladar datos históricos de Azure Cosmos DB a Azure Table Storage con el fin de reducir el costo.

Componentes

  • Azure Active Directory (Azure AD) es un servicio de administración multiinquilino de identidades y acceso que se puede sincronizar con un directorio local.
  • Azure DNS es un servicio de hospedaje de alta disponibilidad para dominios DNS que proporciona a las aplicaciones consultas de DNS y actualizaciones de registros DNS de gran velocidad. Administrar Azure DNS es como administrar otros servicios de Azure. Además, usa las mismas credenciales, API, herramientas y facturación.
  • Azure Front Door es una red de entrega de contenido segura (CDN) y un equilibrador de carga con conmutación por error instantánea. Funciona en el borde cerca de los usuarios, lo que acelera la entrega de contenido y protege las aplicaciones, las API y los sitios web frente a amenazas cibernéticas.
  • Azure App Service es un servicio totalmente administrado para compilar, implementar y escalar aplicaciones web. Puede compilar aplicaciones mediante .NET, .NET Core, Node.js, Java, Python o PHP. Las aplicaciones se pueden ejecutar en contenedores o en Windows o Linux. En una migración del sistema central, las pantallas de front-end o la interfaz web se pueden programar como API REST basadas en HTTP. Se pueden segregar y pueden no tener estado para organizar un sistema basado en microservicios. Para obtener más información sobre las API web, consulte Diseño de API web RESTful.
  • Azure Functions proporciona un entorno para ejecutar pequeños fragmentos de código, denominados funciones, sin tener que establecer una infraestructura de aplicaciones. Puede usarlo para procesar datos masivos, integrar sistemas, trabajar con IoT, y crear API y microservicios sencillos. Con los microservicios, puede crear servidores que se conecten a los servicios de Azure y estén siempre actualizados.
  • Azure Storage es un conjunto de servicios en la nube seguros y escalables de forma masiva para datos, aplicaciones y cargas de trabajo. Incluye Azure Files, Azure Table Storage y Azure Queue Storage. Azure Files suele ser una herramienta eficaz para migrar cargas de trabajo del sistema central.
  • Azure Queue Storage proporciona colas de mensajes sencillas, rentables y duraderas para grandes cargas de trabajo.
  • Azure Table Storage es un almacén de pares clave-valor noSQL para el desarrollo rápido que usa conjuntos de datos semiestructurados masivos. Las tablas son sin esquema y se adaptan fácilmente a medida que cambian las necesidades. El acceso es rápido y rentable para muchos tipos de aplicaciones y, normalmente, cuesta menos que otros tipos de almacenamiento con clave.
  • Azure Cache for Redis es un servicio de almacenamiento en caché en memoria totalmente administrado y un agente de mensajes para compartir los datos y el estado entre los recursos de los procesos. Incluye el producto de código abierto Redis y el producto comercial de Redis Labs como servicios administrados. Se puede mejorar el rendimiento de las aplicaciones de procesamiento de transacciones en línea de alto rendimiento si se diseñan para escalarlas y para usar un almacén de datos en memoria como Azure Cache for Redis.
  • Azure Cosmos DB es un servicio de bases de datos multimodelo y de distribución global que permite a las soluciones escalar el rendimiento y la capacidad de almacenamiento en un número indefinido de regiones geográficas. Los Acuerdos de Nivel de Servicio (SLA) integrales garantizan el rendimiento, la latencia, la disponibilidad y la coherencia.
  • Azure Data Factory es un servicio administrado que organiza y automatiza el movimiento y la transformación de datos.

Alternativas

  • Azure Traffic Manager dirige las solicitudes DNS entrantes en las regiones globales de Azure en función de los métodos de enrutamiento de tráfico elegidos. También proporciona conmutación automática por error y enrutamiento de rendimiento.
  • Azure Content Delivery Network (CDN) copia en caché el contenido estático en los servidores perimetrales para una respuesta rápida y usa optimizaciones de red para mejorar la respuesta con el contenido dinámico. CDN es especialmente útil cuando la base de usuarios es global.
  • Azure Kubernetes Service (AKS) es un servicio de Kubernetes administrado para la implementación y la administración de aplicaciones contenedorizadas. Se puede usar para implementar una arquitectura de microservicios con componentes que se escalan de forma independiente a petición.
  • Azure Container Instances proporciona una manera rápida y sencilla de ejecutar tareas sin tener que administrar la infraestructura. Es útil durante el desarrollo o para la ejecución de tareas no programadas.
  • Azure Service Fabric es una plataforma para escalar y organizar contenedores y microservicios.
  • Azure Service Bus es un servicio de mensajería en la nube confiable para una integración híbrida sencilla. Se puede usar en lugar de Queue Storage en esta arquitectura. Para obtener más información, consulte Colas de Storage y de Service Bus: comparación y diferencias.

Consideraciones

  • Azure Data Factory o una herramienta de terceros pueden migrar datos de Azure Cosmos DB a Azure Table Storage.
  • Si va a migrar los datos de un sistema de almacenamiento antiguo, debe escribir las rutinas para copiar los datos antiguos en Cosmos DB. Asegúrese de que tenga marcas de tiempo y marcas de copia para supervisar el progreso de la migración de datos.

Pasos siguientes