Fundamentos de Azure | AZ-900

Componentes básicos de la arquitectura de Azure

Cuando hablamos de arquitectura nos referimos a organización física de Azure: centros de datos, zonas de disponibilidad y regiones; y también sobre la estructura organizativa de Azure: recursos y grupos de recursos, suscripciones y grupos de administración.

  1. Regiones de Azure, pares de regiones y regiones soberanas
  2. Zonas de disponibilidad
  3. Centros de datos de Azure
  4. Recursos y grupos de recursos de Azure
  5. Subscripciones
  6. Grupos de administración
  7. La jerarquía de grupos de recursos, suscripciones y grupos de administración

Regiones de Azure, pares de regiones y regiones soberanas

Una región: es un área geográfica del planeta que contiene uno o varios centros de datos conectados mediante una red de baja latencia. Al crear un recurso en Azure nos pide que asignemos una región. Hay recursos que no requieren que seleccione una región concreta, como Azure Active Directory, Azure Traffic Manager o Azure DNS.

No todos los servicios o características están disponible en todas las regiones.

Pares de regiones: La mayoría de las regiones de Azure se emparejan con otra región de la misma zona geográfica y se copian entre sí. Si se produjera una interrupción de Azure, se da prioridad a una región de cada par para asegurarse de que al menos una se restaure lo más rápido posible para las aplicaciones hospedadas en ese par de regiones. Y los datos siguen residiendo en la misma zona geográfica que su pareja (con alguna excepción) con fines de jurisdicción fiscal y de aplicación de la ley.

Estos pares de regiones están directamente conectadas y lo suficientemente lejos como para estar aisladas contra desastres regionales, podemos usarlas para proporcionar redundancia de datos y servicios de confianza.

No todos los servicios de Azure replican automáticamente los datos ni se replican automáticamente desde una región con errores para la replicación cruzada en otra región habilitada. En estos casos, el cliente debe configurar la replicación y la recuperación.

Las regiones soberanas: son instancias de Azure que están aisladas de la instancia principal de Azure con fines legales o de cumplimiento. Entre las regiones soberanas de Azure se incluyen una en EE.UU y otra en China.

Zonas de disponibilidad

Las zonas de disponibilidad son centros de datos separados físicamente dentro de una región de Azure y consta de uno o varios centros de datos equipados con alimentación, refrigeración y redes independientes. Esto permite tener un límite de aislamiento y si una zona deja de funcionar, la otra continúa trabajando. Están conectadas entre sí mediante fibra óptica de alta velocidad privadas.

No todas las regiones permiten zonas de disponibilidad y para garantizar la resistencia, se configuran un mínimo de tres zonas de disponibilidad independientes en todas las regiones habilitadas.

Podemos usar zonas de disponibilidad para ejecutar aplicaciones críticas y conseguir una alta disponibilidad en la arquitectura de nuestras aplicaciones si colocamos los recursos de proceso, almacenamiento, red y datos dentro de una zona y los replicamos en otras. Teniendo en cuenta que la duplicación de los servicios y la transferencia de datos entre zonas de disponibilidad podrían suponer un costo.

Las zonas de disponibilidad son principalmente para las máquinas virtuales, los discos administrados, los equilibradores de carga y las bases de datos SQL.

Los servicios de Azure que admiten zonas de disponibilidad se dividen en tres categorías:

  • Servicios de zona: ancle el recurso a una zona específica (por ejemplo, máquinas virtuales, discos administrados, direcciones IP).
  • Servicios de redundancia de zona: la plataforma se replica automáticamente entre zonas (por ejemplo, almacenamiento con redundancia de zona, SQL Database).
  • Servicios no regionales: los servicios siempre están disponibles en las ubicaciones geográficas de Azure y son resistentes a las interrupciones de toda la zona, así como a las de toda la región.

Centros de datos de Azure

Los centros de datos son instalaciones con recursos organizados en bastidores, con potencia dedicada, refrigeración e infraestructura de red.

Azure tiene centros de datos en todo el mundo y se agrupan en regiones de Azure o Azure Availability Zones. El sitio de infraestructura global nos permite explorar la infraestructura física de Azure.

Recursos y grupos de recursos de Azure

Los recursos son todo lo que creemos, aprovisionemos, implementemos, etc.

Los grupos de recursos son simplemente agrupaciones de uno o múltiples recursos pero un recurso solo puede pertenecer a un grupo. Los recursos se pueden cambiar de grupos. Y un grupo de recursos no se puede anidar dentro de otros grupos de recursos.

Al aplicar una acción a un grupo de recursos, se aplicará a todos los recursos que contiene.

Al igual que los grupos de recursos son una manera de organizar lógicamente los recursos, las suscripciones permiten organizar lógicamente los grupos de recursos y facilitar la facturación.

Azure Resource Manager es el servicio de implementación y administración para Azure. Proporciona una capa de administración que nos permite crear, actualizar y eliminar recursos de la cuenta de Azure. Puede usar características de administración como el control de acceso, los bloqueos y las etiquetas para proteger y organizar los recursos después de la implementación.

Cuando un usuario envía una solicitud de cualquiera de las herramientas, las API o los SDK de Azure, Resource Manager recibe la solicitud. Autentica y autoriza la solicitud. Resource Manager envía la solicitud al servicio de Azure, que lleva a cabo la acción solicitada. Dado que todas las solicitudes se controlan mediante la misma API, verá resultados y funcionalidades coherentes en todas las distintas herramientas.

Todas las funcionalidades que están disponibles en Azure Portal también lo están a través de PowerShell, la CLI de Azure, las API REST y los SDK de cliente.

Con Resource Manager podemos:

  • Administrar la infraestructura mediante plantillas declarativas en lugar de scripts. Una plantilla de Resource Manager es un archivo JSON que define lo que quiere implementar en Azure.
  • Implementar, administrar y supervisar todos los recursos de la solución en grupo, en lugar de controlarlos individualmente.
  • Vuelva a implementar la solución a lo largo del ciclo de vida de desarrollo y tenga la seguridad de que los recursos se implementan en un estado coherente.
  • Definir las dependencias entre recursos de modo que se implementen en el orden correcto.
  • Aplique control de acceso a todos los servicios, puesto que RBAC se integra de forma nativa en la plataforma de administración.
  • Aplicar etiquetas a los recursos para organizar de manera lógica todos los recursos de la suscripción.
  • Comprenda la facturación de la organización viendo los costos de un grupo de recursos que comparten la misma etiqueta.

learn.microsoft.com: Azure Resource Manager, Azure Resource Explorer

Subscripciones

Las suscripciones son una unidad de administración, facturación y escala.

Para crear y usar los servicios de Azure, necesitamos una suscripción y una cuenta de Azure. Las suscripciones nos permiten comenzar a pagar por los servicios de Azure que necesitamos y a los que no podemos acceder con una cuenta gratuita.

Una cuenta puede tener varias suscripciones, pero solo es obligatorio tener una. En una cuenta de varias suscripciones, podemos usarlas para:

  • Configurar diferentes modelos de facturación. Azure genera facturas e informes de facturación independientes para cada suscripción, de modo que pueda organizar y administrar los costos.
  • Aplicar diferentes directivas de administración de acceso. Azure aplica las directivas de administración de acceso en el nivel de suscripción.
  • Configurar entornos independientes para el desarrollo y las pruebas, para seguridad o para aislar los datos por motivos de cumplimiento.

Espacio aislado: esto nos permite crear una suscripción temporal que se agrega a la cuenta de Azure. Esta suscripción temporal nos permite crear recursos de Azure para la duración de un módulo de Learn.

Grupos de administración

Los grupos de administración de Azure proporcionan un ámbito de gobernanza por encima de las suscripciones. Si se organizan las suscripciones en grupos de administración, las condiciones de gobernanza que se apliquen se transmitirán en cascada por herencia a todas las suscripciones asociadas.

Las suscripciones se organizan en contenedores llamados grupos de administración y las condiciones de gobernanza se aplican a los grupos de administración.

Por ejemplo, puede aplicar directivas a un grupo de administración que limite las regiones disponibles para la creación de máquinas virtuales.

learn.microsoft.com: Grupos de administración

La jerarquía de grupos de recursos, suscripciones y grupos de administración

Los recursos se organizan en grupos de recursos y los grupos de recursos se organizan en suscripciones.

Los grupos de administración de Azure proporcionan un nivel de ámbito por encima de las suscripciones. Las suscripciones se organizan en contenedores llamados grupos de administración, a los que se aplican condiciones de gobernanza.

Todas las suscripciones de un grupo de administración heredan automáticamente las condiciones que tenga aplicadas, de la misma manera que los grupos de recursos heredan la configuración de las suscripciones y los recursos heredan de los grupos de recursos.

  • Se admiten 10.000 grupos de administración en un único directorio.
  • Un árbol de grupo de administración puede admitir hasta seis niveles de profundidad. Este límite no incluye el nivel raíz ni el nivel de suscripción.
  • Cada grupo de administración y suscripción solo puede admitir un elemento primario

Servicios informáticos y de red de Azure

  1. Comparar instancias de contenedores, máquinas virtuales (VMs) y funciones
  2. Opciones de máquinas virtuales (Azure Virtual Machines, Azure Virtual Machine Scale Sets, availability sets, y Azure Virtual Desktop)
  3. Recursos necesarios para las máquinas virtuales
  4. Opciones de alojamiento de aplicaciones (Azure App Service, Azure Container Instances y Azure Functions)
  5. Redes virtuales de Azure (Azure Virtual Networks, Azure virtual subnets, peering, Azure DNS, y Azure ExpressRoute)
  6. Redes virtuales privadas de Azure (Azure VPN Gateway)
  7. Punto de conexiones públicos y privados

Comparar contenedores, máquinas virtuales y funciones

Las máquinas virtuales de Azure (VMs) son un tipo de servicio en la nube que permite a los usuarios desplegar y ejecutar sistemas operativos y aplicaciones en la nube. Las VMs proporcionan a los usuarios un conjunto de recursos de hardware virtuales, incluyendo CPU, memoria y almacenamiento, que se pueden utilizar para ejecutar aplicaciones y servicios.

Los contenedores de instancias de Azure (ACI) son un tipo de servicio en la nube que permite a los usuarios desplegar y ejecutar contenedores Docker en la nube. Los contenedores son una forma ligera y portable de empaquetar y distribuir aplicaciones y servicios, y ACI facilita su despliegue y gestión en la nube.

Azure Functions es un servicio de computación sin servidor que permite a los usuarios ejecutar pequeñas piezas de código independientes en la nube. Las funciones se activan por eventos, como la subida de un archivo de almacenamiento por parte de un usuario, y se ejecutan automáticamente en la infraestructura del proveedor de la nube. Las funciones están diseñadas para ser ligeras y fáciles de usar, y se pueden utilizar para construir y ejecutar una amplia gama de aplicaciones y servicios.

Cuándo se recomienda usar una u otra opción:

  • Las máquinas virtuales de Azure (VMs) son una buena opción cuando necesita un sistema operativo completo o cuando tiene aplicaciones que requieren un entorno de tiempo de ejecución o ambiente específico. Las VMs proporcionan un alto grado de flexibilidad y se pueden utilizar para ejecutar una amplia gama de aplicaciones y servicios.
  • Los contenedores de instancias de Azure (ACI) son una buena opción cuando tiene aplicaciones o servicios que están empaquetados como contenedores Docker y desea ejecutarlos en la nube. ACI es una forma rápida y sencilla de desplegar y ejecutar contenedores en la nube, y es adecuado para aplicaciones diseñadas para ejecutarse en contenedores.
  • Las funciones de Azure son una buena opción cuando necesita ejecutar pequeñas piezas de código independientes en respuesta a eventos específicos. Las funciones están diseñadas para ser ligeras y fáciles de usar, y son adecuadas para tareas como el procesamiento de datos, la integración con otros servicios y la implementación de APIs sencillas.

En última instancia, la elección entre las VMs de Azure, ACI y Functions dependerá de los requisitos específicos de su aplicación o servicio. Algunos factores a considerar incluyen el nivel de control y personalización que necesita, el entorno de tiempo de ejecución o ambiente que requiere su aplicación y la escala y complejidad de su carga de trabajo.

Máquinas virtuales

Una máquina virtual (VM) no es diferente a cualquier otro equipo físico, como un portátil, un smartphone o un servidor. Tienes una CPU, memoria, discos para almacenar los archivos y puede conectarse a Internet si es necesario. Mientras los componentes de tu PC (denominados hardware) son físicos y tangibles, las VM suelen considerarse equipos virtuales o equipos definidos por software dentro de servidores físicos, donde solo existen como código.

¿Cómo funciona una máquina virtual?

La virtualización es el proceso de crear una versión basada en software o «virtual» de un equipo, con cantidades dedicadas de CPU, memoria y almacenamiento que se «toman prestadas» de un equipo host físico, como un servidor en el centro de datos de un proveedor de nube. Una máquina virtual es un archivo de PC, que suele denominarse imagen, que se comporta igual que un equipo real. La máquina virtual está en una partición separada del resto del sistema, lo que significa que el software que se encuentra dentro de una VM no puede interferir con el sistema operativo principal del equipo host físico.

Un software denominado hipervisor, o administrador de máquinas virtuales, permite ejecutar varias máquinas virtuales a la vez en un mismo equipo host físico. Un hipervisor es el software que integra el hardware físico y el «hardware» virtual de las VM. El hipervisor se asegura de que cada VM obtenga los recursos que necesita del servidor físico de forma ordenada y oportuna. Existen dos tipos de hipervisores, los hipervisor de tipo 1 que se ejecutan directamente en el equipo host (el hardware) y hipervisor de tipo 2 que se ejecutan como una capa de software sobre un sistema operativo.

Cada máquina virtual ejecuta su propio sistema operativo invitado único, lo que le permite tener un grupo de máquinas virtuales juntas, cada una con su propio sistema operativo único. Cada máquina virtual lleva su propia pila de hardware virtualizado que se compone de adaptadores de red, almacenamiento, aplicaciones, archivos binarios, bibliotecas y su propia CPU.

¿Para qué se usan las máquinas virtuales?

Estas son algunas formas de usar las máquinas virtuales:

  • Compilar e implementar aplicaciones en la nube.
  • Probar un nuevo sistema operativo (SO), incluidas las versiones beta.
  • Poner en marcha un nuevo entorno para que les resulte más sencillo y rápido a los desarrolladores ejecutar escenarios de desarrollo y pruebas.
  • Crear copias de seguridad del sistema operativo existente.
  • Acceder a datos infectados por virus o ejecutar una versión anterior de una aplicación con la instalación de un sistema operativo anterior.
  • Ejecutar software o aplicaciones en sistemas operativos para los que no se habían diseñado inicialmente.
  • Al ampliar el centro de datos a la nube.
  • Durante la recuperación ante desastres, si se produce un error, podemos crear máquinas virtuales que se ejecuten en Azure y, después, podemos apagarlas cuando no sean necesarias.
¿Qué ventajas tiene el uso de una máquina virtual?

Al ejecutarse como equipos individuales con aplicaciones y sistemas operativos individuales, las máquinas virtuales tienen la ventaja de que permanecen completamente independientes entre sí y respecto al equipo host físico.

Esto permite ejecutar máquinas virtuales Linux, por ejemplo, en un sistema operativo Windows o ejecutar una versión anterior de Windows en el sistema operativo Windows más actual.

Además, dado que las máquinas virtuales son independientes entre sí, también son extremadamente portátiles. Puedes mover una VM de un hipervisor a otro que esté en una máquina completamente diferente casi de forma inmediata.

Debido a su flexibilidad y portabilidad, las máquinas virtuales ofrecen muchas ventajas, como las siguientes:

  • Ahorro de costes: la ejecución de varios entornos virtuales en una única infraestructura aumenta los beneficios, ya que reduce la necesidad de mantener tantos servidores y los costes de mantenimiento y electricidad.
  • Agilidad y velocidad: la puesta en marcha de una máquina virtual es relativamente fácil y rápida. La virtualización hace que el proceso de ejecución de escenarios de desarrollo y pruebas sea mucho más rápido.
  • Tiempo de inactividad reducido: las máquinas virtuales son muy portátiles y fáciles de migrar de un hipervisor a otro en un equipo diferente, por lo que son una solución excelente para copias de seguridad, en el caso de que el host deje de funcionar de forma inesperada.
  • Escalabilidad: las máquinas virtuales permiten escalar más fácilmente las aplicaciones agregando más servidores virtuales o físicos para distribuir la carga de trabajo entre varias máquinas virtuales. Como resultado, puedes aumentar la disponibilidad y el rendimiento de las aplicaciones.
  • Ventajas de seguridad: dado que las máquinas virtuales se ejecutan en varios sistemas operativos, el uso de un sistema operativo invitado en una máquina virtual permite ejecutar aplicaciones de una seguridad dudosa y proteger el sistema operativo host. Las máquinas virtuales también permiten un mejor análisis forense de la seguridad y suelen usarse para estudiar virus informáticos de forma segura, aislándolos para evitar riesgos en el equipo host.

Contenedores

Un paquete de software estándar (conocido como «contenedor») agrupa el código de una aplicación con las bibliotecas y los archivos de configuración asociados, junto con las dependencias necesarias para que la aplicación se ejecute. Esto permite a los desarrolladores y profesionales de TI implementar aplicaciones sin problemas en todos los entornos.

Los contenedores son un entorno de virtualización. Al igual que la ejecución de varias máquinas virtuales en un solo host físico, se pueden ejecutar varios contenedores en un solo host físico o virtual. A diferencia de las máquinas virtuales, no se administra el sistema operativo de un contenedor. Las máquinas virtuales son similares a una instancia de sistema operativo que se puede conectar y administrar. Los contenedores son ligeros y se han diseñado para crearse, escalarse horizontalmente y detenerse de forma dinámica. Es posible crear e implementar máquinas virtuales a medida que aumenta la demanda de aplicaciones, pero los contenedores son un método más ligero y ágil. Los contenedores están diseñados para permitirle responder a petición a los cambios. Con los contenedores puede reiniciar rápidamente en caso de bloqueo o interrupción del hardware. Uno de los motores de contenedor más populares es Docker, que es compatible con Azure.

¿Cómo funciona un contenedor?

Aunque los contenedores son similares a las máquinas virtuales, ya que tienen su propio espacio privado para procesar, ejecutar comandos, montar sistemas de archivos y tener su propia interfaz de red privada y dirección IP; la diferencia significativa entre contenedores y máquinas virtuales es que los contenedores comparten el sistema operativo del host con otros contenedores. Por lo tanto, haciéndolos más ligeros.

Y dado que el sistema operativo se comparte en todos los contenedores, los componentes que deben desarrollarse desde cero son los archivos binarios y las bibliotecas, que se pueden agregar fácilmente mediante una imagen de Docker.

Estos contenedores se asientan sobre un Container Engine (motor Docker), que a su vez se asienta sobre el sistema operativo host. Cada contenedor comparte el kernel del sistema operativo host (kernel es una parte fundamental del sistema operativo que se encarga de conceder el acceso al hardware de forma segura para todo el software que lo solicita) y, por lo general, también los archivos binarios y las bibliotecas.

Mientras que las máquinas virtuales virtualizan una máquina, un contenedor virtualiza un SO para que varias cargas de trabajo puedan ejecutarse en una sola instancia de sistema operativo. Con las máquinas virtuales, el hardware se virtualiza para ejecutar múltiples instancias de SO, lo que ralentiza todo y aumenta gradualmente el costo total de propiedad. Para evitar todo eso, los contenedores aprovechan un sistema operativo, lo que aumenta la velocidad de implementación y la portabilidad al mismo tiempo que reduce los costos.

¿Cuándo usar contenedores?

El problema de que una aplicación no se ejecute correctamente cuando se mueve de un entorno a otro es tan antiguo como el propio desarrollo de software. Estos problemas suelen deberse a diferencias de configuración en los requisitos de las bibliotecas subyacentes y otras dependencias.

Los contenedores solucionan este problema proporcionando una infraestructura ligera e inmutable para el empaquetado y la implementación de aplicaciones. Una aplicación o un servicio, sus dependencias y su configuración se empaquetan como una imagen de contenedor. La aplicación en contenedor se puede probar como una unidad e implementarse como una instancia de imagen de contenedor en el sistema operativo host.

De esta manera, los contenedores permiten a los desarrolladores y profesionales de TI implementar aplicaciones en entornos sin necesidad de realizar ningún cambio o solo con cambios mínimos.

Migración mediante lift-and-shift, una organización puede obtener beneficios importantes al migrar a la nube, pero es posible que no desee reescribir las aplicaciones. El uso de contenedores permite migrar las aplicaciones a la nube sin cambiar el código.

¿Por qué usar contenedores?
  • Agilidad: cuando los desarrolladores compilan y empaquetan aplicaciones en contenedores y se las proporcionan al departamento de TI para que las ejecuten en una plataforma normalizada, se reduce el esfuerzo global de implementar las aplicaciones y puede optimizar todo el ciclo de desarrollo y pruebas. Esto aumenta también la colaboración y la eficacia entre los equipos de desarrollo y de operaciones para distribuir las aplicaciones con más rapidez.
  • Portabilidad: los contenedores proporcionan un formato normalizado para empaquetar y mantener todos los componentes necesarios para ejecutar la aplicación deseada. Esto resuelve el problema típico de «en mi equipo funciona» y permite la portabilidad entre diversas plataformas de sistema operativo y entre nubes. Cada vez que se implementa un contenedor en cualquier lugar, se ejecuta en un entorno coherente que permanece intacto de una implementación a otra. Ahora dispones de un formato coherente, desde el entorno de desarrollo hasta la producción.
  • Escalabilidad rápida: dado que los contenedores no tienen la sobrecarga típica de las máquinas virtuales, incluidas las instancias de sistemas operativos independientes, la misma infraestructura puede admitir muchos más contenedores. La naturaleza ligera de los contenedores significa que pueden iniciarse y detenerse rápidamente, lo que permite escalar y reducir verticalmente los recursos con rapidez.
Comparación de máquinas virtuales con contenedores

Cuando los usuarios piensan en la virtualización, a menudo les viene a la mente las máquinas virtuales (VM). En realidad, la virtualización puede tomar muchas formas y los contenedores son una de ellas. ¿Cuál es la diferencia entre las máquinas virtuales y los contenedores?

A grandes rasgos, las máquinas virtuales virtualizan el hardware subyacente para que se puedan ejecutar varias instancias de sistemas operativos (SO) en el hardware. Cada máquina virtual ejecuta un sistema operativo y tiene acceso a recursos virtualizados que representan el hardware subyacente.

Las máquinas virtuales tienen muchas ventajas. Entre ellas, se incluyen la capacidad de ejecutar diferentes sistemas operativos en el mismo servidor, el uso más eficaz y rentable de los recursos físicos y el aprovisionamiento de servidores más rápido. Por otra parte, cada máquina virtual contiene una imagen de sistema operativo, bibliotecas, aplicaciones, etc., por lo que puede ser bastante grande.

Un contenedor virtualiza el sistema operativo subyacente y hace que la aplicación en contenedor perciba que tiene el sistema operativo (incluidas la CPU, la memoria, el almacenamiento de archivos y las conexiones de red) todo para ella sola. Dado que se abstraen las diferencias en el sistema operativo y la infraestructura subyacentes, siempre que la imagen base sea coherente, el contenedor se puede implementar y ejecutar en cualquier lugar. Para los desarrolladores, esto es sumamente interesante.

Puesto que los contenedores comparten el sistema operativo host, no necesitan arrancar un sistema operativo ni cargar bibliotecas. Esto permite que los contenedores sean mucho más eficientes y ligeros. Las aplicaciones en contenedor se pueden iniciar en segundos y pueden caber muchas más instancias de la aplicación en la máquina en comparación con un escenario de máquina virtual. El enfoque de un sistema operativo compartido tiene la ventaja adicional de reducir la sobrecarga en términos de mantenimiento, como la aplicación de revisiones y actualizaciones.

Aunque los contenedores son portables, están limitados al sistema operativo para el que se han definido. Por ejemplo, un contenedor para Linux no se puede ejecutar en Windows y viceversa.

Algunas comparaciones:

  • Las VM proporcionan una capa de abstracción para CPU, memoria y almacenamiento que se puede modificar sin tener que invertir en hardware nuevo, al tiempo que sigue permitiendo que el entorno sea flexible y seguro.
  • Con las VMs, el control es todo nuestro. Decidimos el sistema operativo, herramientas y paquetes.
  • En VM la aplicación se ejecuta de manera aislada o con las otras aplicaciones que instala en la VM.
  • Las VMs tienen algunos inconvenientes, sólo pueden ejecutar un sistema operativo a la vez. Por tanto, si tenemos varias aplicaciones de servidor que requieren entornos de tiempo de ejecución distintos, es posible que también requieran varias máquinas virtuales para ejecutarse correctamente.
  • La VM emula un equipo completo, las tareas como iniciar uno o tomar una instantánea son muy lentas y, por lo general, tardan varios minutos.
  • Un contenedor agrupa una sola aplicación y sus dependencias, y después la implementa como una unidad en un host de contenedor.
  • El host de contenedor proporciona un entorno de ejecución estandarizado, que omite los requisitos de infraestructura y de sistema operativo, lo que permite que la aplicación en contenedor se ejecute en paralelo con otras aplicaciones en contenedor.
  • La virtualización a nivel de sistema operativo de los contenedores es un motivo por el cual el enfoque de contenedor es más eficaz que una VM completa. Permite ejecutar varios contenedores livianos en un solo host sin sacrificar el aislamiento que la VM ofrece originalmente. Azure es compatible con distintas variaciones de contenedor, de las cuales, la más popular es Docker.
  • A diferencia de las máquinas virtuales, podemos poner en marcha rápidamente los contenedores. Solo debemos esperar que se inicie la aplicación en lugar del sistema operativo y la aplicación.
  • Las aplicaciones en contenedor tienden a ser de un tamaño mucho menor.
  • Con contenedores el proceso de desarrollo se simplifica, porque el entorno de ejecución para el desarrollo puede ser exactamente igual que el entorno de producción.
  • Otra ventaja de los contenedores es que se pueden organizar con la orquestación del clúster de contenedor.
  • Puede implementar y administrar fácilmente varias aplicaciones en contenedor sin preocuparse de qué servidor hospedará cada contenedor.

La decisión de si desea usar una máquina virtual o un contenedor depende de la flexibilidad que necesita. Si desea controlar completamente el entorno, puede elegir una máquina virtual. En caso contrario, quizás sean más útiles la portabilidad, las características de rendimiento y las funcionalidades de administración de los contenedores.

Las principales similitudes y diferencias máquinas virtuales y contenedores

Las principales similitudes y diferencias máquinas virtuales y contenedores

  • Aislamiento: VM proporciona un aislamiento completo del sistema operativo host y de otras máquinas virtuales. Mientras que, un contenedor normalmente proporciona aislamiento ligero del host y otros contenedores, pero no proporciona un límite de seguridad fuerte como una máquina virtual.
  • Sistema operativo: VM ejecuta un sistema operativo completo incluido el kernel, lo que requiere más recursos del sistema (CPU, memoria y almacenamiento). Mientras que, un contenedor ejecuta la parte del modo de usuario de un sistema operativo y se puede personalizar para que contenga solo los servicios necesarios para la aplicación, con menos recursos del sistema.
  • Compatibilidad: VM ejecuta prácticamente cualquier sistema operativo dentro de la máquina virtual. Mientras que, un contenedor se ejecuta en la misma versión del sistema operativo que el host (el aislamiento de Hyper-V permite ejecutar versiones anteriores del mismo sistema operativo en un entorno de máquina virtual ligera).
  • Almacenamiento: VM usa un disco duro virtual (VHD) para el almacenamiento local para una sola máquina virtual o un recurso compartido de archivos SMB para el almacenamiento compartido por varios servidores. Mientras que, un contenedor usa discos de Azure para el almacenamiento local para un solo nodo o Azure Files (recursos compartidos de SMB) para el almacenamiento compartido por varios nodos o servidores.
  • Equilibrio de carga: el equilibrio de carga de VMs mueve máquinas virtuales en ejecución a otros servidores de un clúster de conmutación por error. Mientras que, los propios contenedores no se mueven; en su lugar, un orquestador puede iniciar o detener automáticamente contenedores en nodos de clúster para administrar los cambios de carga y disponibilidad.
  • Tolerancia a errores: las VMs pueden conmutar por error a otro servidor de un clúster, reiniciando el sistema operativo de la VM en el nuevo servidor. En un contenedor si se produce un error en un nodo del clúster, el orquestador vuelve a crear rápidamente los contenedores que se ejecutan en él en otro nodo del clúster.
  • Redes: VM usa adaptadores de red virtual. Un contenedor usa una vista aislada de un adaptador de red virtual, lo que proporciona un poco menos de virtualización: el firewall del host se comparte con los contenedores, a la vez que se usan menos recursos.
Uso de contenedores en las soluciones

Los contenedores se usan normalmente para crear soluciones mediante una arquitectura de microservicios. Esta arquitectura es donde se dividen las soluciones en partes más pequeñas e independientes. Por ejemplo, se puede dividir un sitio web en un contenedor que hospeda el front-end, otro que hospeda el back-end y un tercero para el almacenamiento. De esta forma, puede separar partes de la aplicación en secciones lógicas que se pueden mantener, escalar o actualizar independientemente.

Imagine que el back-end de su sitio web ha alcanzado el límite de su capacidad, pero el front-end y el almacenamiento no están sobrecargados. Con los contenedores puede escalar el back-end por separado para mejorar el rendimiento. Si algo requiere este cambio, también puede optar por cambiar el servicio de almacenamiento o modificar el front-end sin afectar a ninguno de los otros componentes.

Funciones

Ejecución de aplicaciones controladas por eventos mediante el modelo de programación de funciones. Comparte muchas características con contenedores en torno a la escala y la integración con eventos, pero está optimizado para funciones efímeras implementadas como código o contenedores. El modelo de programación de Azure Functions ofrece ventajas de productividad para los equipos que buscan desencadenar la ejecución de las funciones en los eventos y establecer enlaces con otros orígenes de datos. Al compilar funciones de estilo FaaS, Azure Functions es la opción ideal. El modelo de programación de Azure Functions está disponible como una imagen de contenedor base, lo que permite moverlo a otras plataformas de proceso basadas en contenedores, de tal forma que los equipos pueden reutilizar el código a medida que cambian los requisitos del entorno.

¿Cómo funcionan las funciones?

Serverless una arquitectura sin servidor que nos permite escribir código (C#, Java, Node.js, Python y similares), establecer algunos parámetros de configuración simples y luego cargar el «paquete» en un servidor basado en la nube que es propiedad y está administrado por un tercero. Como tal, la informática sin servidor también se conoce como Función como servicio (FaaS).

A pesar de su terminología, serverless no significa necesariamente que no haya servidores involucrados. En cambio, el término sin servidor describe la forma en que las organizaciones esencialmente subcontratan sus servidores en lugar de poseer y mantener los suyos propios.

Podemos ejecutar una función llamándola desde una aplicación que se ejecuta en un servicio.

Serverless a menudo se ha comparado con los contenedores, ya que ambas tecnologías brindan beneficios similares en términos de rápido desarrollo. Sin embargo, es importante tener en cuenta que tanto la informática sin servidor como la contenedorización en realidad no se anulan entre sí: pueden funcionar en conjunto.

Una aplicación basada en contenedores es mejor para aplicaciones complejas y a gran escala, mientras que una arquitectura sin servidor es más adecuada para tareas más pequeñas que se pueden ejecutar en segundo plano o a las que se puede acceder a través de servicios externos.

Si estamos ejecutando un programa basado en contenedores, podemos subcontratar ciertas funciones a una plataforma sin servidor para ayudarnos a liberar recursos en el programa principal.

azure.microsoft.com: Container Services, Virtual Machine Services y Serverless

learn.microsoft.com: Máquinas virtuales en Azure, Azure Container Instances, Azure Functions, Red de contenedores de Windows, Serverless apps: Architecture, patterns, and Azure implementation, Containers vs VM

Opciones de máquinas virtuales

  1. Azure Virtual Machines
  2. Azure Virtual Machine Scale Sets
  3. Availability sets
  4. Azure Virtual Desktop

Azure Virtual Machines

Azure Virtual Machines es la infraestructura como servicio (IaaS) de Azure que se usa para implementar máquinas virtuales persistentes con casi cualquier carga de trabajo de uso general o que hagan un uso intensivo del almacenamiento, la memoria, el proceso y los gráficos, y que se ofrecen en una gran variedad de tipos y tamaños para satisfacer tus necesidades y mantener el presupuesto bajo control.

Se trata de instancias de servicio de imagen que proporcionan recursos informáticos a petición y escalables a precios basados en el uso.

Permiten:

  • Control total sobre el sistema operativo.
  • Capacidad de ejecutar software personalizado.
  • Usar configuraciones de hospedaje personalizados.

Una máquina virtual de Azure nos ofrece la flexibilidad de la virtualización sin necesidad de adquirir y mantener el hardware físico que ejecuta la máquina virtual. Pero si tendremos que configurar, actualizar y mantener el software que se ejecuta en la máquina virtual.

Incluso puede crear o usar una imagen ya creada para aprovisionar rápidamente máquinas virtuales. Al seleccionar una imagen de máquina virtual preconfigurada, podrá crear y aprovisionar una máquina virtual en cuestión de minutos. Una imagen es una plantilla que se usa para crear una máquina virtual y puede que ya incluya un sistema operativo y otro software, como herramientas de desarrollo o entornos de hospedaje web.

Se pueden ejecutar máquinas virtuales únicas para pruebas, desarrollo o tareas secundarias. También se pueden agrupar las máquinas virtuales para proporcionar alta disponibilidad, escalabilidad y redundancia. Azure también puede administrar la agrupación de máquinas virtuales con características como conjuntos de escalado y conjuntos de disponibilidad.

Traslado a la nube con máquinas virtuales (Lift-and-shift)

Las máquinas virtuales también son una opción excelente cuando se mueve de un servidor físico a la nube (también conocido como Lift-and-shift). Puede crear una imagen del servidor físico y hospedarla en una máquina virtual con pocos o ningún cambio. Al igual que un servidor local físico, debe mantener la máquina virtual: es responsable de mantener el sistema operativo y el software instalados.

learn.microsoft.com: Azure Virtual Machine

Virtual Machine Scale Sets (Conjuntos de escalado)

VM Scale Sets, permite crear y administrar miles de máquinas virtuales idénticas a gran escala.

Aumentando o disminuyendo el número de máquinas virtuales automáticamente en respuesta a la demanda o en función de una programación que se defina.

Administrar, configurar y actualizar de forma centralizada un gran número de máquinas virtuales y proporcionar mayor disponibilidad y seguridad para las aplicaciones, en cuestión de minutos.

Los VM Scale Sets también implementan automáticamente un equilibrador de carga para asegurarse de que los recursos se usan de forma eficaz.

Simplifica la administración y la gobernanza de las máquinas virtuales

Automatiza la creación y la implementación de las máquinas virtuales y emita automáticamente actualizaciones del sistema operativo para mejorar el cumplimiento normativo y la seguridad. Centraliza plantillas para lograr una implementación coherente de las aplicaciones. Permite centrarse en las aplicaciones y evita las tareas adicionales de configuración del almacenamiento o de administración de las redes.

Aumenta la resistencia de las aplicaciones

Aumenta el tiempo de actividad de la aplicación usando zonas de disponibilidad y conjuntos de disponibilidad para distribuir automáticamente las máquinas virtuales en un conjunto de escalado dentro de un mismo centro de datos o entre varios centros de datos. Los conjuntos de escalado ejecutan varias instancias de máquina virtual de la aplicación. Por tanto, si alguna de estas instancias tiene un problema, los clientes seguirán teniendo acceso a la aplicación con una interrupción mínima. VM Scale Sets ofrece un acuerdo de nivel de servicio que garantiza hasta un 99,99 % de tiempo de actividad de las máquinas virtuales.

learn.microsoft.com: Virtual Machine Scale Sets

Availability Set (Conjuntos de disponibilidad)

Los conjuntos de disponibilidad de máquinas virtuales son otra herramienta que nos ayudará a crear un entorno más resistente y de alta disponibilidad. Los conjuntos de disponibilidad están diseñados para garantizar que las máquinas virtuales escalen las actualizaciones y tengan una conectividad de red y potencia variadas, lo que evita que se pierdan todas las máquinas virtuales debido a un solo fallo de energía o de la red.

Los conjuntos de disponibilidad lo hacen mediante la agrupación de las máquinas virtuales de dos maneras: dominio de actualización y dominio de error.

  • Dominio de actualización: agrupa las máquinas virtuales que se pueden reiniciar al mismo tiempo. Esto le permite aplicar actualizaciones mientras sabe que solo una agrupación de dominios de actualización estará sin conexión a la vez. Se actualizarán todas las máquinas de un dominio de actualización. A un grupo de actualizaciones que realiza el proceso de actualización se le asigna un tiempo de 30 minutos de recuperación antes de que se inicie el mantenimiento en el siguiente dominio de actualización.
  • Dominio de error: agrupa las máquinas virtuales por fuente de alimentación común y conmutador de red. De forma predeterminada, un conjunto de disponibilidad dividirá las máquinas virtuales en un máximo de tres dominios de error. Esto ayuda a protegerse frente a un error de alimentación física o de la red al tener las máquinas virtuales en dominios de error diferentes (por tanto, conectadas a diferentes recursos de alimentación y red).

Lo mejor de todo es que la configuración de un conjunto de disponibilidad no supone ningún costo adicional. Solo paga por las instancias de máquina virtual que cree.

learn.microsoft.com: Availability Set

Comparación Availability Set y Scale Sets

Los conjuntos de escalado y los conjuntos de disponibilidad de Azure se usan para garantizar la disponibilidad y la escalabilidad de las aplicaciones y los servicios en Azure. Sin embargo, sirven para diferentes propósitos y se utilizan de diferentes maneras.

Los conjuntos de escalado de Azure son un grupo de máquinas virtuales idénticas que se implementan juntas y se pueden escalar automáticamente hacia arriba o hacia abajo según la demanda. Los conjuntos de escalado le permiten aumentar o disminuir automáticamente la cantidad de máquinas virtuales en un grupo para controlar los cambios en la carga, y también brindan funciones como el escalado automático y la aplicación automática de parches del sistema operativo. Los conjuntos de escalado están diseñados para funcionar con aplicaciones sin estado y, por lo general, se usan para escalar horizontalmente la cantidad de máquinas virtuales que ejecutan una aplicación o un servicio.

Los conjuntos de disponibilidad de Azure, por otro lado, se utilizan para garantizar que su aplicación o servicio permanezca disponible en caso de una falla de hardware o software. Los conjuntos de disponibilidad dividen sus máquinas virtuales en grupos, y cada grupo se coloca en un hardware físico diferente para minimizar el riesgo de que todas las máquinas virtuales se vean afectadas por una sola falla. Esta función es especialmente útil para las aplicaciones con estado, que dependen de datos y configuraciones que deben persistir durante los reinicios o las conmutaciones por error.

Por lo tanto, Scale Sets le permite escalar horizontalmente sus máquinas virtuales, agregando o eliminando máquinas de un grupo, mientras que los conjuntos de disponibilidad garantizan una alta disponibilidad al distribuir las máquinas virtuales en varios hardware y están diseñadas para evitar un único punto de falla.

Es importante tener en cuenta que, aunque puede usarlos de forma independiente, Azure Scale Sets y Availability Sets se pueden usar juntos para garantizar una alta disponibilidad y escalabilidad para su aplicación o servicio en Azure.

Azure Virtual Desktop (Virtualización de escritorio y de aplicaciones)

Azure Virtual Desktop es un servicio de virtualización de escritorios y aplicaciones que se ejecuta en la nube. Permite usar una versión hospedada en la nube de Windows desde cualquier ubicación.

Funciona en dispositivos y sistemas operativos que pueden usar aplicaciones para acceder a escritorios remotos y en la mayoría de exploradores modernos.

Aumento de la seguridad

Virtual Desktop aumenta la seguridad, proporciona administración centralizada de la seguridad de los escritorios de los usuarios con Azure Active Directory (Azure AD). Puede habilitar la autenticación multifactor para proteger los inicios de sesión de los usuarios. También puede proteger el acceso a los datos mediante la asignación a los usuarios de controles de acceso basados en roles (RBAC) detallados.

Con Virtual Desktop, los datos y las aplicaciones se separan del hardware local y el escritorio y las aplicaciones reales se ejecutan en la nube, lo que significa que se reduce el riesgo de dejar datos confidenciales en un dispositivo personal. Además, las sesiones de usuario están aisladas en entornos de una o varias sesiones.

Implementación de sesión múltiple de Windows 10 o Windows 11

Virtual Desktop permite usar la sesión múltiple de Windows 10 o Windows 11 Enterprise, el único sistema operativo basado en cliente de Windows que permite varios usuarios simultáneos en una sola máquina virtual.

learn.microsoft.com: Azure Virtual Desktop

Recursos necesarios para las máquinas virtuales

Al crear una máquina virtual, también tendremos que elegir los recursos asociados a esa máquina virtual:

  • Tamaño (número de núcleos de procesador y cantidad de RAM)
  • Discos de almacenamiento (unidades de disco duro, unidades de estado sólido, etc.)
  • Redes (red virtual, dirección IP pública y configuración de puertos)

Opciones de alojamiento de aplicaciones

  1. Azure App Service
  2. Azure Container Instances
  3. Azure Functions

Azure App Service (Alojamiento en servicio de aplicación)

App Service es un servicio basado en HTTP para crear y hospedar aplicaciones web, trabajos en segundo plano, API de REST y back-ends para dispositivos móviles en el lenguaje de programación que elija, sin tener que administrar la infraestructura.

Ofrece escalado automático y alta disponibilidad.

App Service admite Windows y Linux.

Permite implementaciones automatizadas desde GitHub, Azure DevOps o cualquier repositorio Git para admitir un modelo de implementación continua.

Azure App Service le permite centrarse en la creación y el mantenimiento de la aplicación, y Azure se centra en mantener el entorno en funcionamiento.

  • App Service incluye compatibilidad completa para hospedar aplicaciones web mediante ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP o Python. Puede elegir Windows o Linux como sistema operativo del host.
  • Al igual que al hospedar un sitio web, puede compilar API web basadas en REST mediante el lenguaje y el marco que prefiera. Se obtiene compatibilidad completa con Swagger y la posibilidad de empaquetar y publicar la API en Azure Marketplace. Las aplicaciones creadas se pueden consumir desde cualquier cliente basado en HTTP o HTTPS.
  • Se puede usar la característica WebJobs para ejecutar un programa (.exe, Java, PHP, Python o Node.js) o un script (.cmd, .bat, PowerShell o Bash) en el mismo contexto que una aplicación web, aplicación de API o aplicación móvil. Los puede programar o ejecutar un desencadenador. Los trabajos web suelen usarse para ejecutar tareas en segundo plano como parte de la lógica de aplicación.
  • Use la característica Mobile Apps de App Service a fin de compilar rápidamente un back-end para aplicaciones iOS y Android. Con unos pocos clics en el Portal de Azure, puede realizar lo siguiente:
    • Almacenar los datos de aplicaciones móviles en una base de datos SQL basada en la nube.
    • Autenticar a clientes con proveedores sociales comunes, como MSA, Google, Twitter y Facebook.
    • Enviar notificaciones de inserción.
    • Ejecutar lógica de back-end personalizada en C# o Node.js.

learn.microsoft.com: Azure App Service, Precios de App Service

WebJobs

Azure WebJobs es una característica de Azure App Service que le permite ejecutar tareas en segundo plano o tareas programadas en el mismo contexto que su aplicación web, aplicación móvil o aplicación de API. Los trabajos web se utilizan normalmente para tareas como el procesamiento de datos, el envío de correos electrónicos o la generación de miniaturas. Pueden ejecutarse de forma continua o programada, y pueden escribirse en una variedad de lenguajes, incluidos C#, JavaScript y Python.

WebJobs se puede escribir de varias formas, por ejemplo:

Scripts: script de un solo archivo, por ejemplo, .cmd, .bat, .ps1, .sh, .php, .py
Ejecutables: .exe, .dll
Archivo de script con una extensión específica y el intérprete adecuado instalado en App Service, por ejemplo, .js con Node.js, .py con Python, .php con PHP
Los trabajos web se hospedan en un servicio de aplicaciones de Azure y pueden ejecutarse de forma continua o programada. Pueden desencadenarse por eventos, como la adición de un nuevo archivo a Azure Storage, o pueden ejecutarse según una programación. También puede controlar y monitorear el estado de sus WebJobs usando Azure Portal o Azure PowerShell.

Los trabajos web son una herramienta útil para ejecutar tareas en segundo plano en Azure y se pueden usar para agregar funciones adicionales a sus aplicaciones web, aplicaciones móviles y aplicaciones de API. Se pueden usar para una amplia variedad de tareas, como procesar datos, enviar correos electrónicos y generar miniaturas, y el hecho de que se ejecuten en el mismo contexto que su aplicación significa que pueden compartir recursos, como configuraciones y almacenamiento de datos.

Azure WebJobs y Azure Functions: se usan para ejecutar tareas en segundo plano y trabajos programados en Azure, pero tienen algunas diferencias clave:

  • Modelo de ejecución: las funciones de Azure están basadas en eventos, lo que significa que se desencadenan por un evento y se ejecutan en respuesta a ese evento. WebJobs, por otro lado, puede ser controlado por eventos o programado.
  • Compatibilidad con idiomas: Azure Functions admite una amplia gama de idiomas, incluidos C#, F#, JavaScript, Python y Java, mientras que WebJobs admite un conjunto más limitado de idiomas, incluidos C#, Java, JavaScript, Python y PowerShell.
  • Escalado: Azure Functions se escala automáticamente para manejar una mayor carga, mientras que WebJobs se puede escalar manualmente.
  • Portabilidad: Azure Functions se puede implementar en varios entornos, como Azure, AWS Lambda y Google Cloud Functions. Los trabajos web, por otro lado, están diseñados específicamente para ejecutarse en el contexto de un servicio de aplicaciones de Azure, por lo que no son tan portátiles.
  • Integraciones: las funciones de Azure ofrecen una amplia gama de activadores y enlaces integrados para la integración con servicios de Azure, como almacenamiento, bus de servicio y centros de eventos. WebJobs también admite activadores y enlaces, pero el número de opciones disponibles es menor que el de Azure Functions.

En general, Azure Functions y WebJobs son similares en el sentido de que ambos están diseñados para ejecutar tareas en segundo plano en la nube, pero Azure Functions es un servicio más flexible y eficaz, con una amplia gama de características, soporte de idiomas y es más adecuado para eventos. escenarios, mientras que WebJobs está más integrado con Azure App Service y tiene menos funciones, pero podría ser más adecuado para escenarios de aplicaciones web donde hay un App Service existente.

Azure Container Instances (Alojamiento en contenedores)

Container Instances ofrece la forma más rápida y sencilla de ejecutar un contenedor en Azure sin tener que administrar máquinas virtuales o adoptar servicios adicionales.

Permite desarrollar aplicaciones rápido sin tener que administrar máquinas virtuales ni aprender a usar nuevas herramientas. Tu aplicación, dentro de un contenedor, se ejecutará en la nube.

Container Instances es una oferta de plataforma como servicio (PaaS). Azure Container Instances te permite cargar los contenedores. A continuación, el servicio ejecutará los contenedores por ti.

Los contenedores están diseñados para permitirte responder a petición a los cambios. Con los contenedores puedes reiniciar rápidamente en caso de bloqueo o interrupción del hardware.

Uno de los motores de contenedor más populares es Docker, que es compatible con Azure.

learn.microsoft.com: Azure Container Instances

Azure Functions (Alojamiento en funciones)

Azure Functions es una opción de proceso sin servidor controlada por eventos que no necesita el mantenimiento de máquinas virtuales ni contenedores. Si compilamos una aplicación mediante máquinas virtuales o contenedores, esos recursos deben «ejecutarse» para que la aplicación funcione. Con Azure Functions, un evento activa la función, lo que reduce la necesidad de mantener los recursos aprovisionados cuando no hay ningún evento.

Como desarrollador de software, espera dedicar el tiempo a lo importante: compilar la aplicación.
No quiere pasarse el día ejecutando tareas lentas y tediosas como instalar un sistema operativo o descargar actualizaciones del sistema.
El objetivo de la informática sin servidor es ayudarnos en esto al encargarse de esas agotadoras tareas de administración del servidor, para que podamos centrarnos en entregar la aplicación a nuestros clientes.
«Informática sin servidor» puede resultar un nombre un poco engañoso, porque en realidad sí se usan servidores. Pero realmente significa que no somos nosotros quienes nos hacemos cargo de la responsabilidad de administrar los servidores. En otras palabras, es una abstracción de los servidores para que podamos despreocuparnos de la infraestructura y centrarnos en las tareas de desarrollador.

Usar un enfoque sin servidor tiene tres grandes ventajas:

  • No hay administración de infraestructura. Y, como empresa, no tiene que centrarse en tareas administrativas como instalar un sistema operativo. En lugar de eso, simplemente implementa el código y este se ejecuta de manera automática con alta disponibilidad.
  • La escalabilidad. A medida que crece la popularidad de la aplicación, esta seguirá funcionando en cualquier carga de trabajo. Los equipos sin servidor pueden escalar de nada a decenas de miles de solicitudes sin ninguna configuración.
  • Solo paga lo que usa. La informática sin servidor es controlada por eventos y los recursos solo se asignan desde una acción directa. Solo se le cobra el tiempo que tarda en ejecutar el código en lugar de pagar los recursos si no se usan.

El tiempo es oro en el mundo empresarial, por lo que quiere centrar su propio tiempo en cosas importantes. Con Azure para admitir la informática sin servidor a través de productos como Azure Functions, su trabajo principal será solo cargar el código y obtendrá automáticamente las ventajas de la escalabilidad y la administración de la infraestructura más un modelo de pago que solo le cobrará por lo que use.

Las funciones pueden ser sin estado o con estado. Cuando son sin estado (valor predeterminado), se comportan como si se reiniciaran cada vez que responden a un evento. Cuando son con estado (denominado Durable Functions), se pasa un contexto a través de la función para realizar el seguimiento antes de la actividad.

Las funciones son un componente clave de la informática sin servidor. También son una plataforma de proceso general para ejecutar cualquier tipo de código. Si cambian las necesidades de la aplicación del desarrollador, se puede implementar el proyecto en un entorno que no sea sin servidor. Esta flexibilidad permite administrar el escalado, ejecutar en redes virtuales e incluso aislar por completo las funciones.

¿Cuándo usar Azure Functions?

Azure Functions permite implementar la lógica del sistema en bloques de código fácilmente disponibles. Estos bloques de código se denominan «funciones». Se pueden ejecutar distintas funciones cada vez que necesite responder a eventos críticos.

Azure Functions es una solución sin servidor que te permite escribir menos código, mantener menos infraestructura y ahorrar costos. En lugar de preocuparse por implementar y mantener servidores, la infraestructura en la nube proporciona todos los recursos actualizados necesarios para mantener las aplicaciones en ejecución.

El uso de Azure Functions es idóneo si solo nos interesa el código que ejecuta el servicio y no la infraestructura o la plataforma subyacente. Las funciones se usan normalmente cuando se debe realizar un trabajo en respuesta a un evento (a menudo a través de una solicitud REST), un temporizador o un mensaje de otro servicio de Azure, y cuando ese trabajo puede completarse rápidamente, en segundos o en menos tiempo.

Functions se escala automáticamente según la demanda, por lo que es una opción correcta cuando la demanda es variable.

Azure Functions ejecuta el código cuando se desencadena y desasigna recursos automáticamente cuando la función finaliza. En este modelo, solo se le cobrará por el tiempo de CPU usado mientras se ejecuta la función.

learn.microsoft.com: Azure Functions

Redes virtuales de Azure (Virtual Networking)

  1. Azure Virtual Networks
  2. Azure virtual subnets
  3. Peering
  4. Azure DNS
  5. Azure ExpressRoute

Las redes virtuales y las subredes virtuales de Azure permiten a los recursos de Azure, como las máquinas virtuales, las aplicaciones web y las bases de datos, comunicarse entre sí, con los usuarios de Internet y con los equipos cliente en el entorno local.

Las redes virtuales de Azure proporcionan las siguientes funcionalidades de red:

  • Aislamiento y segmentación: la red virtual de Azure permite crear varias redes virtuales aisladas. Al configurar una red virtual, se define un espacio de direcciones IP privadas con intervalos de direcciones IP públicas o privadas. El intervalo IP solo existe dentro de la red virtual y no es enrutable en Internet. Después, podemos dividir ese espacio de direcciones IP en subredes y asignar parte del espacio de direcciones definido a cada subred con nombre. Para la resolución de nombres, podemos usar el servicio de resolución de nombres integrado en Azure. También podemos configurar la red virtual para que use un servidor DNS interno o externo.
  • Comunicación con Internet: podemos permitir conexiones entrantes desde Internet mediante la asignación de una dirección IP pública a un recurso de Azure o la colocación del recurso detrás de un equilibrador de carga público.
  • Comunicación entre recursos de Azure: podemos hacerlo de dos maneras:
    • Las redes virtuales no solo pueden conectar máquinas virtuales, sino también otros recursos de Azure, como App Service Environment para Power Apps, Azure Kubernetes Service y conjuntos de escalado de máquinas virtuales de Azure.
    • Los puntos de conexión de servicio se pueden conectar a otros tipos de recursos de Azure, como cuentas de almacenamiento y bases de datos de Azure SQL. Este enfoque permite vincular varios recursos de Azure con las redes virtuales para mejorar la seguridad y proporcionar un enrutamiento óptimo entre los recursos.
  • Comunicación con los recursos locales: Las redes virtuales de Azure permiten vincular entre sí los recursos del entorno local y dentro de la suscripción de Azure. Existen tres mecanismos para lograr esta conectividad:
    • Las conexiones de red privada virtual de punto a sitio se establecen desde un equipo ajeno a la organización a la red corporativa. En este caso, el equipo cliente inicia una conexión VPN cifrada para conectarse a la red virtual de Azure.
    • Las redes virtuales privadas de sitio a sitio vinculan el dispositivo o puerta de enlace de VPN local con la puerta de enlace de VPN de Azure en una red virtual. De hecho, puede parecer que los dispositivos de Azure están en la red local. La conexión se cifra y funciona a través de Internet.
    • Azure ExpressRoute proporciona una conectividad privada dedicada a Azure que no se desplaza por Internet. ExpressRoute es útil para los entornos donde se necesita más ancho de banda e incluso mayores niveles de seguridad.
  • Enrutamiento del tráfico de red: de forma predeterminada, Azure enruta el tráfico entre las subredes de todas las redes virtuales conectadas, las redes locales e Internet. También puede controlar el enrutamiento e invalidar esa configuración del siguiente modo:
    • Las tablas de rutas permiten definir reglas sobre cómo se debe dirigir el tráfico. Puede crear tablas de rutas personalizadas que controlen cómo se enrutan los paquetes entre las subredes.
    • El Protocolo de puerta de enlace de borde (BGP) funciona con puertas de enlace de VPN de Azure, Azure Route Server o Azure ExpressRoute para propagar las rutas BGP locales a las redes virtuales de Azure.
  • Filtrado del tráfico de red: las redes virtuales de Azure permiten filtrar el tráfico entre las subredes mediante los métodos siguientes:
    • Los grupos de seguridad de red son recursos de Azure que pueden contener varias reglas de seguridad de entrada y salida. Estas reglas se pueden definir para permitir o bloquear el tráfico en función de factores como el protocolo, el puerto y las direcciones IP de destino y origen.
    • Las aplicaciones virtuales de red son máquinas virtuales especializadas que se pueden comparar con un dispositivo de red protegido. Una aplicación virtual de red ejerce una función de red determinada, como ejecutar un firewall o realizar la optimización de la red de área extensa (WAN).
  • Conexión de redes virtuales: podemos vincular redes virtuales entre sí mediante el emparejamiento (Peering) de red virtual. El tráfico de red entre redes emparejadas es privado y se desplaza por la red troncal de Microsoft, y nunca entra en la red pública de Internet.  Estas redes virtuales pueden estar en regiones distintas, lo que permite crear una red global interconectada con Azure.

Las redes virtuales de Azure admiten puntos de conexión públicos y privados para permitir la comunicación entre recursos externos o internos con otros recursos internos.

  • Los puntos de conexión públicos tienen una dirección IP pública y son accesibles desde cualquier parte del mundo.
  • Los puntos de conexión privados existen dentro de una red virtual y tienen una dirección IP privada en el espacio de direcciones de esa red virtual.

learn.microsoft.com: Virtual Networking

Azure Virtual Network

Azure Virtual Network (VNet) es el bloque de creación fundamental de una red privada en Azure. VNet permite muchos tipos de recursos de Azure, como Azure Virtual Machines (máquinas virtuales), para comunicarse de forma segura entre usuarios, con Internet y con las redes locales. VNet es similar a una red tradicional que funcionaría en su propio centro de datos, pero aporta las ventajas adicionales de la infraestructura de Azure, como la escala, la disponibilidad y el aislamiento.

learn.microsoft.com: Azure Virtual Network

Azure virtual subnets

Una subred es un intervalo de direcciones IP en la red virtual. Una red virtual se puede dividir en varias subredes para facilitar su organización o por motivos de seguridad. Cada una de las NIC de una máquina virtual está conectada a una subred de una red virtual. Las NIC conectadas a subredes (iguales o distintas) dentro de una red virtual pueden comunicarse entre sí sin ninguna configuración adicional.

Peering

Virtual Network Peering permite conectar sin problemas dos o más redes virtuales en Azure. A efectos de conectividad las redes virtuales aparecen como una sola. El tráfico entre las máquinas virtuales de la red virtual emparejada usa la infraestructura de la red troncal de Microsoft. Al igual que el tráfico entre las máquinas virtuales de la misma red, el tráfico solo se enruta a través de la red privada de Microsoft.

La directiva admite los siguientes tipos de emparejamiento:

  • Emparejamiento de red virtual: conexión de redes virtuales que se encuentren en la misma región de Azure.
  • Emparejamiento global de redes virtuales: conexión de redes virtuales en distintas regiones de Azure.

learn.microsoft.com: virtual-network-peering

Azure DNS

Azure DNS es un servicio de hospedaje para dominios DNS que ofrece resolución de nombres mediante la infraestructura de Microsoft Azure. Al hospedar dominios en Azure, puede administrar los registros de DNS con las mismas credenciales, API, herramientas y facturación que con los demás servicios de Azure.

Ventajas de Azure DNS

Azure DNS saca provecho del ámbito y la escala de Microsoft Azure para proporcionar numerosas ventajas, incluidas las siguientes:

  • Confiabilidad y rendimiento: Los dominios DNS de Azure DNS se hospedan en la red global de servidores de nombres DNS de Azure, y proporcionan resistencia y alta disponibilidad. Azure DNS usa redes de difusión por proximidad para que el servidor DNS más próximo disponible responda a cada consulta de DNS para proporcionar un mejor rendimiento y una mayor disponibilidad para el dominio.
  • Seguridad
  • Facilidad de uso
  • Redes virtuales personalizables
  • Registros de alias

No se puede usar Azure DNS para comprar un nombre de dominio. Por una tarifa anual, puede comprar un nombre de dominio mediante dominios de App Service o un registrador de nombres de dominio de terceros. Después de comprarlos, los dominios se pueden hospedar en Azure DNS para la administración de registros.

learn.microsoft.com: azure-dns

Azure ExpressRoute

ExpressRoute le permite ampliar las redes locales a la nube de Microsoft mediante una conexión privada con la ayuda de un proveedor de conectividad. Esta conexión se denomina circuito ExpressRoute. Con ExpressRoute, puede establecer conexiones con servicios en la nube de Microsoft, como Microsoft Azure y Microsoft 365. Esto le permite conectar oficinas, centros de datos u otras instalaciones a la nube de Microsoft. Cada ubicación tendría su propio circuito ExpressRoute.

La conectividad puede ser desde una red de conectividad universal (IP VPN), una red Ethernet de punto a punto o una conexión cruzada virtual a través de un proveedor de conectividad en una instalación de ubicación compartida. Las conexiones de ExpressRoute no pasan por la red pública de Internet. Esto permite a las conexiones de ExpressRoute ofrecer más confiabilidad, más velocidad, latencia coherentes y mayor seguridad que las conexiones normales a través de Internet.

Con ExpressRoute los datos no viajan a través de la red pública de Internet y, por tanto, no se exponen a los posibles riesgos asociados a las comunicaciones de Internet. ExpressRoute es una conexión privada de la infraestructura local a la infraestructura de Azure. Incluso si tiene una conexión ExpressRoute, las consultas de DNS, la comprobación de la lista de revocación de certificados y las solicitudes de Azure Content Delivery Network se siguen enviando a través de la red pública de Internet.

Características y ventajas de ExpressRoute

El uso de ExpressRoute como servicio de conexión entre Azure y las redes locales tiene varias ventajas.

  • Conectividad con los servicios en la nube de Microsoft: ExpressRoute permite el acceso directo a los siguientes servicios en todas las regiones:
    • Microsoft Office 365
    • Microsoft Dynamics 365
    • Servicios de proceso de Azure, como Azure Virtual Machines
    • Servicios en la nube de Azure, como Azure Cosmos DB y Azure Storage
  • Conectividad global: Puede permitir que Global Reach de ExpressRoute intercambie datos entre los sitios locales si conecta los diferentes circuitos ExpressRoute. Por ejemplo, supongamos que tiene una oficina en Asia y un centro de datos en Europa, ambos con circuitos ExpressRoute que los conectan a la red de Microsoft. Puede usar Global Reach de ExpressRoute para conectar esas dos instalaciones, lo que les permite comunicarse sin transferir datos a través de la red pública de Internet.
  • Enrutamiento dinámico: ExpressRoute usa el BGP. BGP se usa para intercambiar rutas entre las redes locales y los recursos que se ejecutan en Azure. Este protocolo permite el enrutamiento dinámico entre la red local y los servicios que se ejecutan en la nube de Microsoft.
  • Redundancia integrada: Cada proveedor de conectividad usa dispositivos redundantes para garantizar que las conexiones establecidas con Microsoft tengan alta disponibilidad. Puede configurar varios circuitos para complementar esta característica.
Modelos de conectividad de ExpressRoute

ExpressRoute admite cuatro modelos que puede usar para conectar la red local con la nube de Microsoft:

  • Ubicación compartida en un intercambio en la nube (CloudExchange): la ubicación conjunta hace referencia al centro de datos, la oficina u otras instalaciones que se encuentran físicamente en un intercambio en la nube, como un ISP. Si la instalación tiene la ubicación compartida en un intercambio en la nube, puede solicitar una conexión cruzada virtual a la nube de Microsoft.
  • Conexión Ethernet de punto a punto: la conexión Ethernet de punto a punto hace referencia al uso de una conexión punto a punto para conectar la instalación a la nube de Microsoft.
  • Conexión universal: puede integrar la red de área extensa (WAN) con Azure si proporciona conexiones a las oficinas y los centros de datos. Azure se integra con la conexión WAN para proporcionarle una conexión, como la que tendría entre el centro de datos y las sucursales.
  • Directamente desde sitios de ExpressRoute: puede conectarse directamente a la red global de Microsoft en una ubicación de emparejamiento distribuida estratégicamente por todo el mundo. ExpressRoute Direct proporciona conectividad dual de 100 Gbps o 10 Gbps, que es compatible con la conectividad activa/activa a escala.

learn.microsoft.com: azure-expressroute

Comparación Peering y ExpressRoute

Azure Peering y Azure ExpressRoute se usan para crear conexiones privadas entre Azure y el entorno local u otras nubes, pero tienen diferentes propósitos y tienen algunas diferencias clave:

Azure Peering es un servicio que le permite crear conexiones privadas entre regiones de Azure. Utiliza la red global de Microsoft para crear una ruta directa entre dos regiones de Azure, lo que permite que el tráfico pase por alto la Internet pública y proporciona un rendimiento y una seguridad mejorados. Azure Peering se usa para optimizar el rendimiento de las cargas de trabajo que necesitan comunicarse entre regiones.

Azure ExpressRoute es un servicio que le permite crear conexiones privadas entre Azure y los centros de datos locales u otros proveedores de la nube. Utiliza conexiones privadas dedicadas, como MPLS, para crear una ruta directa entre sus recursos locales y Azure, evitando la Internet pública. ExpressRoute proporciona rendimiento, seguridad y confiabilidad mejorados, y generalmente se usa para escenarios como implementaciones de nube híbrida y recuperación ante desastres.

Enrutamiento: Azure Peering usa el protocolo de enrutamiento BGP para intercambiar rutas entre regiones de Azure, ExpressRoute usa BGP o enrutamiento estático, según el proveedor.

Proveedor: Azure Peering es un servicio proporcionado por Azure, ExpressRoute es proporcionado por proveedores externos, como Equinix, Colt y otros.

Latencia: Azure Peering proporciona comunicación de baja latencia entre regiones, ExpressRoute puede proporcionar una latencia aún más baja, pero depende de la distancia entre la ubicación local y la ubicación de ExpressRoute más cercana.

En resumen, Azure Peering se usa principalmente para mejorar la comunicación entre las regiones de Azure, mientras que ExpressRoute se usa para conectar Azure con la infraestructura local u otras nubes. ExpressRoute brinda un servicio más potente y flexible, pero con un costo mayor, mientras que Azure Peering es una solución rentable para la optimización de la comunicación entre regiones.

Redes virtuales privadas de Azure (VPN)

Una red privada virtual (VPN) usa un túnel cifrado en otra red. Normalmente, las VPN se implementan para conectar entre sí dos o más redes privadas de confianza a través de una red que no es de confianza (normalmente, la red pública de Internet). El tráfico se cifra mientras viaja por la red que no es de confianza para evitar ataques de interceptación o de otro tipo. Las VPN pueden permitir que las redes compartan información confidencial de forma segura.

Azure VPN Gateway

Es un tipo de puerta de enlace de red virtual. Las instancias de Azure VPN Gateway se implementan en una subred dedicada de la red virtual en la que todas las transferencias de datos se cifran en un túnel privado mientras atraviesan Internet.

Solo se puede implementar una única instancia de puerta de enlace de VPN en cada red virtual. Sin embargo, se puede usar una puerta de enlace para conectarse a varias ubicaciones, que incluye otras redes virtuales o centros de datos locales.

Se permite la siguiente conectividad:

Tipos de VPN

Al crear una instancia de VPN Gateway, debemos especificar el tipo de red privada virtual, es decir, basada en directivas o basada en rutas. La principal diferencia entre estos dos tipos de VPN es cómo se especifica el tráfico que se va a cifrar. En Azure, ambos tipos de puertas de enlace de VPN usan una clave previamente compartida como único método de autenticación.

¿Qué es una puerta de enlace basada en directivas (de enrutamiento estático)?

Las instancias de VPN Gateway basadas en directivas especifican de forma estática la dirección IP de los paquetes que se deben cifrar a través de cada túnel. Este tipo de dispositivo evalúa cada paquete de datos en función de los conjuntos de direcciones IP para elegir el túnel a través del cual se va a enviar el paquete.

¿Qué es una puerta de enlace basada en rutas (de enrutamiento dinámico)?

En las puertas de enlace basadas en rutas, los túneles IPSec se modelan como una interfaz de red o una interfaz de túnel virtual. El enrutamiento IP (ya sean rutas estáticas o protocolos de enrutamiento dinámico) decide cuál de estas interfaces de túnel se va a usar al enviar cada paquete. Las redes privadas virtuales basadas en rutas son el método preferido para conectar dispositivos locales. Son más resistentes a los cambios de la topología, como la creación de subredes.

Usar una instancia de VPN Gateway basada en los rutas en siguientes tipos de conectividad:

  • Conexiones entre redes virtuales
  • Conexiones de punto a sitio
  • Conexiones de varios sitios
  • Coexistencia con una puerta de enlace de Azure ExpressRoute

learn.microsoft.com: vpn-gateway

Escenarios de alta disponibilidad

Configuración de alta disponibilidad para la conectividad con instancias de Azure VPN Gateway:

  • Configuración de activo/en espera, de forma predeterminada, las instancias de VPN Gateway se implementan como dos instancias en una configuración de activo-en espera. Cuando el mantenimiento planeado o la interrupción imprevista afectan a la instancia activa, la instancia en espera asume de forma automática la responsabilidad de las conexiones sin ninguna intervención del usuario. Durante esta conmutación por error, las conexiones se interrumpen, pero por lo general se restauran en cuestión de segundos si se trata del mantenimiento planeado y en un plazo de 90 segundos en el caso de las interrupciones imprevistas.
  • Configuración de activo/activo, al incorporar compatibilidad con el protocolo de enrutamiento de BGP, también puede implementar puertas de enlace VPN en una configuración del tipo activo/activo. En esta configuración, se asigna una IP pública única a cada instancia. Después, se crean túneles independientes desde el dispositivo local a cada dirección IP. Se puede ampliar la alta disponibilidad mediante la implementación de un dispositivo VPN local adicional.
  • Conmutación por error de ExpressRoute, otra opción de alta disponibilidad consiste en configurar una instancia de VPN Gateway como una ruta segura de conmutación por error para las conexiones ExpressRoute. Los circuitos ExpressRoute tienen resistencia integrada. Sin embargo, no son inmunes a los problemas físicos que afectan a los cables que entregan conectividad ni a las interrupciones que afectan a la ubicación completa de ExpressRoute. En escenarios de alta disponibilidad, en los que existe un riesgo asociado a una interrupción de un circuito ExpressRoute, también puede aprovisionar una instancia de VPN Gateway que usa Internet como un método alternativo de conectividad. De este modo, puede garantizar que siempre haya una conexión a las redes virtuales.
  • Puertas de enlace con redundancia de zona, en las regiones que admiten zonas de disponibilidad, se pueden implementar puertas de enlace VPN y ExpressRoute en una configuración con redundancia de zona. Esta configuración aporta una mayor disponibilidad, escalabilidad y resistencia a las puertas de enlace de red virtual. Implementar puertas de enlace en Azure Availability Zones separa de forma física y lógica las puertas de enlace dentro de una región, al mismo tiempo que protege la conectividad de red local en Azure de errores de nivel de zona. Estas puertas de enlace requieren diferentes SKU de puerta de enlace y usan direcciones IP públicas estándar en lugar de direcciones IP públicas básicas.

learn.microsoft.com: vpn-gateway-highlyavailable

Punto de conexiones públicos y privados

En Azure, una dirección IP pública es una dirección IP a la que se puede acceder a través de Internet, mientras que una dirección IP privada es una dirección IP a la que solo se puede acceder dentro de una red específica o red virtual.

Se asigna una dirección IP pública a un recurso, como una máquina virtual (VM), que está conectada a Internet. Las direcciones IP públicas se utilizan para proporcionar acceso a Internet a recursos, como servidores web, y también se utilizan para permitir conexiones entrantes a recursos desde Internet.

Una dirección IP privada, por otro lado, se asigna a un recurso que está conectado a una red privada, como una red virtual de Azure. Las direcciones IP privadas se utilizan para proporcionar comunicación entre recursos dentro de una red y no se puede acceder a ellas desde Internet.

Azure le permite asignar direcciones IP públicas a recursos a través de direcciones IP públicas de Azure y también puede asignar direcciones IP privadas a recursos a través de direcciones IP privadas de Azure,

Las direcciones IP públicas pueden ser estáticas o dinámicas. Las direcciones IP públicas estáticas conservan la misma dirección IP hasta que la libere explícitamente, mientras que Azure asigna las direcciones IP públicas dinámicas y pueden cambiar periódicamente.

Las direcciones IP privadas también pueden ser estáticas o dinámicas. Las direcciones IP privadas estáticas conservan la misma dirección IP hasta que la libere explícitamente, mientras que Azure asigna las direcciones IP privadas dinámicas y pueden cambiar cuando el recurso se elimina y se vuelve a crear o cuando cambia la configuración de una red.

En resumen, las direcciones IP públicas se utilizan para permitir el acceso a Internet a los recursos y para permitir las conexiones entrantes a los recursos desde Internet, mientras que las direcciones IP privadas se utilizan para proporcionar comunicación entre recursos dentro de una red y no accesibles desde Internet.

learn.microsoft.com: Punto de conexión privado

Servicios de almacenamiento de Azure (Azure Storage)

  1. Comparar los servicios de almacenamiento de Azure
  2. Niveles de almacenamiento
  3. Opciones de redundancia
  4. Opciones de cuenta de almacenamiento y tipos de almacenamiento (Blob Storage, Azure Files, Queue Storage, Disk Storage, Table Storage)
  5. Opciones para mover archivos (AzCopy, Azure Storage Explorer y Azure File Sync)
  6. Opciones de migración (Azure Migrate y Azure Data Box)

La plataforma de Azure Storage es la solución de almacenamiento en la nube de Microsoft. Azure Storage ofrece almacenamiento de alta disponibilidad, escalable de forma masiva, duradero y seguro para una gran variedad de objetos de datos en la nube. A los objetos de datos de Azure Storage se puede acceder desde cualquier lugar del mundo a través de HTTP o HTTPS por medio de una API REST. Azure Storage también ofrece bibliotecas cliente para desarrolladores que crean aplicaciones o servicios con .NET y otros lenguajes.

La cuenta de almacenamiento de Azure (Storage Account) es un recurso que proporciona un espacio de nombres único para los datos de Azure Storage que es accesible desde cualquier lugar del mundo mediante HTTP o HTTPS. Los datos de la cuenta de almacenamiento son duraderos y altamente disponibles, seguros y escalables a gran escala.

Ventajas de Azure Storage

Los servicios de Azure Storage ofrecen las siguientes ventajas para desarrolladores de aplicaciones y profesionales de TI:

  • Duradero y altamente disponible. La redundancia garantiza que los datos estén seguros en caso de producirse errores de hardware transitorios. También puede optar por replicar datos entre centros de datos o regiones geográficas para obtener protección adicional frente a catástrofes locales o desastres naturales. Los datos replicados de esta manera permanecen con una alta disponibilidad en caso de que se produzca una interrupción inesperada.
  • Seguro. Todos los datos escritos en una cuenta de Azure Storage se cifran mediante el servicio. Azure Storage proporciona un control pormenorizado sobre quién tiene acceso a los datos.
  • Escalable. Azure Storage está diseñado para poderse escalar de forma masiva para satisfacer las necesidades de rendimiento y almacenamiento de datos de las aplicaciones de hoy en día.
  • Administrado. Azure controla automáticamente el mantenimiento, las actualizaciones y los problemas críticos del hardware.
  • Accesible. Es posible acceder a los datos de Azure Storage desde cualquier parte del mundo a través de HTTP o HTTPS. Microsoft proporciona bibliotecas cliente para Azure Storage en diversos lenguajes, incluidos .NET, Java, Node.js, Python, PHP, Ruby, Go y otros, así como una API REST consolidada. Azure Storage admite la escritura en Azure PowerShell o la CLI de Azure. Y Azure Portal y el Explorador de Azure Storage ofrecen soluciones visuales sencillas para trabajar con los datos.

learn.microsoft.com: Documentación Azure Storage, Introducción a Storage Account, Almacenamiento de datos en Azure

Tipos de cuenta de almacenamiento

Al crear la cuenta de almacenamiento, primero seleccionará el tipo de cuenta de almacenamiento. El tipo de cuenta determina los servicios de almacenamiento y las opciones de redundancia, y afecta a los casos de uso.

Puntos de conexión de cuenta de almacenamiento

Una de las ventajas de usar una cuenta de Azure Storage es tener un espacio de nombres único en Azure para los datos. Para ello, todas las cuentas de almacenamiento de Azure deben tener un nombre de cuenta único en Azure. La combinación del nombre de la cuenta y el punto de conexión del servicio de Azure Storage forma los puntos de conexión de su cuenta de almacenamiento.

Para especificar un nombre para la cuenta de almacenamiento, tener en cuenta estas reglas:

  • Los nombres de las cuentas de almacenamiento deben tener entre 3 y 24 caracteres, y solo pueden incluir números y letras en minúscula.
  • El nombre de la cuenta de almacenamiento debe ser único dentro de Azure. No puede haber dos cuentas de almacenamiento con el mismo nombre. Esto admite la capacidad de tener un espacio de nombres único y accesible en Azure.

learn.microsoft.com: Uso de puntos de conexión privados para Azure Storage

Comparar los servicios de almacenamiento de Azure

Azure ofrece una variedad de servicios de almacenamiento para satisfacer las diferentes necesidades de los clientes. Estos son algunos de los servicios más utilizados y sus principales características y casos de uso:

Azure Blob Storage: este es un servicio de almacenamiento de objetos completamente administrado que es ideal para datos no estructurados, como imágenes, videos y documentos. El almacenamiento de blobs admite una amplia variedad de tipos de datos y se puede utilizar para tareas como el almacenamiento de copias de seguridad, el suministro de archivos e imágenes y el almacenamiento de datos para análisis de big data.

Almacenamiento de archivos de Azure: este servicio le permite crear recursos compartidos de red a los que pueden acceder varias máquinas virtuales y sistemas locales mediante el protocolo SMB. Azure File Storage es una buena opción para aplicaciones que requieren un sistema de archivos y se puede usar para tareas como datos de aplicaciones, directorios de inicio y contenido compartido.

Azure Queue Storage: este servicio proporciona un servicio de cola de mensajes que le permite almacenar y recuperar mensajes en una cola. El almacenamiento en cola se utiliza para tareas como la programación de trabajos por lotes y la gestión de cargas de trabajo que deben procesarse de forma asíncrona.

Azure Table Storage: este servicio es un almacén de clave-valor NoSQL que es ideal para almacenar grandes cantidades de datos estructurados. El almacenamiento de tablas se puede utilizar para tareas como el almacenamiento de datos y metadatos de usuario, y la compatibilidad con escenarios de datos no relacionales a gran escala.

Azure Disk Storage: este servicio proporciona almacenamiento para máquinas virtuales de Azure, se puede usar para tareas como el almacenamiento de sistemas operativos, aplicaciones y datos. El almacenamiento en disco admite dos tipos de discos: Premium (SSD) y estándar (HDD).

Azure Data Lake Storage: es un lago de datos altamente escalable y seguro que permite el análisis de big data. Este servicio está optimizado para cargas de trabajo de análisis, lo que le permite almacenar, administrar y analizar grandes cantidades de datos en su formato nativo.

Todos estos servicios se pueden administrar a través de Azure Portal, la CLI de Azure y los SDK de Azure Storage. Según el tipo de datos, los patrones de acceso y las necesidades de escalabilidad, puede elegir uno o una combinación de estos servicios para almacenar sus datos en Azure.

Tipos de protocolos de accesos

Los servicios de almacenamiento de Azure admiten varios protocolos para acceder a los datos. Estos son algunos de los protocolos más utilizados:

  • HTTP/HTTPS: este es el protocolo estándar para la comunicación web y es compatible con todos los servicios de almacenamiento de Azure. Le permite acceder a los servicios de almacenamiento mediante API RESTful y realizar operaciones comunes, como crear, leer, actualizar y eliminar datos.
  • SMB (Bloque de mensajes del servidor): este es un protocolo de uso compartido de archivos en red compatible con Azure File Storage. Le permite acceder a los archivos almacenados en Azure como si estuvieran en un sistema de archivos local y, por lo general, lo usan los sistemas locales y las máquinas virtuales que necesitan acceder a los archivos.
  • NFS (Sistema de archivos de red): similar a SMB, este es un protocolo de uso compartido de archivos que se usa para acceder a los archivos almacenados en Azure, pero se usa principalmente en sistemas basados en Linux y Unix.
  • FTP/FTPS (Protocolo de transferencia de archivos): este protocolo se utiliza principalmente para transferir archivos hacia y desde los servicios de almacenamiento y es compatible con Blob Storage.
  • SCP (Protocolo de copia segura): este es un protocolo de transferencia de archivos seguro que se utiliza principalmente en sistemas basados en Linux y Unix, es compatible con Blob Storage
  • RDP (Protocolo de escritorio remoto): este protocolo le permite acceder y administrar máquinas virtuales de forma remota.

Todos estos protocolos utilizan diferentes métodos para autenticar y asegurar la conexión a los servicios de almacenamiento. Por ejemplo, puede usar Azure Active Directory para la autenticación y el control de acceso, y SSL/TLS para cifrar la conexión.

Tenga en cuenta que el soporte y la disponibilidad de cada protocolo pueden variar según el servicio de almacenamiento que esté utilizando, por lo que es importante verificar la compatibilidad y disponibilidad del protocolo que necesita con el servicio que utilizará.

Tipos de datos (Estructurados y no estructurados)

Los datos estructurados se refieren a datos que están organizados en un formato específico, como filas y columnas en una base de datos o una hoja de cálculo. Este tipo de datos suele ser fácil de trabajar y consultar, porque sigue un conjunto específico de reglas y convenciones. Los ejemplos de datos estructurados incluyen datos almacenados en bases de datos relacionales, archivos CSV y archivos JSON con un esquema bien definido.

Los datos no estructurados, por otro lado, se refieren a datos que no tienen un formato u organización específicos. Este tipo de datos puede ser más difícil de trabajar y consultar porque no sigue un conjunto específico de reglas o convenciones. Los ejemplos de datos no estructurados incluyen documentos de texto, imágenes, videos y archivos de audio.

Un buen ejemplo de la diferencia entre los dos es una guía telefónica, los datos de la guía telefónica son un ejemplo de datos estructurados, porque tienen un formato específico, con un nombre, una dirección y un número de teléfono, mientras que un correo electrónico es un ejemplo de datos no estructurados, porque no tiene un formato o estructura específica.

En general, los datos estructurados son más fáciles de analizar y trabajar con ellos, pero los datos no estructurados se están volviendo cada vez más importantes a medida que la cantidad de datos que se generan continúa creciendo. Muchas empresas ahora están recurriendo a tecnologías como el análisis de big data, el aprendizaje automático y el procesamiento del lenguaje natural para extraer información de los datos no estructurados.

Niveles de almacenamiento

Los datos almacenados en la nube están creciendo a un ritmo exponencial. Para administrar los costos de las necesidades de almacenamiento en expansión, puede resultar útil organizar los datos en función de la frecuencia con la que se accederá a los ellos y del tiempo que se conservarán.

  • Nivel de almacenamiento de acceso frecuente está optimizado para datos que se consultan con frecuencia (por ejemplo, imágenes para el sitio web).
  • Nivel de almacenamiento de acceso esporádico está optimizado para datos a los que se accede con poca frecuencia y que se guardan al menos durante 30 dí­as (por ejemplo, las facturas de los clientes).
  • Nivel de almacenamiento de archivo es adecuado para datos a los que rara vez se accede y que se guardan durante al menos 180 días con requisitos de latencia flexibles (por ejemplo, copias de seguridad a largo plazo).

learn.microsoft.com: Niveles de acceso

Opciones de redundancia

Azure Storage siempre almacena varias copias de los datos, con el fin de protegerlos de eventos planeados y no planeados, como errores transitorios del hardware, interrupciones del suministro eléctrico o cortes de la red, y desastres naturales masivos. La redundancia garantiza que la cuenta de almacenamiento cumple sus objetivos de disponibilidad y durabilidad, aunque se produzcan errores.

  • Almacenamiento con redundancia local (LRS)
  • Almacenamiento con redundancia geográfica (GRS)
  • Almacenamiento con redundancia geográfica con acceso de lectura (RA-GRS).
  • Almacenamiento con redundancia de zona (ZRS)
  • Almacenamiento con redundancia de zona geográfica (GZRS)
  • Almacenamiento con redundancia de zona geográfica con acceso de lectura (RA-GZRS)

Al decidir que opción de redundancia es la adecuada para cada escenario hay que tener en cuenta el bajo costo y alta disponibilidad. Entre los factores que ayudan a determinar qué opción de redundancia debe elegir se incluye:

  • Cómo se replican los datos en la región primaria.
  • Si los datos se replican en una segunda ubicación que está alejada geográficamente de la región primaria, para protegerse frente a desastres regionales.
  • Si la aplicación necesita acceso de lectura a los datos replicados en la región secundaria en caso de que la región primaria deje de estar disponible.

Redundancia en la región primaria

Los datos de una cuenta de Azure Storage siempre se replican tres veces en la región primaria. Azure Storage ofrece dos opciones para replicar los datos en la región primaria:

  • Almacenamiento con redundancia local (LRS) replica los datos tres veces dentro de un único centro de datos en la región primaria. LRS es la opción de redundancia de costo más bajo y ofrece la menor durabilidad en comparación con otras opciones. Si se produce un desastre como un incendio o una inundación en el centro de datos, es posible que todas las réplicas de una cuenta de almacenamiento con LRS se pierdan o no se puedan recuperar. Para mitigar este riesgo, Microsoft recomienda el uso del almacenamiento con redundancia de zona (ZRS), el almacenamiento con redundancia geográfica (GRS) o el almacenamiento con redundancia de zona geográfica (GZRS). Durabilidad mínima de 11 nueves (99,999999999 %) de los objetos en un año determinado.
  • Almacenamiento con redundancia de zona (ZRS) para las regiones con zona de disponibilidad habilitada, el almacenamiento con redundancia de zona (ZRS) replica los datos de Azure Storage sincrónicamente en tres zonas de disponibilidad de Azure en la región primaria. Con ZRS, los datos son accesibles para las operaciones de escritura y lectura incluso si una zona deja de estar disponible. No es necesario volver a montar los recursos compartidos de archivos de Azure de los clientes conectados. Si alguna zona deja de estar disponible, Azure realiza las actualizaciones de la red, como el redireccionamiento de DNS. Microsoft recomienda usar ZRS en la región primaria para escenarios que requieren de alta disponibilidad. También se recomienda ZRS para restringir la replicación de datos dentro de un país o región para cumplir los requisitos de gobernanza de datos. Durabilidad de al menos 12 nueves (99,9999999999 %) durante un año determinado.

Redundancia en la región secundaria

En el caso de las aplicaciones que requieren de alta durabilidad, copiamos los datos de la cuenta de almacenamiento en una región secundaria serán duraderos incluso en caso de un error catastrófico que impida que se recuperen los datos de la región primaria.

Al crear una cuenta de almacenamiento, seleccione la región principal de la cuenta. La región secundaria emparejada se determina en función de los Pares de regiones de Azure y no se puede cambiar.

Azure Storage ofrece dos opciones para copiar los datos en una región secundaria:

  • Almacenamiento con redundancia geográfica (GRS) copia los datos de forma sincrónica tres veces dentro de una única ubicación física en la región primaria mediante LRS. Luego copia los datos de forma asincrónica en una única ubicación física en la región secundaria. Dentro de la región secundaria, los datos siempre se replican de forma sincrónica tres veces mediante LRS. Durabilidad de al menos 16 nueves (99,99999999999999 %) durante un año determinado.
  • Almacenamiento con redundancia de zona geográfica (GZRS) copia los datos de forma sincrónica en tres zonas de disponibilidad de Azure en la región primaria mediante ZRS. Luego copia los datos de forma asincrónica en una única ubicación física en la región secundaria. Dentro de la región secundaria, los datos siempre se replican de forma sincrónica tres veces mediante LRS. Microsoft recomienda el uso de GZRS en aplicaciones que requieran de coherencia, durabilidad y disponibilidad máximas, además de rendimiento excelente y resistencia para la recuperación ante desastres. Durabilidad mínima de 16 nueves (99,99999999999999 %)

La principal diferencia entre GRS y GZRS es la forma en que los datos se replican en la región primaria.

De manera predeterminada, los datos de la región secundaria no están disponibles para el acceso de lectura o escritura. Si la región primaria deja de estar disponible, puede conmutar por error a la región secundaria. Una vez completada la conmutación por error, la región secundaria se convierte en la región primaria y se pueden leer y escribir datos de nuevo.

Dado que los datos se replican en la región secundaria de forma asincrónica, un error que afecte a la región primaria puede producir la pérdida de datos si no se puede recuperar dicha región. El intervalo entre las escrituras más recientes en la región primaria y la última escritura en la región secundaria se conoce como objetivo de punto de recuperación (RPO). El RPO indica momento concreto en que se pueden recuperar los datos. Normalmente, Azure Storage tiene un RPO inferior a 15 minutos, aunque actualmente no hay ningún contrato de nivel de servicio sobre el tiempo que se tarda en replicar los datos en la región secundaria.

Acceso de lectura a los datos de la región secundaria

El almacenamiento con redundancia geográfica (con GRS o GZRS) replica los datos en otra ubicación física de la región secundaria para protegerlos frente a los apagones regionales. Sin embargo, los datos están disponibles para su lectura solo si el cliente o Microsoft inician una conmutación por error de la región primaria a la secundaria. Sin embargo, si habilita el acceso de lectura a la región secundaria, los datos siempre están disponibles, incluso cuando la región primaria se ejecuta de forma óptima. Para obtener acceso de lectura a la región secundaria, habilite el almacenamiento con redundancia geográfica con acceso de lectura (RA-GRS) o el almacenamiento con redundancia de zona geográfica con acceso de lectura (RA-GZRS).

learn.microsoft.com: Redundancia de datos

Opciones de cuenta de almacenamiento y tipos de almacenamiento

  1. Blob Storage
  2. Azure Files
  3. Queue Storage
  4. Disk Storage
  5. Table Storage

Los servicios de almacenamiento principales ofrecen un almacén de objetos muy escalable para objetos de datos, almacenamiento en disco para máquinas virtuales de Azure, un servicio de sistema de archivos para la nube, un almacén para la mensajería fiable y un almacén NoSQL.

Azure Blob Storage

Azure Blob Storage es una solución de almacenamiento de objetos para la nube. Puede almacenar grandes cantidades de datos, como datos de texto o binarios. Es no estructurado, lo que significa que no hay ninguna restricción en cuanto a los tipos de datos que puede contener. Los blobs no están limitados a formatos de archivo comunes. Un blob podría contener gigabytes de datos binarios.

Blob Storage puede administrar miles de cargas simultáneas, cantidades enormes de datos de vídeo, archivos de registro en constante crecimiento y es accesible desde cualquier lugar con conexión a Internet. Es ideal para enviar imágenes o documentos directamente a un explorador, almacenar datos para archivos o el acceso distribuido, emitir vídeo y audio y escenarios de recuperación ante desastres.

Una ventaja del almacenamiento en blobs con respecto al almacenamiento en disco es que no requiere que los desarrolladores piensen en discos o los administren. Los datos se cargan como blobs y Azure se encarga de las necesidades de almacenamiento físico.

También incluye compatibilidad con el análisis de «big data» a través de Data Lake Storage Gen2.

¿Cuándo usar Blob Storage?

Blob Storage resulta muy interesante para lo siguiente:

  • Visualización de imágenes o documentos directamente en un explorador.
  • Almacenamiento de archivos para acceso distribuido.
  • Streaming de audio y vídeo.
  • Almacenamiento de datos para copia de seguridad y restauración, recuperación ante desastres y archivado.
  • Almacenamiento de datos para el análisis en local o en un servicio hospedado de Azure.
Acceso a Blob Storage

Se puede acceder a los objetos de Blob Storage desde cualquier lugar del mundo a través de HTTP o HTTPS. Los usuarios o las aplicaciones cliente pueden acceder a los blobs mediante direcciones URL, la API REST de Azure Storage, Azure PowerShell, la CLI de Azure o una biblioteca cliente de Azure Storage. Las bibliotecas de cliente de almacenamiento están disponibles para varios lenguajes, como .NET, Java, Node.js, Python, PHP y Ruby.

Niveles de Blob Storage

Las siguientes consideraciones se aplican a los distintos niveles de acceso:

  • Solo los niveles de acceso frecuente y esporádico se pueden establecer en el nivel de cuenta. El nivel de acceso de archivo no está disponible en el nivel de cuenta.
  • Los niveles frecuente, esporádico y de archivo se pueden establecer en el nivel de blob durante la carga o después de esta.
  • Los datos del nivel de acceso esporádico pueden tolerar una disponibilidad ligeramente inferior, pero aún así requieren una gran durabilidad, una latencia de recuperación y unas características de rendimiento similares a las de los datos de acceso frecuente. En el caso de los datos de acceso esporádico, un contrato de nivel de servicio (SLA) con una disponibilidad ligeramente inferior y unos costos de acceso mayores, en comparación con los datos de acceso frecuente, es aceptable a cambio de unos costos de almacenamiento menores.
  • El almacenamiento de archivo almacena datos sin conexión y ofrece los menores costos de almacenamiento, pero los mayores costos de acceso y recuperación de datos.

learn.microsoft.com: Blob Storage

Azure Disk Storage

Azure Disk Storage proporciona discos para que las máquinas virtuales y las aplicaciones accedan a ellos y los usen cuando sea necesario, igual que harán con discos locales.

El almacenamiento en disco o los discos administrados de Azure son volúmenes de almacenamiento de nivel de bloque que administra Azure para su uso con máquinas virtuales de Azure. Conceptualmente, son iguales que un disco físico, pero están virtualizados, lo que ofrece mayor resistencia y disponibilidad que un disco físico. Con los discos administrados, lo único que debe hacer es aprovisionar el disco; Azure se encargará del resto.

learn.microsoft.com: Azure managed disks

Azure Files

Azure Files ofrece recursos compartidos de archivos totalmente administrados en la nube a los que se puede acceder mediante los protocolos SMB (Bloque de mensajes del servidor) o NFS (Network File System) estándar del sector. Los recursos compartido de archivos de Azure Files 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. A los recursos compartidos de archivos NFS de Azure Files se puede acceder desde clientes Linux y macOS. 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.

Ventajas de Azure Files
  • 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.
  • 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 el entorno local por Azure Files significa que ya no tendrá que levantarse en mitad de la noche para 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 Storage.

learn.microsoft.com: Azure Files

Queue Storage

Queue Storage proporciona una puesta en cola de mensajes asincrónicos para la comunicación entre los componentes de las aplicaciones, independientemente de si se ejecutan en la nube, el escritorio, de forma local o dispositivos móviles.

Azure Queue Storage es un servicio para almacenar grandes cantidades de mensajes, Una vez que están almacenados, se puede acceder a los mensajes desde cualquier lugar del mundo mediante llamadas autenticadas con HTTP o HTTPS. Una cola puede contener tantos mensajes como el espacio que tenga la cuenta de almacenamiento (pueden ser millones). Cada mensaje individual de la cola puede llegar a tener un tamaño máximo de 64 KB. Las colas se utilizan normalmente para crear un trabajo pendiente del trabajo que se va a procesar de forma asincrónica.

Queue Storage se puede combinar con funciones de proceso como Azure Functions para realizar una acción cuando se recibe un mensaje. Por ejemplo, supongamos que quiere realizar una acción después de que un cliente cargue un formulario en el sitio web. Podría hacer que el botón enviar en el sitio web desencadene un mensaje en Queue Storage. Después, podría usar Azure Functions para desencadenar una acción una vez recibido el mensaje.

learn.microsoft.com: Queue Storage

Azure Table Storage

Table Storage ofrece un almacén de datos NoSQL para pares clave-valor con conjuntos de datos a gran escala. Podemos usar Azure Table Storage para almacenar petabytes de datos semiestructurados y reducir los costos.

learn.microsoft.com: Table Storage

Casos de usos de servicios de Azure Storage

Los servicios de almacenamiento de Azure brindan una variedad de opciones para almacenar y administrar datos, cada servicio tiene sus propias características y casos de uso únicos. Estos son algunos ejemplos de cómo se pueden usar los diferentes servicios de almacenamiento de Azure:

Blobs de Azure:

  • Almacenamiento de archivos grandes de video e imagen para un servicio de transmisión de medios.
  • Almacenamiento de copias de seguridad de máquinas virtuales.
  • Almacenamiento de archivos de registro para una aplicación o servicio.
  • Almacenamiento de datos para análisis de big data, como almacenar y procesar datos generados por dispositivos IoT.

Files de Azure:

  • Almacenamiento de datos de aplicación e información de perfil de usuario para una aplicación web.
  • Almacenamiento de contenido compartido, como documentos e imágenes, para una aplicación colaborativa.
  • Almacenamiento de directorios de inicio para máquinas virtuales y sistemas locales.

Queue de Azure:

  • Tareas en cola para una aplicación o servicio que deben procesarse de forma asíncrona.
  • Programación de trabajos por lotes para una aplicación o servicio.
  • Administrar cargas de trabajo para una aplicación o servicio basado en la nube.

Tables de Azure:

  • Almacenamiento de datos y metadatos de usuario para una aplicación web.
  • Almacenamiento de datos para una aplicación móvil.
  • Almacenamiento de datos para una aplicación de juegos.

Disk de Azure:

Almacenar el sistema operativo y los datos de la aplicación para una máquina virtual.
Almacenamiento de datos para una aplicación de base de datos.

Data Lake de Azure:

  • Almacenamiento y análisis de grandes cantidades de datos estructurados y no estructurados.
  • Almacenamiento de datos para análisis de big data, como datos generados por dispositivos IoT.
  • Almacenamiento de datos para cargas de trabajo de aprendizaje automático e inteligencia artificial.

Estos son solo algunos ejemplos de cómo se pueden usar los servicios de almacenamiento de Azure. También puede usar una combinación de estos servicios para almacenar, administrar y analizar datos en Azure. Es importante tener en cuenta que, según el tamaño y la cantidad de datos, los patrones de acceso y las necesidades de escalabilidad, es posible que deba elegir un servicio diferente, o una combinación de ellos, para almacenar sus datos en Azure.

Opciones de migración

  1. Azure Migrate
  2. Azure Data Box

Azure admite la migración en tiempo real de la infraestructura, las aplicaciones y los datos mediante Azure Migrate, así como la migración asincrónica de datos mediante Azure Data Box.

Azure Migrate

Azure Migrate es un servicio que le ayuda a migrar desde un entorno local a la nube. Azure Migrate funciona como centro para ayudarle a administrar la valoración y la migración del centro de datos local a Azure.

Proporciona un servicio simplificado de migración, modernización y optimización para Azure. Todos los pasos previos a la migración, como la detección, las evaluaciones y el ajuste de tamaño correcto de los recursos locales, se incluyen para la infraestructura, los datos y las aplicaciones.

Ofrece lo siguiente:

  • Plataforma de migración unificada: un único portal para iniciar, ejecutar y realizar un seguimiento de la migración a Azure.
  • Rango de herramientas: Rango de herramientas para la evaluación y migración. Las herramientas incluyen Azure Migrate: Discovery y assessment y Azure Migrate: Server Migration. Azure Migrate también se integra con otros servicios y herramientas de Azure, así como con ofertas de proveedores de software independientes (ISV).
  • Evaluación, migración y modernización: en el centro de Azure Migrate, puede evaluar, migrar y modernizar:
    • Servidores, bases de datos y aplicaciones web: evalúe servidores locales, incluidas las aplicaciones web e instancias de SQL Server, y mígrelos a máquinas virtuales de Azure o a Azure VMware Solution (versión preliminar).
    • Bases de datos: evalúe las instancias y las bases de datos locales de SQL Server para migrarlas a un SQL Server en una máquina virtual de Azure o una Azure SQL Managed Instance o a Azure SQL Database.
    • Aplicaciones web: evalúe las aplicaciones web locales y mígrelas a Azure App Service y Azure Kubernetes Service.
    • Escritorios virtuales: evalúe la infraestructura de escritorio virtual (VDI) local y mígrela a Azure Virtual Desktop.
    • Data: Migre grandes cantidades de datos a Azure de manera rápida y rentable gracias a los productos de Azure Data Box.

Herramientas integradas

  • Azure Migrate: Discovery and assessment (Azure Migrate: detección y evaluación). Detecte y evalúe servidores locales que se ejecutan en VMware, Hyper-V y servidores físicos para preparar la migración a Azure.
  • Azure Migrate: Server Migration (Azure Migrate: migración del servidor). Migre máquinas virtuales de VMware, máquinas virtuales de Hyper-V, servidores físicos, otros servidores virtualizados y máquinas virtuales de la nube pública a Azure.
  • Data Migration Assistant. Data Migration Assistant es una herramienta independiente para evaluar servidores de SQL Server. Ayuda a identificar posibles problemas que bloquean la migración. Identifica características no admitidas, nuevas características que puede aprovechar después de la migración y la ruta de acceso correcta para la migración de la base de datos.
  • Azure Database Migration Service. Migre bases de datos locales a máquinas virtuales de Azure en las que se ejecutan SQL Server, Azure SQL Database o instancias administradas de SQL.
  • Web app migration assistant (Asistente de migración de aplicación web). Azure App Service Migration Assistant es una herramienta independiente para evaluar sitios web locales para la migración a Azure App Service. Use Migration Assistant para migrar aplicaciones web de .NET y PHP a Azure.
  • Azure Data Box. Use los productos de Azure Data Box para trasladar grandes cantidades de datos sin conexión a Azure.

learn.microsoft.com: Azure Migrate

Azure Data Box

La solución en la nube Microsoft Azure Data Box le permite enviar terabytes de datos dentro y fuera de Azure de forma rápida, económica y confiable. La transferencia de datos segura se acelera mediante el envío de un dispositivo de almacenamiento de Data Box de propiedad. Cada dispositivo de almacenamiento tiene una capacidad de almacenamiento máximo utilizable de 80 TB y se transporta al centro de datos a través de un operador regional. El dispositivo tiene un sólido uso de mayúsculas y minúsculas para proteger los datos durante el tránsito.

Puede pedir el dispositivo Data Box a través de Azure Portal para importar o exportar datos desde Azure. Una vez recibido el dispositivo, puede configurarlo rápidamente mediante la interfaz de usuario web local. En función de si va a importar o exportar datos, copie los datos de los servidores en el dispositivo, o del dispositivo en los servidores, y vuelva a enviar el dispositivo a Azure. Si se importan datos en Azure, en el centro de datos de Azure, los datos se cargan automáticamente desde el dispositivo hasta Azure. El servicio de Data Box se encarga de realizar el seguimiento de todo el proceso en Azure Portal.

Casos de uso

Data Box es ideal para transferir tamaños de datos con más de 40 TB en escenarios sin conectividad de red limitada. El movimiento de datos puede ser único, periódico o una transferencia de datos masiva inicial seguida de transferencias periódicas.

Estos son los distintos escenarios donde se puede usar Data Box para importar datos en Azure.

  • Migración única: cuando se mueve gran cantidad de datos locales a Azure.
  • Traslade una biblioteca multimedia de cintas sin conexión a Azure para crear una biblioteca multimedia en línea.
  • Migre la granja de máquinas virtuales, SQL Server y las aplicaciones a Azure.
  • Traslade los datos históricos a Azure para un análisis exhaustivo y generar informes con HDInsight.
  • Transferencia masiva inicial: cuando se realiza una transferencia masiva inicial con Data Box (inicialización) seguida de transferencias incrementales a través de la red.
  • Cargas periódicas: cuando se genera periódicamente una gran cantidad de datos y es necesario moverlos a Azure.

Estos son los distintos escenarios donde se puede usar Data Box para exportar datos a Azure.

  • Recuperación ante desastres: cuando se restaura una copia de los datos de Azure en una red local. En un escenario de recuperación ante desastres habitual, se exporta una gran cantidad de datos de Azure se exporta a Data Box. Microsoft luego los envía a Data Box y, en poco tiempo, los datos se restauran en un entorno local.
  • Requisitos de seguridad: cuando necesita poder exportar datos de Azure debido a los requisitos de seguridad o de la administración pública.
  • Migración de vuelta al entorno local o a otro proveedor de servicios en la nube: cuando quiera mover todos los datos de vuelta al entorno local o a otro proveedor de servicios en la nube, exporte los datos a través de Data Box para migrar las cargas de trabajo.

learn.microsoft.com: Azure Data Box

Opciones para mover archivos

  1. AzCopy
  2. Azure Storage Explorer
  3. Azure File Sync

Además de la migración a gran escala, Azure también tiene herramientas diseñadas para ayudarnos a mover o interactuar con archivos individuales o grupos de archivos pequeños. Entre esas herramientas se encuentran AzCopy, Explorador de Azure Storage y Azure File Sync.

AzCopy

AzCopy es una utilidad de línea de comandos que puede usar para copiar blobs o archivos a una cuenta de almacenamiento o desde una cuenta de almacenamiento. Con AzCopy, puede copiar archivos entre cuentas de almacenamiento, cargarlos, descargarlos e incluso sincronizarlos. AzCopy incluso se puede configurar para trabajar con otros proveedores de nube para ayudar a mover archivos entre nubes.

La sincronización de blobs o archivos con AzCopy es una sincronización unidireccional. Al sincronizar, designó el origen y el destino, y AzCopy copiará archivos o blobs en esa dirección. No se sincroniza bidireccionalmente en función de las marcas de tiempo u otros metadatos.

learn.microsoft.com: AzCopy

Azure Storage Explorer

Explorador Azure Storage es una aplicación independiente que proporciona una interfaz gráfica para administrar archivos y blobs en la cuenta de Azure Storage. Funciona en sistemas operativos Windows, macOS y Linux y usa AzCopy en el back-end para realizar todas las tareas de administración de archivos y blobs. Con Explorador de Storage, puede cargar en Azure, descargar desde Azure o moverse entre cuentas de almacenamiento.

learn.microsoft.com: Explorador Azure Storage

Azure File Sync

Es una herramienta que permite centralizar los archivos compartidos en Azure Files y mantener la flexibilidad, el rendimiento y la compatibilidad de un servidor de archivos de Windows. Es casi como convertir el servidor de archivos de Windows en una red de entrega de contenido en miniatura. Una vez que instale Azure File Sync en el servidor local de Windows, se mantendrá sincronizado bidireccionalmente con los archivos en Azure de forma automática.

Con Azure File Sync, puede:

  • Usar cualquier protocolo disponible en Windows Server para acceder a sus datos de forma local, como SMB, NFS y FTPS.
  • Tener todas las cachés que necesite en todo el mundo.
  • Reemplazar un servidor local con errores instalando Azure File Sync en un nuevo servidor del mismo centro de datos.
  • Configurar la nube por niveles para que los archivos a los que se accede con más frecuencia se repliquen localmente, mientras que los archivos a los que se accede con poca frecuencia se mantienen en la nube hasta que se soliciten.

learn.microsoft.com: Azure File Sync

Identidad, acceso y seguridad de Azure

Servicios de directorio en Azure

  1. Azure Active Directory (Azure AD)
  2. Azure Active Directory Domain Services (Azure AD DS)

Azure Active Directory (Azure AD)

Azure Active Directory (Azure AD) es un servicio de directorio que le permite iniciar sesión y acceder tanto a las aplicaciones en la nube de Microsoft como a las aplicaciones en la nube que desarrolle. Azure AD también puede ayudarle a mantener la implementación de Active Directory local.

En el caso de los entornos locales, Active Directory ejecutado en Windows Server proporciona un servicio de administración de acceso e identidades que administra su organización. Azure AD es un servicio de administración de acceso e identidades basado en la nube de Microsoft. Con Azure AD, usted controla las cuentas de identidad, pero Microsoft garantiza que el servicio esté disponible globalmente. Si ya ha trabajado con Active Directory, Azure AD le resultará familiar.

Si protege las identidades de forma local con Active Directory, Microsoft no supervisa los intentos de inicio de sesión. Si conecta Active Directory con Azure AD, Microsoft puede detectar intentos de inicio de sesión sospechosos para ayudarle a proteger su entorno sin costo adicional. Por ejemplo, Azure AD puede detectar intentos de inicio de sesión desde ubicaciones inesperadas o dispositivos desconocidos.

¿Quién usa Azure AD?
  • Administradores de TI. Los administradores pueden usar Azure AD para controlar el acceso a las aplicaciones y los recursos en función de sus requisitos empresariales.
  • Desarrolladores de aplicaciones. Con Azure AD, los desarrolladores pueden agregar funcionalidad a las aplicaciones que compilan mediante un enfoque basado en estándares. Por ejemplo, pueden agregar funcionalidad de SSO a una aplicación o habilitar una aplicación para que funcione con las credenciales existentes de un usuario.
  • Usuarios. Los usuarios pueden administrar sus identidades y realizar acciones de mantenimiento como el autoservicio de restablecimiento de contraseña.
  • Suscriptores de servicios en línea. Los suscriptores de Microsoft 365, Microsoft Office 365, Azure y Microsoft Dynamics CRM Online ya usan Azure AD para autenticarse en su cuenta.
¿Qué hace Azure AD?

Azure AD proporciona servicios como:

  • Autenticación: esto incluye la comprobación de la identidad para acceder a aplicaciones y recursos. También incluye funciones como el autoservicio de restablecimiento de contraseña, la autenticación multifactor, una lista personalizada de contraseñas prohibidas y servicios de bloqueo inteligente.
  • Inicio de sesión único (SSO): gracias al inicio de sesión único, los usuarios tienen que recordar un solo nombre de usuario y una sola contraseña para acceder a varias aplicaciones. Una sola identidad está asociada a un usuario, lo que simplifica el modelo de seguridad. Cuando los usuarios cambian de rol o dejan una organización, las modificaciones de acceso se asocian a esa identidad, lo que reduce considerablemente el esfuerzo necesario para cambiar o deshabilitar cuentas.
  • Administración de aplicaciones: con Azure AD, puede administrar las aplicaciones en la nube y locales. Características como Application Proxy, las aplicaciones SaaS, el portal Aplicaciones y el inicio de sesión único proporcionan una mejor experiencia de usuario.
  • Administración de dispositivos: además de cuentas de usuarios individuales, Azure AD admite el registro de dispositivos. El registro permite administrar los dispositivos a través de herramientas como Microsoft Intune. También permite que las directivas de acceso condicional basadas en dispositivos limiten los intentos de acceso a solo aquellos que proceden de dispositivos conocidos, independientemente de la cuenta de usuario solicitante.
¿Puedo conectar mi AD local con Azure AD?

Si tuviera un entorno local que ejecuta Active Directory y una implementación en la nube mediante Azure AD, tendría que mantener dos conjuntos de identidades. Pero puede conectar Active Directory con Azure AD, lo que permite una experiencia de identidad coherente entre la nube y el entorno local.

Un método de conectar Azure AD con el AD local es usar Azure AD Connect. Azure AD Connect sincroniza las identidades de usuario entre la instalación local de Active Directory y Azure AD. Azure AD Connect sincroniza los cambios entre ambos sistemas de identidades, para que pueda usar características como SSO, la autenticación multifactor y el autoservicio de restablecimiento de contraseña en ambos sistemas.

learn.microsoft.com: Azure Active Directory (Azure AD)

Azure Active Directory Domain Services (Azure AD DS)

Azure AD DS es un servicio que proporciona servicios de dominio administrados como, por ejemplo, unión a un dominio, directivas de grupo, protocolo ligero de acceso a directorios (LDAP) y autenticación Kerberos o NTLM. Al igual que Azure AD nos permite usar servicios de directorio sin tener que mantener la infraestructura que lo admite, gracias a Azure AD DS obtenemos la ventaja de los servicios de dominio sin necesidad de implementar, administrar y aplicar revisiones a los controladores de dominio (DC) en la nube.

Un dominio administrado de Azure AD DS nos permite ejecutar aplicaciones heredadas en la nube que no pueden usar métodos de autenticación modernos o cuando no quiere que las búsquedas de directorio regresen siempre a un entorno de AD DS local. Esas aplicaciones heredadas se pueden migrar mediante «lift-and-shift» del entorno local a un dominio administrado, sin necesidad de administrar el entorno de AD DS en la nube.

Azure AD DS se integra con el inquilino de Azure AD existente. Esta integración permite a los usuarios iniciar sesión en los servicios y las aplicaciones conectados al dominio administrado con sus credenciales existentes. También puede usar grupos y cuentas de usuario existentes para proteger el acceso a los recursos. Estas características proporcionan una migración mediante lift-and-shift más fluida de los recursos locales a Azure.

¿Cómo funciona Azure AD DS?

Cuando cree un dominio administrado de Azure AD DS, defina un espacio de nombres único. Este espacio de nombres es el nombre de dominio. Después, se implementan dos controladores de dominio de Windows Server en la región de Azure seleccionada. Esta implementación de controladores de dominio se conoce como «conjunto de réplicas».

No es necesario administrar, configurar ni actualizar estos controladores de dominio. La plataforma Azure administra los controladores de dominio como parte del dominio administrado, incluidas las copias de seguridad y el cifrado en reposo mediante Azure Disk Encryption.

learn.microsoft.com: Azure AD DS

Métodos de autenticación en Azure

La autenticación es el proceso en el que se establece la identidad de una persona, servicio y dispositivo. Requiere que la persona, el servicio o el dispositivo proporcionen algún tipo de credencial para demostrar quiénes son. No confirma que está registrado, solo demuestra que es quien dices que es. Azure admite varios métodos de autenticación, incluidas las contraseñas estándar, el inicio de sesión único (SSO), la autenticación multifactor (MFA) y el acceso sin contraseña.

El inicio de sesión único (SSO)

Inicio de sesión único (SSO) permite a los usuarios iniciar sesión una vez y utilizar esa credencial para acceder a varios recursos y aplicaciones de distintos proveedores. Para que el inicio de sesión único funcione, las distintas aplicaciones y proveedores deben confiar en el autenticador inicial.

Con SSO, tan solo debe recordar un ID y una contraseña. El acceso a todas las aplicaciones se concede a una única identidad que está asociada a un usuario, lo que simplifica el modelo de seguridad. A medida que los usuarios cambian los roles o dejan una organización, el acceso está asociado a una única identidad. Este cambio reduce considerablemente el esfuerzo necesario para cambiar o deshabilitar cuentas. Usar el inicio de sesión único en las cuentas permite a los usuarios administrar su identidad y al equipo de TI gestionar los usuarios con mayor facilidad.

El inicio de sesión único solo es tan seguro como el autenticador inicial, ya que todas las conexiones posteriores se basan en la seguridad del autenticador inicial.

learn.microsoft.com: SSO

La autenticación multifactor (MFA)

La autenticación multifactor es el proceso de solicitar a un usuario una forma adicional (o factor) de identificación durante el proceso de inicio de sesión. La MFA ayuda a protegerse frente a las contraseñas en riesgo en situaciones en las que la contraseña se vio comprometida, pero el segundo factor no.

La MFA proporciona seguridad adicional a las identidades, ya que se requieren dos o más elementos para una autenticación completa. Estos elementos se dividen en tres categorías:

  • Algo que el usuario sabe: puede ser una pregunta de seguridad.
  • Algo que el usuario tiene: se puede tratar de un código que se envía al teléfono móvil del usuario.
  • Algo que el usuario es: normalmente, algún tipo de propiedad biométrica, como la huella dactilar o el escaneo facial.

Si la autenticación multifactor está habilitada, los atacantes que tengan la contraseña de un usuario también necesitarán su teléfono o su huella dactilar para completar la autenticación.

Compare la MFA con la autenticación de un solo factor. En la autenticación de un solo factor, los atacantes únicamente necesitarían el nombre de usuario y la contraseña para autenticarse. La MFA se debe habilitar siempre que sea posible, ya que aporta enormes ventajas a la seguridad.

Azure AD Multi-Factor Authentication

Es un servicio de Microsoft que proporciona funcionalidades de autenticación multifactor. Azure AD Multi-Factor Authentication permite a los usuarios elegir una forma adicional de autenticación durante el inicio de sesión, como una llamada de teléfono o una notificación de aplicación móvil.

learn.microsoft.com: Azure AD Multi-Factor Authentication, Habilitar Azure MFA, Configuración Azure MFA, Plan de una implementación de MFA, Uso de MFA

Autenticación sin contraseña

El uso de características como la MFA constituye una excelente manera de proteger una organización. Sin embargo, sumar esta capa de seguridad adicional al hecho de tener que recordar las contraseñas suele frustrar a los usuarios. Los métodos de autenticación sin contraseña resultan más cómodos, ya que la contraseña se quita y se reemplaza por algo que se tiene más algo que se es o se sabe.

La autenticación sin contraseña debe configurarse en un dispositivo para que funcione. Por ejemplo, su ordenador es algo que tiene. Una vez que se haya registrado o inscrito, Azure ahora sabrá que está asociado a usted. Ahora que se conoce el equipo, una vez que proporcione algo que sepa o sea (por ejemplo, un PIN o una huella digital), se podrá autenticar sin usar una contraseña.

Cada organización tiene diferentes necesidades en cuanto a la autenticación. Microsoft Azure global y Azure Government ofrecen las siguientes tres opciones de autenticación sin contraseña que se integran con Azure Active Directory (Azure AD):

  • Windows Hello para empresas resulta muy conveniente para los trabajadores de la información que tienen su propio equipo con Windows designado. La información biométrica y las credenciales de PIN están vinculadas directamente al equipo del usuario, lo que impide el acceso de cualquier persona que no sea el propietario. Con la integración de la infraestructura de clave pública (PKI) y la compatibilidad integrada con el inicio de sesión único (SSO), Windows Hello para empresas ofrece un método sencillo y práctico de acceder directamente a los recursos corporativos del entorno local y la nube.
  • Aplicación Microsoft Authenticator, también puede permitir que el teléfono del empleado se convierta en un método de autenticación sin contraseña. La aplicación Authenticator convierte cualquier teléfono Android o iOS en una credencial segura sin contraseña. Los usuarios pueden iniciar sesión en cualquier plataforma o explorador con este proceso: reciben una notificación en su teléfono, comprueban que el número mostrado en la pantalla coincide con el de su teléfono y, a continuación, usan datos biométricos (huella dactilar o reconocimiento facial) o el PIN para confirmarlo. 
  • Claves de seguridad FIDO2, FIDO (Fast IDentity Online) Alliance ayuda a promover los estándares de autenticación abiertos y a reducir el uso de contraseñas como forma de autenticación. FIDO2 es el estándar más reciente que incorpora el estándar de autenticación web (WebAuthn). Las claves de seguridad FIDO2 son un método de autenticación sin contraseña basado en estándares que no permite la suplantación de identidad y que puede venir en cualquier factor de forma. Fast Identity Online (FIDO) es un estándar abierto para la autenticación sin contraseña. FIDO permite a los usuarios y a las organizaciones aprovechar el estándar para iniciar sesión en sus recursos sin un nombre de usuario o una contraseña mediante una clave de seguridad externa o una clave de plataforma integrada en un dispositivo. Los usuarios pueden registrarse y luego seleccionar una llave de seguridad de FIDO2 en la interfaz de inicio de sesión como medio principal de autenticación. Estas llaves de seguridad de FIDO2 suelen ser dispositivos USB, pero también pueden usar Bluetooth o NFC. Con un dispositivo de hardware que controla la autenticación, se aumenta la seguridad de una cuenta, ya que no hay ninguna contraseña que pueda quedar expuesta ni adivinarse.

learn.microsoft.com: Opciones de autenticación sin contraseña, Habilitación del inicio de sesión sin contraseña, Implementación de autenticación sin contraseña

Identidades externas y acceso de invitados en Azure

Una identidad externa es una persona, un dispositivo, un servicio, etc. que está fuera de la organización. Azure Active Directory External Identities hace referencia a todas las formas en que puede interactuar de forma segura con usuarios externos a su organización. Si quiere colaborar con asociados, distribuidores o proveedores, puede compartir los recursos y definir cómo los usuarios internos pueden acceder a organizaciones externas. Si es un desarrollador que crea aplicaciones orientadas al consumidor, puede administrar las experiencias de identidad de los clientes.

Las identidades externas pueden parecerse al inicio de sesión único. Con External Identities, los usuarios externos pueden «traer sus propias identidades». Tanto si tienen una identidad digital corporativa o gubernamental, como una identidad social no administrada, como Google o Facebook, pueden usar sus propias credenciales para iniciar sesión. El proveedor de identidades administra la identidad del usuario externo y el usuario administra el acceso a sus aplicaciones con Azure AD o Azure AD B2C para mantener protegidos los recursos.

learn.microsoft.com: Azure Active Directory External Identities

Acceso condicional en Azure Active Directory (Azure AD)

El acceso condicional es una herramienta que usa Azure Active Directory para permitir (o denegar) el acceso a los recursos en función de señales de identidad. Estas señales incluyen quién es el usuario, dónde se encuentra y desde qué dispositivo solicita el acceso.

Con el acceso condicional, los administradores de TI pueden:

  • permitir a los usuarios ser productivos en cualquier momento y lugar;
  • proteger los recursos de la organización.

El acceso condicional también proporciona una experiencia de autenticación multifactor más pormenorizada para los usuarios. Por ejemplo, es posible que al usuario no se le solicite un segundo factor de autenticación si está en una ubicación conocida. Pero si sus señales de inicio de sesión son inusuales o su ubicación es inesperada, es posible que se le exija un segundo factor de autenticación.

Durante el inicio de sesión, el acceso condicional recopila señales del usuario, toma decisiones basadas en esas señales y, después, aplica esa decisión para permitir o denegar la solicitud de acceso, o bien exigir una respuesta de autenticación multifactor.

En este caso, la señal podría ser la ubicación del usuario, su dispositivo o la aplicación a la que intenta acceder.

En función de estas señales, la decisión puede ser permitir el acceso completo si el usuario inicia sesión desde su ubicación habitual. Si el usuario inicia sesión desde una ubicación inusual o una ubicación marcada como de alto riesgo, el acceso puede bloquearse por completo, o bien podría concederse después de que el usuario proporcione una segunda forma de autenticación.

La aplicación es la acción que lleva a cabo la decisión. Por ejemplo, la acción es permitir el acceso o exigir al usuario que proporcione una segunda forma de autenticación.

El acceso condicional resulta útil en los casos siguientes:

  • Exija la autenticación multifactor (MFA) para acceder a una aplicación en función del rol, la ubicación o la red del solicitante. Por ejemplo, podría requerir MFA para administradores, pero no para usuarios normales o personas que se conectan desde fuera de la red corporativa.
  • Para requerir el acceso a los servicios solo a través de aplicaciones cliente aprobadas. Por ejemplo, podría limitar qué aplicaciones de correo electrónico pueden conectarse al servicio de correo electrónico.
  • Exija que los usuarios accedan a la aplicación sólo desde dispositivos administrados. Un dispositivo administrado es un dispositivo que cumple los estándares de seguridad y cumplimiento.
  • Para bloquear el acceso desde orígenes que no son de confianza, como ubicaciones desconocidas o inesperadas.

learn.microsoft.com: Acceso condicional de Azure AD

Control de acceso basado en roles (RBAC) de Azure

En vez de definir los requisitos de acceso detallados de cada individuo y, después, ir actualizándolos a medida que se vayan creando más recursos o se unan nuevos miembros al equipo, Azure permite controlar el acceso a través del control de acceso basado en roles de Azure (RBAC de Azure).

Azure proporciona roles integrados que describen las reglas de acceso comunes de los recursos en la nube. También podemos definir nuestros propios roles. Cada rol tiene un conjunto asociado de permisos de acceso que tienen que ver con ese rol. Cuando se asignan usuarios o grupos a uno o varios roles, reciben todos los permisos de acceso asociados.

El control de acceso basado en roles se aplica a un ámbito, que es un recurso o un conjunto de recursos en los que este acceso se permite. Los ámbitos pueden ser lo siguiente:

  • Un grupo de administración (una colección de varias suscripciones)
  • Una sola suscripción
  • Un grupo de recursos.
  • Un solo recurso

RBAC de Azure es jerárquico, ya que al conceder acceso en un ámbito primario, todos los ámbitos secundarios heredan esos permisos.

¿Cómo se aplica RBAC de Azure?

RBAC de Azure se aplica a cualquier acción que se inicie en un recurso de Azure que pasa por Azure Resource Manager. Resource Manager es un servicio de administración que proporciona una forma de organizar y proteger nuestros recursos en la nube.

Normalmente, se accede a Resource Manager a través de Azure Portal, Azure Cloud Shell, Azure PowerShell y la CLI de Azure. RBAC de Azure no aplica permisos de acceso en el nivel de aplicación ni de datos. La seguridad de la aplicación debe controlarla la propia aplicación.

RBAC de Azure emplea un modelo de permisos. Cuando se le asigna un rol, RBAC de Azure le permite realizar acciones dentro del ámbito de ese rol. Si una asignación de roles nos concede permisos de lectura a un grupo de recursos y otra asignación de roles nos concede permisos de escritura al mismo grupo de recursos, tendremos permisos tanto de lectura como de escritura en ese grupo de recursos.

learn.microsoft.com: Azure RBAC

Concepto de confianza cero

La Confianza cero es un nuevo modelo de seguridad que presupone que hay una brecha y comprueba todas las solicitudes como si provinieran de una red no controlada.

En la actualidad, las organizaciones necesitan un nuevo modelo de seguridad que se adapte eficazmente a la complejidad del entorno moderno, que adopte los recursos móviles y proteja a personas, dispositivos, aplicaciones y datos dondequiera que se encuentren.

Para abordar este nuevo mundo informático, Microsoft recomienda encarecidamente el modelo de seguridad de Confianza cero, que se basa en estos principios rectores:

  • Comprobar explícitamente: realice siempre las operaciones de autorización y autenticación en función de todos los puntos de datos disponibles.
  • Usar el acceso de privilegios mínimos: limite el acceso de los usuarios con Just-in-Time y Just-Enough-Access (JIT/JEA), directivas que se adaptan al nivel de riesgo y protección de datos.
  • Asumir que hay brechas: minimice el radio de expansión y el acceso a los segmentos. Compruebe el cifrado de un extremo a otro y use análisis para obtener visibilidad, impulsar la detección de amenazas y mejorar las defensas.

Ajuste a Confianza cero

Tradicionalmente, las redes corporativas estaban restringidas, protegidas y, por lo general, eran seguras. Solo los equipos administrados se podían unir a la red, el acceso VPN estaba estrechamente controlado y los dispositivos personales estaban restringidos o bloqueados con frecuencia.

El modelo de Confianza cero revoluciona ese escenario. En lugar de suponer que un dispositivo es seguro porque está dentro de la red corporativa, exige que todos los usuarios se autentiquen. Después, concede acceso basado en la autenticación, no de la ubicación.

learn.microsoft.com: Confianza cero, Guía de Confianza cero

El objetivo del modelo de defensa en profundidad

El objetivo de la defensa en profundidad es proteger la información y evitar que personas no autorizadas a acceder puedan sustraerla. Una estrategia de defensa en profundidad usa una serie de mecanismos para ralentizar el avance de un ataque dirigido a adquirir acceso no autorizado a los datos.

Capas de defensa en profundidad

Puede visualizar la defensa en profundidad como un conjunto de capas, con los datos que se van a proteger en el centro y todas las demás capas en funcionamiento para proteger esa capa de datos central.

Azure proporciona herramientas y características de seguridad en todas las capas del concepto de defensa en profundidad.

La capa de seguridad física

La protección física del acceso a los edificios y el control del acceso al hardware de proceso del centro de datos son la primera línea de defensa.

La capa de identidad y acceso

La capa de identidad y acceso consiste en garantizar que las identidades están protegidas, que solo se otorga el acceso necesario y que se registran los cambios y los eventos de inicio de sesión.

En esta capa, es importante que realice lo siguiente:

  • Controle el acceso a la infraestructura y al control de cambios.
  • Use el inicio de sesión único (SSO) y la autenticación multifactor.
  • Audite los eventos y los cambios.
La capa perimetral

El perímetro de la red protege frente a ataques basados en red contra los recursos. Identificar estos ataques, eliminar sus repercusiones y recibir alertas sobre ellos cuando suceden son formas importantes de proteger la red.

En esta capa, es importante que realice lo siguiente:

  • Use protección contra DDoS para filtrar los ataques a gran escala antes de que puedan afectar a la disponibilidad de un sistema para los usuarios.
  • Use firewalls perimetrales para identificar los ataques malintencionados contra la red y alertar sobre ellos.
La capa de red

En esta capa, el enfoque está en limitar la conectividad de la red en todos los recursos para permitir solo la necesaria. Al limitar esta comunicación, se reduce el riesgo de que se propaguen los ataques a otros sistemas de la red.

En esta capa, es importante que realice lo siguiente:

  • Limite la comunicación entre los recursos.
  • Deniegue de forma predeterminada.
  • Restrinja el acceso entrante de Internet y limite el saliente cuando sea apropiado.
  • Implemente conectividad segura a las redes locales.
La capa de proceso

El software malintencionado, los sistemas sin revisiones aplicadas y los sistemas protegidos inadecuadamente abren el entorno a los ataques. El enfoque en esta capa es asegurarse de que sus recursos de proceso estén seguros y de que cuenta con los controles adecuados para minimizar los problemas de seguridad.

En esta capa, es importante que realice lo siguiente:

  • Proteja el acceso a las máquinas virtuales.
  • Implemente la protección del punto de conexión de los dispositivos y mantenga los sistemas revisados y actualizados.
La capa de aplicación

La integración de la seguridad en el ciclo de vida de desarrollo de aplicaciones ayuda a reducir el número de vulnerabilidades en el código. Todos los equipos de desarrollo deberían asegurarse de que sus aplicaciones son seguras de forma predeterminada.

En esta capa, es importante que realice lo siguiente:

  • Garantice que las aplicaciones son seguras y están libres de vulnerabilidades.
  • Almacene los secretos de aplicación confidenciales en un medio de almacenamiento seguro.
  • Convierta la seguridad en un requisito de diseño en todo el desarrollo de aplicaciones.
La capa de datos

Los que almacenan y controlan el acceso a los datos son responsables de asegurarse de que están protegidos correctamente. A menudo, los requisitos legales dictan los controles y procesos que deben cumplirse para garantizar la confidencialidad, la integridad y la disponibilidad de los datos.

En casi todos los casos, los atacantes intentan conseguir datos:

  • Almacenados en una base de datos.
  • Almacenados en discos en máquinas virtuales.
  • Almacenados en aplicaciones de software como servicio (SaaS), como Office 365.
  • Administrados mediante el almacenamiento en la nube.

El objetivo de Microsoft Defender para la nube

Microsoft Defender para la nube es una herramienta de supervisión para la administración de la posición de seguridad y la protección contra amenazas. Supervisa los entornos en la nube, locales, híbridos y multinube para ofrecer instrucciones y notificaciones destinadas a reforzar la posición de seguridad.

Proporciona las herramientas necesarias para proteger los recursos, realizar un seguimiento de su posición de seguridad, protegerse frente a ciberataques y simplificar la administración de la seguridad. La implementación de Defender para la nube es fácil, ya está integrada de forma nativa en Azure.

Microsoft Defender for Azure es un servicio de seguridad en la nube de Microsoft que tiene como objetivo proporcionar protección contra amenazas avanzadas en entornos de nube híbrida. Algunos de los objetivos principales de Microsoft Defender for Azure incluyen:

  1. Protección de recursos de nube: Microsoft Defender for Azure proporciona una capa de seguridad adicional para proteger los recursos en Azure, como máquinas virtuales, contenedores y aplicaciones web.
  2. Detección y respuesta automatizadas: Microsoft Defender for Azure utiliza inteligencia artificial y aprendizaje automático para detectar y responder automáticamente a amenazas avanzadas.
  3. Protección de datos: Microsoft Defender for Azure proporciona características de seguridad de datos, como la detección de amenazas en tiempo real y la protección contra el robo de datos y el espionaje.
  4. Integración con herramientas de seguridad existentes: Microsoft Defender for Azure se integra con otras herramientas de seguridad de Microsoft, como Azure Security Center, para proporcionar una visión completa de la seguridad en el entorno de nube híbrida.
  5. Protección de Identidad : Microsoft Defender for Azure tambien ofrece características de seguridad de identidad, como la protección contra ataques de suplantación de identidad y la detección de amenazas en el nivel de identidad, lo que ayuda a proteger el acceso a los recursos de nube.
  6. Protección en Multiples Plataformas: Microsoft Defender for Azure, también protege otros servicios de Microsoft como Office 365, Endpoint, y Microsoft 365, conectando todos los sistemas para una protección integral.

En resumen, Microsoft Defender for Azure es una solución de seguridad en la nube diseñada para proteger los recursos en Azure y en el entorno híbrido, utilizando técnicas automatizadas y de inteligencia artificial para detectar y responder a las amenazas avanzadas, y ofreciendo características de seguridad para proteger los datos y accesos a los mismos.

learn.microsoft.com: Microsoft Defender para la nube

training: Microsoft Defender for Cloud

Servicios de Azure

Servicios y características disponibles de Azure:

azure.microsoft.com: Servicios de Azure

Páginas: 1 2 3