Examen de otras opciones de almacenamiento de Azure

Completado

Hay otros tipos de almacenamiento de Azure que se usan con las soluciones de Azure IoT Hub. Algunos tipos de almacenamiento adicionales clave se describen de la manera siguiente:

Azure Files

Azure Files le ofrece recursos compartidos de archivos en la nube totalmente administrados, a los que se puede obtener acceso mediante el protocolo Bloque de mensajes del servidor (SMB) estándar, el protocolo Network File System (NFS) y la API de REST de Azure Files. Los recursos compartido de archivos de Azure se pueden montar simultáneamente mediante implementaciones locales o en la nube. A los recursos compartidos de archivos SMB de Azure se puede acceder desde clientes Windows, Linux y macOS. Se puede acceder a los recursos compartidos de archivos NFS de Azure desde clientes Linux. Además, los recursos compartidos de archivos SMB de Azure Files se pueden almacenar en la caché de los servidores de Windows Server con Azure File Sync, lo que permite un acceso rápido allí donde se utilizan los datos.

¿Por qué es útil Azure Files?

Los recursos compartidos de archivos de Azure se pueden usar para:

  • Reemplazar o complementar servidores de archivos locales: Azure Files se puede usar para reemplazar o complementar los servidores de archivos locales tradicionales o los dispositivos de almacenamiento conectado a la red (NAS). Desde sistemas operativos tan extendidos como Windows, macOS y Linux se puede montar directamente un recurso compartido de Azure Files desde cualquier lugar del mundo. Los recursos compartidos de archivos SMB de Azure Files se pueden replicar también con Azure File Sync en servidores de Windows Server, locales o en la nube, para obtener un almacenamiento en caché eficiente y distribuido de los datos. Con la Autenticación de AD de Azure Files, los recursos compartidos de archivos de Azure de SMB pueden funcionar con Active Directory Domain Services (AD DS) hospedados en el entorno local para el control de acceso.

  • Aplicaciones "Lift-and-shift": Azure Files facilita la migración mediante "lift and shift" de aplicaciones a la nube en la que se espera un recurso compartido de archivos para almacenar datos de la aplicación de archivos o de un usuario. Azure Files permite la migración clásica mediante "lift and shift" en la que tanto la aplicación como sus datos se mueven a Azure, y la migración híbrida mediante "lift and shift" en la que los datos de la aplicación se mueven a Azure Files pero la aplicación continúa ejecutándose de forma local.

  • Simplificar el desarrollo en la nube: Azure Files también se puede utilizar para simplificar los nuevos proyectos de desarrollo en la nube. Por ejemplo:

    • Configuración compartida de la aplicación: Un patrón habitual entre las aplicaciones distribuidas es contar con archivos de configuración en una ubicación centralizada que permite tener acceso a ellos desde muchas instancias de aplicaciones. Las instancias de la aplicación pueden cargar su configuración mediante la API de REST de Azure Files y los usuarios pueden acceder a ella montando el recurso compartido localmente.

    • Recurso compartido de diagnóstico: Un recurso compartido de archivos de Azure es un lugar adecuado para que las aplicaciones en la nube escriban sus registros, métricas y volcados de memoria. Las instancias de la aplicación pueden escribir los registros mediante la API de REST de Azure Files, y los desarrolladores pueden acceder a ellos montando el recurso compartido de archivos en su máquina local. Esto permite una gran flexibilidad, ya que los desarrolladores pueden adoptar el desarrollo en la nube sin tener que abandonar las herramientas existentes que ya conocen y disfrutan.

    • Desarrollo, pruebas y depuración: Cuando los desarrolladores o administradores trabajan en máquinas virtuales en la nube, a menudo necesitan diversas herramientas o utilidades. Copiar estas utilidades y herramientas en cada máquina virtual puede ser una tarea que consuma mucho tiempo. Mediante el montaje de un recurso compartido de Azure Files localmente en las máquinas virtuales, un desarrollador o administrador pueden acceder rápidamente a sus herramientas y utilidades, sin tener que copiarlos.

  • Contenedorización: Los recursos compartidos de archivos de Azure se pueden usar como volúmenes persistentes para contenedores con estado. Los contenedores ofrecen funcionalidades de "compilar una vez, ejecutarse en cualquier lugar" que permiten a los desarrolladores acelerar la innovación. En el caso de los contenedores que acceden a datos sin procesar en cada inicio, se requiere un sistema de archivos compartidos para que estos contenedores puedan acceder al sistema de archivos, independientemente de la instancia en que se ejecuten.

Ventajas principales

  • Fácil de usar: Cuando se monta un recurso compartido de archivos de Azure en el equipo, no es necesario hacer nada especial para acceder a los datos: simplemente vaya a la ruta de acceso donde se ha montado el recurso compartido de archivos y abra o modifique un archivo.
  • Acceso compartido: los recursos compartidos de Azure Files admiten los protocolos SMB y NFS estándar del sector, lo que significa que puede reemplazar perfectamente los recursos compartidos de archivos en local por recursos compartidos de archivos de Azure sin preocuparse de compatibilidad de aplicaciones. La posibilidad de compartir un sistema de archivos entre varias máquinas, aplicaciones e instancias de aplicaciones es una ventaja importante para aquellas aplicaciones que necesitan la posibilidad de compartir.
  • Totalmente administrado: los recursos compartidos de Azure Files pueden crearse sin necesidad de administrar ni el hardware ni un sistema operativo. Esto significa que no tiene que tratar con la aplicación de actualizaciones de seguridad críticas en el sistema operativo del servidor ni ocuparse de reemplazar discos duros defectuosos.
  • Scripts y herramientas: se pueden usar cmdlets de PowerShell y la CLI de Azure para crear, montar y administrar recursos compartidos de archivos de Azure como parte de la administración de las aplicaciones de Azure. Los recursos compartidos de archivos de Azure se pueden crear y administrar mediante Azure Portal y el Explorador de Azure Storage.
  • Resistencia: Azure Files se creó desde sus orígenes para estar siempre disponible. Reemplazar los recursos compartidos de archivos en local por Azure Files significa que ya no tendrá que tratar con problemas de red o interrupciones del suministro eléctrico local.
  • Capacidad de programación intuitiva: las aplicaciones que se ejecutan en Azure pueden tener acceso a los datos en el recurso compartido mediante las API de E/S del sistema de archivos. Por tanto, los desarrolladores pueden aprovechar el código y los conocimientos que ya tienen para migrar las aplicaciones actuales. Además de las API de E/S del sistema, puede usar las Bibliotecas de cliente de Azure Storage o la API de REST de Azure Files.

Azure Queue Storage

Azure Queue Storage es un servicio para almacenar grandes cantidades de mensajes, a los que se puede acceder desde cualquier lugar del mundo a través de llamadas autenticadas mediante HTTP o HTTPS. Un mensaje de la cola puede llegar a tener hasta 64 KB. Una cola puede contener millones de mensajes, hasta el límite de capacidad total de una cuenta de almacenamiento. Las colas se utilizan normalmente para crear un trabajo pendiente del trabajo que se va a procesar de forma asincrónica, como en el estilo arquitectónico Web-Queue-Worker.

Por ejemplo, supongamos que quiere que los clientes puedan cargar imágenes y desea crear vistas en miniatura de cada una. El cliente puede esperar a que cree las vistas en miniatura mientras se cargan las imágenes. Una alternativa sería utilizar una cola. Cuando el cliente finalice la carga, escriba un mensaje en la cola. Después, haga que una función de Azure recupere el mensaje de la cola y cree las miniaturas. Las partes de este procesamiento se pueden escalar por separado, por lo que controlará mejor el ajuste para usarlas.

Azure Cosmos DB for Table

Azure Cosmos DB es una base de datos NoSQL y relacional totalmente administrada para el desarrollo de aplicaciones modernas.

Azure Cosmos DB for Table proporciona aplicaciones escritas para Azure Table Storage con funcionalidades prémium como:

  • Distribución global inmediata.
  • Rendimiento dedicado en todo el mundo (cuando se usa el rendimiento aprovisionado).
  • Latencias en milisegundos de un solo dígito en el percentil 99.
  • Alta disponibilidad garantizada.
  • Indexación secundaria automática.

Azure Table Storage tiene SDK disponibles para .NET, Java, Python, Node.js y Go. Estos SDK se pueden usar para seleccionar como destino Azure Table Storage o la API para Table. Las aplicaciones escritas para Azure Table Storage mediante los SDK de Azure Tables se pueden migrar a Azure Cosmos DB sin cambios de código para aprovechar las funcionalidades prémium.

Concretamente, el SDK de Azure Tables para .NET Azure.Data.Tables ofrece las características más recientes compatibles con la API para Table. La biblioteca cliente de Azure Tables puede tener como destino sin problemas los puntos de conexión de servicio de Azure Table Storage o de la API para Table sin cambios de código.

Ventajas de la API para Table

Si actualmente usa Azure Table Storage, obtendrá las siguientes ventajas al actualizar a la API para Table:

Almacenamiento de tablas de Azure API para Table
Latency Rápido, pero no hay límites máximos en la latencia. Latencia en milisegundos de un solo dígito para lecturas y escrituras, respaldada con lecturas y escrituras con una latencia <10 ms en el percentil 99, a cualquier escala, en cualquier lugar del mundo.
Rendimiento Modelo de rendimiento variable. Las tablas tienen un límite de escalabilidad de 20.000 operaciones por segundo. Altamente escalable con rendimiento reservado dedicado por tabla respaldado por los SLA. Las cuentas no tienen límite máximo en el rendimiento y admiten más de >10 millones de operaciones por segundo por tabla.
Distribución global Una sola región, con una región de lectura secundaria legible opcional para alta disponibilidad. Distribución global inmediata desde una a cualquier cantidad de regiones. Admite conmutaciones por error administradas por un servicio y manuales en cualquier momento y en cualquier lugar del mundo. Varias regiones de escritura para permitir que cualquier región acepte operaciones de escritura.
Indexación Índice principal solo en PartitionKey y RowKey. No hay índices secundarios. Indexación automática y completa en todas las propiedades de forma predeterminada, sin administración de índices.
Consultar La ejecución de consultas usa el índice de la clave principal y, en caso contrario, examina. Las consultas pueden aprovechar la indexación automática en las propiedades para reducir el tiempo de consulta.
Coherencia Seguro dentro de la región principal. Ocasional en la región secundaria. Cinco niveles de coherencia bien definidos para compensar la disponibilidad, la latencia, el rendimiento y la coherencia en función de las necesidades de la aplicación.
Precios Basado en el consumo. Disponible en los modos basado en el consumo y capacidad aprovisionada.
SLA Disponibilidad del 99,9 % al 99,99 %, en función de la estrategia de replicación. Disponibilidad de lectura del 99,999 %, disponibilidad de escritura del 99,99 % en una cuenta de una sola región y disponibilidad de escritura del 99,999 % en cuentas de varias regiones. SLA completos que abarcan disponibilidad, latencia, rendimiento y coherencia.