SEGUNDA EDICIÓN
Serie de e-books
La guía de Azure para
desarrolladores
Nuevo contenido en:
Aplicaciones nativas del cloud, herramientas de desarrollo,
DevOps, datos e IA y seguridad
La guía de Azure para 2
desarrolladores
La guía de Azure para
desarrolladores
Estamos aquí para ayudarte
¿Qué puede hacer Azure por ti?
01 / 04 / 07 /
Introducción a la plataforma de Conectar tu aplicación con datos Implementar tus servicios
aplicaciones de Azure Azure cubre tus necesidades de datos y optimizar los costes
Dónde debes alojar tu aplicación Azure SQL Database ¿Cómo puede ayudar Azure
Servicios y productos de Azure para Azure Database for MySQL, PostgreSQL a implementar tus servicios
desarrollo de aplicaciones y MariaDB y optimizar los costes?
Azure Communication Services Servicios de datos habilitados para Infraestructura como código
Crear aplicaciones con mejor rendimiento Azure Arc Azure Blueprints
Azure Cosmos DB Seguimiento del uso de Azure
Azure Storage Crear una alerta de facturación
Soluciones de análisis de datos de Azure
02 / Azure Purview
Cómo usar las API de facturación
de Azure
Soluciones de IoT de Azure
Herramientas para desarrolladores
y cloud para desarrolladores
Las herramientas de desarrollo y para 05 / 08 /
el cloud más completas Microsoft Azure en acción
Visual Studio y Visual Studio Code Añadir inteligencia a tu aplicación
Crear, publicar e implementar con Navegar por el portal de Azure
El papel de la IA en el desarrollo de Desarrolla tu primera aplicación
GitHub + Azure DevOps
aplicaciones modernas web y amplíala con Logic Apps
CI/CD
¿Por qué elegir Azure AI? y Cognitive Services
Características de seguridad
Servicios de IA aplicada de Azure Listo para producción
Mejor juntos: Visual Studio + GitHub +
Azure Cognitive Services
Azure
Azure Machine Learning
Usa tu lenguaje de programación
Herramientas de inteligencia artificial
preferido
para desarrolladores 09 /
Realidad mixta
Resumen y recursos
03 / Sigue aprendiendo con Azure
Aplicaciones nativas del cloud
06 / Multitud de recursos gratuitos
Acerca de los autores
¿Qué significa “nativo del cloud”? Proteger una aplicación
Componentes nativos del cloud
¿Cómo puede Azure ayudar a proteger
Kubernetes en Azure
tu aplicación?
Servicios sin servidor en Azure
Identidad
Aplicaciones nativas del cloud y código
Seguridad de aplicaciones
abierto
Administración del enfoque
Cómo crear aplicaciones nativas del
Acceso y conectividad de las
cloud en Azure
aplicaciones
Registro y supervisión
Cifrado
La guía de Azure para 3
desarrolladores
La guía de
La guía de Azure para desarrolladores se ha diseñado para
desarrolladores y arquitectos que están comenzando
su viaje a Microsoft Azure. En ella, aprenderás a dar los
primeros pasos y a elegir los servicios adecuados para los
Azure para
casos que se te presenten.
Desde la creación de sitios web, bases de datos y
aplicaciones móviles y de escritorio hasta la integración
desarrolla-
de las últimas tecnologías en tu aplicación, Azure te
ayuda con las tareas más pesadas. Los servicios de
Azure se han diseñado para funcionar conjuntamente,
por lo que podrás crear soluciones completas para toda
dores
la vida útil de tu aplicación.
Tanto si no tienes experiencia como si escribes código
por diversión o eres un desarrollador profesional, Azure
pone a tu disposición la última tecnología en el cloud
y las mejores herramientas para desarrolladores de
su clase. Puedes crear fácilmente código para el cloud
en el lenguaje que prefieras.
Azure proporciona un amplio conjunto de servicios
que te permiten crear aplicaciones y soluciones llenas
de funcionalidades para que puedas centrarte en las
aplicaciones y no en la infraestructura.
La guía de Azure para 4
desarrolladores
Estamos aquí @Azure en Twitter es la cuenta que debes seguir para
conocer las noticias y las actualizaciones del equipo y
para ayudarte la comunidad de Azure.
@AzureSupport en Twitter lo operan ingenieros
cualificados de Azure que responden con rapidez
Al comenzar tu viaje al cloud, es posible que te a los problemas que les presentas por Twitter.
encuentres con algunos obstáculos. Afortunadamente,
como Azure es muy popular, es fácil encontrar ayuda. La comunidad de soporte de Azure ofrece un lugar
Hemos reunido la siguiente lista exhaustiva de recursos para conversar con la comunidad de Azure y contiene
útiles: respuestas a las preguntas de la comunidad.
Con los planes de soporte de Azure, tendrás acceso Azure Advisor hace recomendaciones de los recursos
a los equipos de soporte técnico de Azure, a guías de Azure de forma automática, incluido lo que necesitas
de diseño en el cloud y a asistencia en la planificación hacer para lograr mayor seguridad y disponibilidad,
de migraciones. Puedes incluso adquirir un plan de mejorar el rendimiento y reducir los costes.
soporte que garantice las respuestas de los equipos
de soporte técnico en menos de 15 minutos. Azure Service Health te ofrece una visualización
personalizada del estado de tus servicios de Azure.
La documentación y las guías oficiales de Azure
proporcionan información detallada en toda la Stack Overflow ofrece respuestas a preguntas sobre
documentación específica de cada característica. Azure e incluye muchos mensajes activos de miembros
de los equipos de ingeniería de Azure.
Los acuerdos de nivel de servicio (SLA) te informan
de las garantías de tiempo de actividad y las políticas Mantente informado con las últimas versiones y anuncios
de créditos por tiempo de inactividad de Azure. de productos de Azure en las actualizaciones de Azure.
La guía de Azure para 5
desarrolladores
¿Qué puede hacer Cuando termines de leer esta guía, podrás:
• Automatizar tu proceso de desarrollo y ser más
Azure por ti? productivo.
• Dedicar menos tiempo a tareas repetitivas y
más tiempo a crear experiencias de aplicaciones
fiables y seguras que encantarán a tus usuarios,
Con Azure, puedes sacar adelante tu trabajo más
utilizando las mejores herramientas de desarrollo
rápido, ampliar tus conocimientos e idear y crear
de su clase y funciones DevOps integradas,
hoy mismo las aplicaciones del mañana.
incluido Visual Studio, Visual Studio Code,
GitHub y Azure DevOps.
Azure proporciona un amplio conjunto de servicios que
• Aumentar tu experiencia y conocimientos con
te permiten crear aplicaciones y soluciones completas
los recursos que se presentan en esta guía.
para el cloud en tu lenguaje preferido. En todos
nuestros servicios tenemos más de 1000 nuevas • Crear código con los lenguajes, las herramientas,
funciones, desde IA y Kubernetes, hasta contenedores, las plataformas y los marcos que ya conoces
bases de datos, etc., para asegurarnos de que te y utilizas.
mantienes un paso por delante. Azure proporciona • Obtener nuevas aptitudes a tu propio ritmo
a los desarrolladores una experiencia completa que y conectar con una comunidad global de
ayuda a crear aplicaciones fiables, globales y seguras desarrolladores para desarrollar tus conocimientos
más rápidamente. Puedes crear tus aplicaciones usando y avanzar en tu carrera profesional.
tus lenguajes de programación, plataformas de código • Utilizar diferentes servicios de hosting que
abierto y herramientas favoritos, y alojarlas en Azure. ofrece Azure: Azure Virtual Machines, Azure App
Dispones de una amplia colección de aplicaciones Service, contenedores y servicios destacados.
de ejemplo que te ayudan a empezar y te sirven • Crear aplicaciones modernas con una
de inspiración para tus proyectos. arquitectura nativa del cloud.
• Conectar tu aplicación a los datos e incluir
En La Guía de Azure para desarrolladores se ofrecen
funciones de IA.
instrucciones y se explican las ventajas de alojar tu
• Convertir tus ideas en realidad.
aplicación en Azure.
Iniciemos nuestro viaje explicando cómo empezar
a utilizar la plataforma de aplicaciones de Azure.
La guía de Azure para 6
desarrolladores
01 /
Introducción
Has tomado la decisión de desarrollar aplicaciones
en el cloud y ahora quieres ponerte a ello.
Empezar a trabajar en Azure es increíblemente
a la platafor-
sencillo. Todo lo que tienes que hacer es registrarte
para obtener una cuenta gratuita de Azure.
Con tu cuenta gratuita de Azure, recibirás lo siguiente
ma de apli-
y no se te cobrará a menos que decidas actualizarla:
• 12 meses de servicios populares gratis
• Un crédito de 200 USD para explorar
caciones de
cualquier servicio de Azure durante 30 días
• Más de 25 servicios siempre gratuitos
Solo tienes que elegir los lenguajes de
Azure
programación, las herramientas, plataformas
y los marcos de trabajo que quieres usar y después
puedes comenzar a ejecutar tus aplicaciones en
Azure. En esta sección, abordaremos los siguientes
temas:
• Dónde debes alojar tu aplicación
• Qué utilizar y cuándo
• Cómo crear aplicaciones con mejor
rendimiento
Empecemos hablando de dónde puedes alojar tu
aplicación en Azure.
La guía de Azure para 7
desarrolladores
Dónde debes (IIS) o Tomcat, que se utiliza para alojar las aplicaciones
basadas en HTTP. Web Apps puede alojar aplicaciones
alojar tu aplicación que están escritas en .NET, [Link], Python, Java o Go,
y hay extensiones disponibles que se pueden usar para
ejecutar incluso más lenguajes.
Azure ofrece servicios que se han diseñado para Si tienes una aplicación que deseas migrar a Azure, hay un
facilitarte todo lo que necesitas para desarrollar y escalar gran número de herramientas que puedes utilizar, como
cualquier aplicación. Al utilizar los servicios de Azure para Azure Migrate, el asistente de migración de Azure App
ejecutar tu aplicación, disfrutarás de escalabilidad, alta Service, los scripts de PowerShell para evaluar y migrar
disponibilidad, una plataforma totalmente administrada sitios .NET y la inclusión en contenedores y migración de
y servicios de base de datos. Azure también ofrece las aplicaciones [Link] a Azure App Service.
siguientes opciones para ejecutar la aplicación.
MÁS
INFOR-
MACIÓN
PaaS Documentación oficial para
desarrolladores de Azure
La plataforma como servicio (PaaS) es un entorno de
INICIO
desarrollo e implementación completo en el cloud, RÁPIDO
con recursos que te permiten entregar cualquier cosa, Crear una aplicación web [Link]
desde aplicaciones sencillas basadas en el cloud hasta básica en Azure
aplicaciones empresariales sofisticadas y habilitadas
para el cloud.
Azure App Service Azure Spring Cloud
Azure App Service te permite alojar tus aplicaciones en Azure Spring Cloud te permite implementar fácilmente
una plataforma de aplicaciones totalmente administrada aplicaciones de microservicios Spring Boot en Azure sin
tener que cambiar el código. Es un servicio totalmente
del agrado de todos los desarrolladores. Azure App
administrado que te permite centrarte en crear y
Service te ofrece un conjunto de servicios de hosting y
ejecutar aplicaciones sin necesidad de administrar la
orquestación con características y funciones comunes. infraestructura. Puedes implementar tus archivos JAR o tu
Por ejemplo, todos los servicios de App Service tienen la código, y Azure Spring Cloud conectará automáticamente
capacidad de proteger una aplicación con Azure Active tus aplicaciones con el entorno de ejecución del
Directory y pueden usar dominios personalizados. servicio de Spring. Microsoft y VMware se encargan
de crear, operar y mantener conjuntamente Azure
Spring Cloud, que se sigue conectando a los servicios
Web Apps, uno de los servicios de Azure más
de plataforma para permitir la observabilidad durante
utilizados, puede alojar tus aplicaciones web o tus API.
su funcionamiento.
Una aplicación web es básicamente una abstracción de
un servidor web, como Internet Information Services
La guía de Azure para 8
desarrolladores
Puedes desarrollar y distribuir aplicaciones Java usando Contenedores
componentes Spring Cloud totalmente administrados,
Los contenedores son similares a las máquinas
incluida la detección de servicios, la administración de la
virtuales, pero mucho más ligeros, y puedes iniciarlos
configuración y el seguimiento distribuido. Azure Monitor
y detenerlos en solo unos segundos. Los contenedores
proporciona información detallada sobre las dependencias
también ofrecen una inmensa portabilidad, lo cual los
de las aplicaciones y la telemetría de las operaciones, lo
hace ideales para desarrollar una aplicación de forma
que te ofrece métricas agregadas para obtener una visión
local y luego alojarla en el cloud, en un entorno de
integral de cómo interactúan los diferentes servicios. Las
prueba y después en producción.
potentes herramientas de visualización integradas en el
portal de Azure te permiten supervisar el rendimiento
medio y las tasas de error, además de proporcionarte Puedes incluso ejecutar los contenedores on-premises
información detallada sobre los eventos de la plataforma o en otros clouds. El entorno que usas en tu equipo
que pueden ser relevantes para la reducción del de desarrollo viaja con el contenedor, por lo que tu
rendimiento o los errores. Esto te permite detectar los aplicación se ejecuta siempre en el mismo ecosistema.
problemas antes de que afecten a los usuarios y mejorar
continuamente el rendimiento de tu aplicación. Escala y coordina contenedores con Azure
Kubernetes Service
Azure Kubernetes Service (AKS) te permite crear,
Una gran cartera de kits de inicio de Spring proporciona configurar y administrar fácilmente un clúster de
integración nativa con servicios de Azure como Azure máquinas virtuales preconfiguradas para ejecutar
Cosmos DB, Azure Active Directory y Azure Key Vault. contenedores, tanto Linux como Windows.
Con los kits de inicio de Spring, puedes proteger mejor
tu aplicación y conectarla a varias fuentes de datos,
todo “out of the box”. Eso significa que puedes usar los conocimientos que ya
tienes para administrar e implementar aplicaciones que
se ejecuten en contenedores en Azure.
Azure Spring Boot es un servicio totalmente administrado
con infraestructura global escalable. Esto te permite
centrarte en el código sin necesidad de administrar la AKS reduce la complejidad y la sobrecarga operativa
infraestructura, y reducir el tiempo de inactividad y el de administrar un clúster de Kubernetes, ya que delega
riesgo de la implementación, gracias a su compatibilidad gran parte de esa responsabilidad en Azure. Al ser
con las implementaciones “blue-green”. un servicio alojado de Kubernetes, Azure administra
tareas críticas, tales como la supervisión de estado
INICIO y el mantenimiento.
RÁPIDO
Implementa tu primera aplicación
Azure Spring Cloud
Implementa microservicios Spring
en Azure
La guía de Azure para 9
desarrolladores
Además, solo pagas por los nodos de agente dentro Con Web App for Containers, las aplicaciones se
de los clústeres, no por los nodos maestros. Al ser un alojan mediante una pila de aplicaciones predefinidas
servicio gestionado de Kubernetes, AKS proporciona basada en un contenedor de Docker. Los contenedores
actualizaciones de versiones y parches de Kubernetes de Docker, tanto Windows como Linux, se pueden
de forma automática, fácil escalamiento de clústeres, implementar desde cualquier registro de Docker, como
plano de control hospedado de autorreparación Docker Hub, Azure Container Registry y GitHub.
(maestros), y ahorro de costes, ya que solo pagas por
los nodos que se ejecutan del conjunto de agentes.
Azure Container Registry
Una vez que hayas creado una imagen de contenedor
Dado que Azure se hace cargo de la administración en la que ejecutar la aplicación, puedes almacenar
de los nodos en tu clúster de AKS, hay muchas tareas ese contenedor en Azure Container Registry, que es
que no tienes que realizar manualmente, como las un servicio de almacenamiento de alta disponibilidad
actualizaciones de clústeres. Y puesto que Azure se hace y seguro, diseñado específicamente para almacenar
cargo de estas importantes tareas de mantenimiento, imágenes de contenedor.
AKS no ofrece acceso directo (como en SSH) al clúster.
Azure Container Registry es ideal para almacenar tus
INICIO imágenes privadas de Docker.
RÁPIDO
Empieza a usar Azure Kubernetes
Service También puedes usar Container Registry para tus
canalizaciones de desarrollo e implementación de
contenedores existentes. Usa el comando acr build
para crear imágenes de contenedores en Azure.
Alojamiento de contenedores en Azure Puedes crear versiones previa petición o automatizar
App Service Web App for Containers totalmente las versiones con los desencadenadores
Web App for Containers te ayuda a implementar y
de compilación de confirmación del código fuente
ejecutar fácilmente aplicaciones web en contenedores
y de actualización de la imagen base.
a escala.
Solo tienes que obtener las imágenes del contenedor Máquinas virtuales
de Docker Hub o de Azure Container Registry, y Web
Alojar la aplicación en una máquina virtual en Azure
App for Containers implementará la aplicación en
Virtual Machines te ofrece mucho control sobre la forma
contenedores con tus dependencias preferidas en
de alojar la aplicación. Sin embargo, serás el responsable
producción en cuestión de segundos. La plataforma se
del mantenimiento del entorno, incluida la aplicación de
encarga automáticamente de la aplicación de parches
parches del SO y la actualización de los programas antivirus.
del sistema operativo (SO), del aprovisionamiento de
capacidad y del equilibrio de carga. Puedes ejecutar
contenedores de Docker en Linux y Windows en Web Puedes usar una máquina virtual para probar la última
App for Containers. versión preview de Visual Studio sin “ensuciar” tu
equipo de desarrollo.
La guía de Azure para 10
desarrolladores
Azure DevTest Labs y Azure Lab Services proporcionan Batch es un servicio idóneo para ejecutar cargas de trabajo
la capacidad de configurar entornos de laboratorio paralelas a escala como modelos de riesgo financiero,
en Azure. Estos servicios permiten a los equipos de transcodificación de contenido multimedia, VFX y
desarrolladores administrar con más facilidad los representación de imágenes 3D, simulaciones de ingeniería
recursos y los costes de las máquinas virtuales de y muchas otras aplicaciones que hagan un uso intensivo
los desarrolladores en el cloud. de los recursos informáticos. Utiliza Batch para escalar una
aplicación o un script que ya hayas ejecutado en estaciones
Azure DevTest Labs te permite configurar un entorno de trabajo o en un clúster on-premises, o para desarrollar
para tu equipo. Los usuarios se conectan a las máquinas soluciones de software como servicio (SaaS) que utilicen
virtuales del laboratorio y las utilizan para su trabajo Batch como plataforma de computación.
diario y para proyectos a corto plazo. Esto permite al
administrador del laboratorio analizar los costes y el INICIO
uso, así como establecer políticas para optimizar los RÁPIDO
costes del equipo. Empieza a usar Azure Batch con
estos tutoriales paso a paso
Azure Lab Services te permite crear tipos de laboratorio
administrados. El servicio gestiona toda la administración
de la infraestructura del laboratorio, desde la puesta en
marcha de las máquinas virtuales hasta la gestión de Azure Arc: entornos híbridos
errores y el escalado de la infraestructura.
y multicloud
Azure Batch Azure ofrece herramientas y servicios en el cloud de
Si necesitas ejecutar aplicaciones por lotes a gran primera clase que permiten a los desarrolladores crear
escala o de computación de alto rendimiento (HPC) las aplicaciones del futuro. Sin embargo, es probable
en máquinas virtuales, puedes usar Azure Batch. que tu empresa tenga un entorno híbrido y que desee
las mismas experiencias de desarrollo y administración
de primera clase para tus aplicaciones en Azure y en
Batch crea y administra una colección de miles de
tus entornos on-premises, ubicaciones perimetrales
máquinas virtuales, instala las aplicaciones que quieras
e incluso en otros clouds.
ejecutar y programa trabajos en dichas máquinas. No
necesitas implementar ni gestionar máquinas virtuales
individuales o clústeres de servidores; Batch programa, Azure Arc ofrece administración simplificada, desarrollo
administra y escala automáticamente tus trabajos, por más rápido de aplicaciones y los mismos servicios de
lo que solo usas las máquinas virtuales que necesitas. Azure en cualquier lugar. Como desarrollador, puedes
diseñar, crear e implementar aplicaciones en cualquier
lugar sin sacrificar la visibilidad, la seguridad y el control
Batch es un servicio gratuito; solo se paga por los
centrales. Puedes obtener la innovación de Azure y las
recursos subyacentes consumidos, como las máquinas
ventajas del cloud con la implementación de servicios
virtuales, el almacenamiento y la conexión en red.
coherentes de datos, aplicaciones y machine learning
de Azure en cualquier infraestructura.
La guía de Azure para 11
desarrolladores
Entre algunas de las características principales de Azure
Arc se incluyen las siguientes:
• Trabaja más rápido con los servicios de aplicaciones
llave en mano de Azure, como App Service, Web
Apps, Logic Apps, API Management y Event Grid en
clouds, centros de datos y en el perímetro.
• Para tus bases de datos, implementa Azure SQL
y PostgreSQL Hyperscale habilitados para Azure
Arc en cualquier distribución de Kubernetes y en
cualquier cloud.
• Utiliza tus herramientas favoritas y prácticas
de DevOps existentes en cualquier lugar y crea
de forma iterativa.
• Reduce los errores con la implementación
coherente de aplicaciones basadas en políticas y
operaciones del clúster a escala usando el control
de código fuente y las plantillas.
• Aprovecha la escalabilidad flexible, la
administración coherente y los modelos de
facturación tipo cloud en cualquier lugar.
INICIO
RÁPIDO
Inicio rápido de Azure Arc
La guía de Azure para 12
desarrolladores
Servicios y productos
de Azure para
desarrollo de
aplicaciones
Como se muestra en la tabla 1.1, los servicios y productos
de Azure para el desarrollo de aplicaciones se han diseñado
para funcionar juntos y están altamente optimizados para la
productividad del desarrollador:
Tabla 1.1: Servicios de aplicaciones de Azure junto con sus características
Veremos las características de Azure App Service en la siguiente
sección.
La guía de Azure para 13
desarrolladores
Características de Por ejemplo, si mueves un 10 % de los usuarios a la nueva
Azure App Service versión de tu aplicación en la ranura de implementación,
puedes ver si las nuevas características están funcionando
Azure App Service es uno de los principales servicios de según lo previsto y si los usuarios las están utilizando.
Azure que puedes utilizar para alojar tus aplicaciones
creadas con plataformas populares (.NET, .NET Core,
Cuando estés satisfecho con el funcionamiento de
Node. js, Java, PHP, Ruby o Python) en contenedores
la nueva versión de tu aplicación en la ranura de
o ejecutándose en cualquier sistema operativo. Azure
implementación, puedes realizar un “intercambio”,
App Service también añade la potencia de Azure a tus
que consiste en cambiar la aplicación de la ranura de
aplicaciones, incluida la seguridad, el equilibrio de carga,
implementación a la ranura de producción. También
el escalado automático y la administración automatizada.
puedes cambiar de la ranura de desarrollo a una ranura
de ensayo y luego a la ranura de producción. Antes de
Cada uno de estos servicios ofrece funciones únicas, hacer esto, la operación de intercambio verifica que la
pero todos comparten algunas características comunes. nueva versión de tu sitio web se ha preparado y está
lista para el uso. Cuando esto se confirma, la operación
Escalado de intercambio cambia las ranuras y los usuarios ven la
Azure App Service se ejecuta en planes de App Service, nueva versión de la aplicación, sin tiempo de inactividad.
que son abstracciones de máquinas virtuales. Habrá También puedes realizar el cambio hacia atrás y revertir
una o varias máquinas virtuales que ejecutarán tu la implementación de la nueva versión.
instancia de Azure App Service, pero como Azure se
ocupa de todo, no hace falta que sepas cuáles. Sin Las ranuras de implementación se utilizan en entornos
embargo, puedes ajustar la escala de los recursos como los de desarrollo, pruebas o producción. No se
que ejecuta Azure App Service. utilizan como entornos, porque todas residen en el
mismo plan de App Service.
Puedes elegir un nivel de precios superior (desde gratis
Esas ranuras de implementación deben estar separadas
hasta premium) o aumentar el número de instancias de
por motivos de seguridad, escalado, facturación y
la aplicación que se ejecutan. Puedes incluso hacer que
rendimiento. Puedes intercambiar las ranuras de
Azure App Service ajuste automáticamente el número de
implementación manualmente, a través de la CLI de
instancias en función de una programación o de métricas
Azure y la API de administración de Azure. Esto permite
como la CPU, la memoria o la longitud de la cola HTTP.
que las herramientas de DevOps realicen operaciones
de intercambio durante el lanzamiento de una versión.
Ranuras de implementación
Después de implementar una nueva versión de tu
aplicación en una ranura de implementación, puedes
Implementación continua
Para publicar tu aplicación en App Service, puedes usar
probar si funciona del modo esperado y moverla
servicios externos como Jenkins y Octopus Deploy.
después a la ranura de producción.
También puedes usar la característica de entrega
continua (CD) de App Service.
Al configurar entornos de ensayo en Azure App Service,
puedes redirigir una parte del trabajo de la aplicación
de producción a una ranura de implementación.
La guía de Azure para 14
desarrolladores
El proceso hace lo siguiente: TUTORIAL
1. Recupera el código fuente más reciente desde Asigna un nombre DNS
el repositorio indicado personalizado existente a Azure
App Service
2. Compila el código según la plantilla elegida
([Link], [Link], Java, etc.)
Además, puedes asegurarte de que la aplicación se
3. Implementa la aplicación en un entorno sirva a través de HTTPS usando un certificado SSL/TLS.
de ensayo y realiza una prueba de carga Solo tienes que traer tu propio certificado, comprar
4. Implementa la aplicación en producción después uno directamente desde el portal de Azure o crear
de la aprobación (puedes indicar si quieres un certificado administrado de App Service gratuito.
utilizar una ranura de implementación) Al comprar un certificado SSL en el portal de Azure,
recibirás un certificado de Azure App Service. Puedes
Esto te permite crear una secuencia de compilación- configurarlo para utilizarlo en las conexiones de tu
prueba-lanzamiento en App Service. dominio personalizado.
Conectar con recursos on-premises Los certificados administrados de App Service son
Se pueden conectar recursos externos como almacenes gratuitos, los emite DigiCert y ofrecen la opción de
de datos a App Services. En función de tus requisitos, proteger tus aplicaciones web alojadas utilizando un
puedes conectarte a servicios on-premises a través de subdominio personalizado. También se administran
muchos mecanismos, como los siguientes: en App Service y se renuevan automáticamente.
• Conexiones híbridas de Azure
INICIO
• Redes virtuales de Azure RÁPIDO
• Azure ExpressRoute Compra y configura un certificado
SSL en este tutorial
No es necesario que estos recursos se encuentren
en Azure; pueden estar en cualquier sitio, por ejemplo,
on-premises o en tu propio centro de datos. Entorno de App Service
En una aplicación web de varios niveles, a menudo
Dominios personalizados y certificados se tiene una base de datos o servicios utilizados por
de App Service una aplicación en Web Apps. Lo deseable es que esos
Cuando se integra una aplicación en Azure App servicios solo estén expuestos a la aplicación y no
Service, esta expone una dirección URL, por ejemplo, a Internet. Sin embargo, como proporciona el punto
[Link] de entrada para los usuarios, la propia aplicación está
net. Es muy probable que quieras usar tu propio a menudo expuesta a Internet.
dominio personalizado. Para ello, tienes que asignar
ese nombre de dominio a App Service.
La guía de Azure para 15
desarrolladores
Aplicación automática de parches del sistema
Para aislar estos servicios de soporte de Internet, puedes
operativo y .NET Framework
utilizar una red virtual de Azure. Este servicio empaqueta
Dado que utilizas una plataforma totalmente administrada,
tus servicios de soporte y los conecta a tu aplicación no tienes que administrar tu propia infraestructura, pero
en Web Apps de tal modo que los servicios de soporte sí te beneficias de la aplicación automática de parches del
solo estén expuestos a la aplicación, no a Internet. En sistema operativo y de la plataforma.
esta documentación se explica la característica de
integración de redes virtuales de Azure App Service Azure Functions
y cómo configurarla con aplicaciones en App Service.
Con Azure Functions, puedes escribir el código que
A veces puede que quieras tener aún más control. Tal necesitas para una solución sin preocuparte por crear
una aplicación completa o la infraestructura para
vez quieras que tu aplicación esté incluida en una red
ejecutarla. Una función es una unidad de lógica de código
virtual para poder controlar el acceso. Quizás quieras
desencadenada por una solicitud HTTP o un evento de
que otra aplicación la invoque en Web Apps y que otro servicio de Azure, o basada en una programación.
forme parte de tu back-end. En ese caso, puedes utilizar
Azure App Service Environment. Esto te proporciona Entre algunas de las características principales de Azure
una escala muy alta y te da control sobre el aislamiento Functions se incluyen las siguientes:
y el acceso a la red.
Snapshot Debugger para .NET
La depuración de aplicaciones puede resultar difícil,
especialmente si la aplicación se ejecuta en producción.
Con la característica Application Insights Snapshot
Debugger de Azure Monitor puedes realizar una
instantánea de tus aplicaciones en producción cuando
se ejecute el código que te interese.
Snapshot Debugger te permite saber exactamente
qué ha salido mal sin que esto afecte al tráfico de tu
aplicación en producción. Snapshot Debugger puede
ayudarte a reducir drásticamente el tiempo necesario
para resolver los problemas que se producen en
entornos de producción. Además, puedes usar Visual
Studio para establecer puntos de anclaje y depurar paso
a paso. Puedes ver los resultados en el portal de Azure
o dentro de Visual Studio.
Tabla 1.2: Características de Azure Functions
La guía de Azure para 16
desarrolladores
Los enlaces de entrada y de salida conectan el código de Arranque en frío o en caliente
la función con otros servicios, como Azure Storage, Azure El arranque en frío es un término que se utiliza para
Cosmos DB y Azure Service Bus, e incluso servicios externos describir el comportamiento de una aplicación y su
predisposición a tardar más tiempo en iniciarse después
como Twilio y SendGrid. Con Azure Functions, puedes
de que haya estado inactiva durante un período de
crear funciones con rapidez y alojarlas en un entorno
tiempo. Para las funciones que se ejecutan en los modelos
elástico que realiza el escalado de forma automática. de precios del plan de consumo y App Service, cuando
una aplicación de función ha estado inactiva durante un
Con Azure Functions es posible pagar únicamente por período de tiempo, se escalará automáticamente a cero
las funciones que se ejecuten en lugar de tener que instancias. Cuando lleguen nuevos eventos, una nueva
mantener las instancias de computación en ejecución instancia debe estar especializada con la aplicación que
se ejecuta en ella. La especialización de nuevas instancias
todo el mes. A esto se le llama también “sin servidor”,
puede tardar algún tiempo (latencia) antes de que se
porque solo tienes que crear tu aplicación sin
pueda gestionar el primer evento.
preocuparte por los servidores ni por el escalado de
los mismos. Puedes escribir Azure Functions en .NET,
JavaScript, Java y una lista de lenguajes cada vez mayor. Para la eliminar la latencia de arranque en frío, puedes
usar el plan Premium de Azure Functions y configurar
el número de instancias previamente preparadas. La
Una aplicación que usa Azure Functions activa una
aplicación Azure Functions mantendrá el número
función cada vez que se carga un nuevo archivo de
especificado de instancias previamente preparadas,
imagen en Azure Blob Storage. A continuación, la lo que permite escalar más fácilmente para gestionar
función cambia el tamaño de la imagen y la escribe nuevos eventos.
en otra cuenta de almacenamiento de blob. Los datos
del blob que desencadenaron la función se pasan a
la función como el parámetro myBlob, que incluye la
Azure Logic Apps
dirección URL del blob. Usa el parámetro de enlace de
Puedes organizar la lógica de negocio con Logic Apps
salida outputBlob para especificar el blob en el que
automatizando un proceso de negocio o integrando
quieres escribir el resultado. No es necesario escribir el
con aplicaciones SaaS.
código para conectar con el almacenamiento de blobs,
solo configurarlo. Al igual que en el caso de Azure Functions, Logic Apps se
puede activar desde una fuente externa, por ejemplo, un
INICIO nuevo mensaje. Al enlazar llamadas de la API a conectores,
RÁPIDO puedes crear un flujo de trabajo (posiblemente complejo)
Crea tu primera función de Azure en el que participen recursos del cloud y on-premises.
usando el portal de Azure
Logic Apps tiene disponibles muchos conectores
con las API que pueden conectarse con Azure SQL
Database, SalesForce, SAP, etc.
La guía de Azure para 17
desarrolladores
También puedes exponer tus propias API o funciones Power Apps
de Azure como conectores para usarlos en una
aplicación lógica, lo que te permitirá realizar fácilmente Power Apps es un conjunto de aplicaciones, servicios
acciones en sistemas externos en tu flujo de trabajo y conectores, así como una plataforma de datos, que
o hacer que uno de ellos active tu aplicación lógica. proporciona un entorno de desarrollo rápido para
crear aplicaciones personalizadas para tus necesidades
A continuación, se incluye un ejemplo que muestra empresariales. Con Power Apps, puedes crear
un flujo de trabajo de Logic Apps: rápidamente aplicaciones empresariales personalizadas
1. La aplicación lógica se activa cuando llega que se conecten a los datos almacenados en la plataforma
un correo electrónico que contiene un pedido de datos subyacente (Microsoft Dataverse) o en varios
de envío a Microsoft 365. orígenes de datos online y on-premises (como SharePoint,
Microsoft 365, Dynamics 365 y SQL Server).
2. Con los datos del correo electrónico, la aplicación
lógica comprueba la disponibilidad del artículo
Las aplicaciones creadas con Power Apps proporcionan
pedido en SQL Server.
funciones avanzadas de lógica empresarial y flujo de
3. La aplicación lógica envía un mensaje de texto trabajo para transformar las operaciones empresariales
al teléfono del cliente mediante Twilio y en él se manuales en procesos digitales automatizados. Además,
indica que el pedido se ha recibido y el artículo las aplicaciones creadas con Power Apps tienen un diseño
se ha enviado. dinámico y pueden ejecutarse sin problemas en un
navegador y en dispositivos móviles (teléfono o tablet).
INICIO
RÁPIDO Power Apps hace que la experiencia de creación de
aplicaciones empresariales sea accesible para todo
Empieza a usar Azure Logic Apps
el mundo al permitir a los usuarios crear aplicaciones
empresariales personalizadas con todas las funciones sin
escribir código. Para los desarrolladores profesionales,
Al igual que Azure Functions, Logic Apps es una Power Apps también proporciona una plataforma
característica “sin servidor”, se escala automáticamente extensible que les permite interactuar mediante
y solo se paga por ella cuando se ejecuta. programación con los datos y los metadatos, aplicar
lógica del negocio, crear conectores personalizados
e integrar la aplicación con datos externos.
INICIO
RÁPIDO
Documentación oficial de Power
Apps
La guía de Azure para 18
desarrolladores
Power Automate
Microsoft Power Automate es una oferta SaaS para
automatizar los flujos de trabajo en el creciente número
de aplicaciones y servicios SaaS que utilizan los usuarios
de empresa. Mientras que Logic Apps está más dirigido
a una audiencia de desarrolladores, Microsoft Power
Automate está diseñado para usuarios de la empresa,
administradores y empleados de oficina.
Microsoft Power Automate ofrece una ruta más
sencilla a los flujos de trabajo de integración. Logic
Apps ofrece la capacidad de ampliar Power Automate
con funciones de flujo de trabajo más avanzadas. Un
ejemplo de las funciones adicionales que ofrece Logic
Apps es la capacidad de ejecutar código insertado
en el flujo de trabajo.
INICIO
RÁPIDO
Obtén más información sobre
Power Automate
La guía de Azure para 19
desarrolladores
Logic Apps frente a Power Automate
Tanto Microsoft Power Automate como Logic Apps ofrecen Ambos servicios se pueden integrar con distintas
servicios de integración dirigidos a los diseñadores que aplicaciones SaaS y empresariales; sin embargo, cada
pueden crear flujos de trabajo. uno de ellos está dirigido a diferentes usuarios.
Esta es una comparación punto por punto para ayudar a
determinar cuándo usar Power Automate o Logic Apps para
un escenario de integración concreto:
Figura 1.1: Cómo elegir entre Power Automate y Logic Apps
La guía de Azure para 20
desarrolladores
API Management LECTURAS
ADICIO-
NALES
Guía de API y microservicios
API Management te permite crear puertas de enlace de Azure
de API para los servicios back-end existentes de manera
sistemática.
E-book Diseño de API de Azure
Con API Management, puedes publicar API para
desarrolladores externos, internos y partners con el fin
de desbloquear el potencial de sus datos y servicios. API Management en un mundo
Básicamente, puedes usar Azure API Management para híbrido y multicloud
recuperar cualquier back-end e iniciar un programa
de API completo basado en él.
Algunos de los usos habituales de
API Management son:
• Proteger la infraestructura móvil con claves
de acceso de API, prevenir los ataques DOS
mediante la limitación de solicitudes o usar
políticas de seguridad avanzadas como la
validación de tokens JWT.
• Permitir ecosistemas de partners ISV
ofreciendo una rápida incorporación de partners
a través del portal para desarrolladores y
creando una fachada de API para desacoplar
las implementaciones internas que no están
maduras para el uso por parte de los partners.
• Ejecutar un programa de API interno
ofreciendo una ubicación centralizada para que
la organización comunique la disponibilidad y los
cambios más recientes en las API y permitiendo
el acceso en función de las cuentas de la
organización (todo ello basado en un canal
seguro entre la puerta de enlace de la API y el
back-end).
La guía de Azure para 21
desarrolladores
Qué utilizar y cuándo
Algunos de los servicios que ejecutan tu aplicación en Azure
pueden funcionar bien conjuntamente en una solución, mientras
que otros son más adecuados para diferentes propósitos.
Aunque puede que esto complique la elección de los servicios
adecuados, en la figura 1.2 te ayudamos a identificar qué
servicios de Azure son los adecuados para tu situación:
* Los servicios con un asterisco tienen un nivel gratuito que puedes empezar a utilizar gratis.
● Para migrar mediante lift-and-shift aplicaciones existentes a Azure.
Figura 1.2: Un resumen rápido sobre la elección de un servicio de Azure en distintos escenarios
La guía de Azure para 22
desarrolladores
Usar eventos y mensajes Al desacoplar los sistemas, la aplicación web puede
en una aplicación funcionar a una velocidad diferente del servicio web,
y ambos pueden escalarse por separado para ajustarse
Las aplicaciones modernas distribuidas globalmente deben a las necesidades de la aplicación.
lidiar a menudo con grandes cantidades de mensajes, por
lo que se deben diseñar pensando en la desvinculación
DOC
y el escalado. Azure proporciona varios servicios para
ayudar con la ingesta y el análisis de eventos, además de Introducción a las colas
de Service Bus
los patrones de mensajería. Estos servicios también son
fundamentales para crear aplicaciones inteligentes que
utilicen la inteligencia artificial.
Temas de Service Bus
Service Bus Al igual que las colas de Service Bus, los temas de
En Azure, la base de la mensajería es Service Bus. Service Bus proporcionan una forma de desacoplar
Service Bus engloba un conjunto de servicios que se aplicaciones.
usan para los patrones de mensajería. Los servicios más
importantes son las colas y temas de Azure Service Bus. Estas son las diferencias entre ambos:
• Con una cola, varias aplicaciones escriben mensajes
Colas de Service Bus en la cola, pero solo una aplicación puede procesar
Las colas de Service Bus se usan para desacoplar un mensaje en un momento dado.
sistemas. Por ejemplo: una aplicación web recibe
• Con un tema, varias aplicaciones escriben
pedidos de los clientes y tiene que invocar un servicio
mensajes en el tema y varias aplicaciones puede
web para procesar los pedidos. El servicio web tardará
procesar un mensaje al mismo tiempo.
mucho tiempo en procesar completamente el pedido,
quizás hasta cinco minutos. Las aplicaciones pueden crear una suscripción en el
tema que indique qué tipo de mensajes les interesa.
Una forma de solucionar este problema es utilizar una Al igual que las colas, los temas tienen características
cola para desacoplar la aplicación web del servicio web. como la detección de duplicados y una subcola de
La aplicación web recibe el pedido y lo escribe en un mensajes fallidos a la que se mueven los mensajes
mensaje en una cola de Service Bus. A continuación, cuando no pueden procesarse correctamente.
la aplicación web informa al usuario de que se está
tramitando el pedido. El servicio web toma los mensajes
DOC
de la cola, uno por uno, y los procesa. Cuando el
servicio web ha procesado un pedido, envía una Introducción a los temas
de Service Bus
notificación por correo electrónico al cliente para
informarle de que se ha pedido el artículo.
La guía de Azure para 23
desarrolladores
Event Hubs Event Grid
Event Hubs puede ayudar a las empresas a capturar Event Grid ofrece un tipo de mensajería diferente:
enormes cantidades de esos datos para analizarlos o un servicio de publicación/suscripción totalmente
transformarlos y moverlos para su uso posterior. administrado, que se conecta con casi todos los
servicios de Azure y se puede conectar con suscriptores
Event Hubs se ha diseñado para la adquisición masiva de y publicadores personalizados.
datos. Gestiona sin esfuerzo millones de mensajes por
segundo. Puedes retener mensajes hasta un máximo de Esto es diferente de trabajar con las colas y los temas de
siete días o indefinidamente, escribiéndolos en un almacén Service Bus, donde solo se necesita sondear la cola o el
de datos mediante la función de captura de Event Hubs. tema para obtener nuevos mensajes. Event Grid envía
automáticamente los mensajes a los suscriptores, lo
Puedes utilizar Event Hubs para filtrar los datos con que lo convierte en un servicio de eventos reactivo en
consultas en el momento en que llegan y enviarlos a tiempo real.
un almacén de datos como Azure Cosmos DB. Puedes
incluso reproducir mensajes. Da servicio dentro y fuera de los eventos de publicación
de Azure cuando se añade un nuevo blob, por ejemplo,
INICIO o cuando se añade un nuevo usuario a una suscripción
RÁPIDO de Azure. Event Grid detecta estos eventos y hace que
Enviar eventos y recibir eventos estén disponibles para los controladores de eventos y
desde Azure Event Hubs
los servicios que se han suscrito a los eventos, como se
muestra en la figura 1.3:
Figura 1-3: Flujo de eventos de los publicadores de eventos a los controladores de eventos
La guía de Azure para 24
desarrolladores
Los controladores de eventos pueden ser funciones Azure SignalR Service
o Logic Apps, que pueden actuar a partir de los datos Puedes usar Azure SignalR Service para simplificar
del evento. el proceso de añadir funcionalidad web en tiempo
real a las aplicaciones a través de HTTP que permita
Otro aspecto importante de Event Grid es que es un a los servicios enviar actualizaciones de contenido a
servicio sin servidor. Esto significa que, al igual que los clientes conectados. El servicio se basa en [Link]
Azure Logic Apps y Functions, Event Grid ajusta su Core SignalR y se ofrece como un servicio totalmente
escala automáticamente y no es necesario implementar administrado y autónomo en Azure.
una instancia. Solo tienes que configurarlo y usarlo,
y solo pagarás cuando lo utilices. SignalR puede actualizar las aplicaciones conectadas
en tiempo real mediante HTTP, sin necesidad de que las
Puedes utilizar Event Grid si quieres recibir una aplicaciones busquen actualizaciones o envíen nuevas
notificación por correo electrónico cada vez que solicitudes HTTP. Esto te permite crear experiencias web
se añade o elimina un usuario de tu lista de correo transparentes que actualizan la información sobre la
en Mailchimp. Event Grid se utiliza para activar una marcha. Por ejemplo, una aplicación de subastas podría
aplicación en Logic Apps y está configurado para utilizar SignalR para actualizar la puja más reciente en
escuchar los cambios que se producen en la lista de cuanto se realice, sin necesidad de actualizar toda la
correo de Mailchimp. Event Grid indica a continuación página ni tener que sondear nueva información.
a Logic Apps que envíe un correo electrónico que
contiene el nombre de la persona que se ha añadido Alojar un servidor de SignalR no es una tarea
o eliminado y la acción que se realizó. sencilla, y puede ser difícil escalarlo y protegerlo
adecuadamente. Cuando utilizas el servicio Azure
SignalR completamente administrado, es fácil de
TUTORIAL
configurar, y la seguridad, disponibilidad, rendimiento
Supervisa los cambios de las
máquinas virtuales con Event y escalabilidad también se administran en su totalidad.
Grid y Logic Apps
INICIO
RÁPIDO
Crea una sala de chat con
SignalR
La guía de Azure para 25
desarrolladores
Servicios de mensajería de Azure
Azure proporciona numerosas opciones para realizar
mensajería y para desacoplar aplicaciones. ¿Cuál se
debe utilizar y cuándo? En la figura 1.4 se resumen las
diferencias para ayudarte a elegir.
Tamaño
Uso para máximo
Ingesta de Administración Varios Varios Uso para publicar/ del
eventos de dispositivos Mensajería consumidores remitentes desacoplar suscribir mensaje
Colas de
1 MB
Service Bus*
Temas de
1 MB
Service Bus*
Event Hubs* 256 KB
Event Grid* 64 KB
SignalR
64 KB
Service*
* Los servicios con un asterisco tienen un nivel gratuito que puedes
empezar a utilizar gratis.
Figura 1.4: Resumen de los servicios de Azure para eventos y mensajes:
qué utilizar y cuándo
La guía de Azure para 26
desarrolladores
Azure Entre algunas de las características principales de Azure
Communication Services se incluyen las siguientes:
Communication • Ofrecer experiencias de vídeo, voz, chat,
SMS y telefonía allí donde se encuentren tus
Services clientes (a través de tus aplicaciones, sitios web
y plataformas móviles).
• Usar una plataforma global fiable en la que
confían millones de personas cada día.
Azure Communication Services es una plataforma
• Llegar a más clientes sin poner el peligro
con API de comunicación completas para implementar
la seguridad mediante un cloud seguro
funciones de voz, vídeo, chat o SMS dentro de tus
y conforme a las normativas.
aplicaciones en cualquier dispositivo y en cualquier
plataforma, utilizando la misma infraestructura fiable • Conectar a las personas a través de aplicaciones
y segura que se emplea en Microsoft Teams. Puedes web y móviles. Añadir flujos de trabajo de
añadir funciones de comunicación a tus aplicaciones comunicación a aplicaciones con SDK y API
sin ser un experto en tecnologías de comunicación flexibles para plataformas y lenguajes de
como la codificación de contenido multimedia y la programación comunes, incluidos iOS, Android,
conexión en red en tiempo real. Azure Communication Web, .NET y JavaScript.
Services admite varios formatos de comunicación:
• Llamadas de voz y vídeo INICIO
RÁPIDO
• Chat de texto enriquecido
• SMS Añade chat a tu aplicación
Añade videollamadas 1:1 a tu
aplicación
Envía un mensaje SMS
La guía de Azure para 27
desarrolladores
Crear aplicaciones Incluir Traffic Manager en tu arquitectura es una forma
excelente de mejorar el rendimiento de tu aplicación.
con mejor Azure Front Door
rendimiento Puede que tus usuarios estén repartidos por el mundo
o que viajen de vez en cuando. Esto puede hacer que
sea difícil asegurarse de que experimenten un buen
Una vez que la aplicación esté funcionando en Azure,
rendimiento y que tu aplicación sea segura y esté
quieres que su rendimiento sea lo más alto posible.
disponible independientemente de la ubicación.
Azure proporciona una serie de servicios que pueden
ayudarte con eso.
Azure Front Door puede ayudarte.
Azure Traffic Manager Este servicio puede dirigir el tráfico de los usuarios al
punto de conexión con la aplicación que tenga el mejor
rendimiento. Front Door puede dirigir el tráfico a los
Muchas aplicaciones modernas tienen usuarios en
puntos de conexión disponibles y evitar aquellos que
todo el mundo. Proporcionar una experiencia de alto
rendimiento para todos ellos es, como poco, un reto. no están disponibles.
El problema más obvio al que hay que enfrentarse es
la latencia, es decir, el tiempo que tarda una señal o Traffic Manager también cumple esta función, pero de
solicitud en llegar a un usuario. Cuanto más lejos esté forma diferente a Front Door. Front Door funciona en la
el usuario de tu aplicación, mayor será la latencia que capa 7 de OSI o la capa HTTP/HTTPS, mientras que Traffic
experimente. Manager funciona con DNS. En otras palabras, Front Door
funciona en el nivel de la aplicación y Traffic Manager en
Azure Traffic Manager ajusta la escala entre distintas el nivel de red. Esta es una diferencia fundamental que
regiones, lo que ayuda a reducir la latencia y proporciona determina las prestaciones de los servicios.
a los usuarios una experiencia superior, estén donde estén.
Dada esta diferencia, Front Door hace mucho más que
Traffic Manager es un mecanismo de enrutamiento dirigir a los usuarios a puntos de conexión disponibles
inteligente que se antepone a las aplicaciones de Web y con buen rendimiento.
Apps. Web Apps actúa como un punto de conexión,
cuyo estado y rendimiento supervisa Traffic Manager. Front Door te permite modificar las reglas del firewall
de aplicaciones web (WAF) para controlar el acceso
Cuando los usuarios acceden a tu aplicación, Traffic y proteger tu carga de trabajo HTTP/HTTPS de los
Manager los dirige a la aplicación de Web Apps que ataques basados en las direcciones IP clientes, el código
rinda mejor en su entorno cercano. del país y los parámetros HTTP.
La guía de Azure para 28
desarrolladores
Si necesitas ayuda para elegir entre Front Door
y Traffic Manager, ten en cuenta estas instrucciones:
Figura 1.5: Elección entre Front Door y Traffic Manager
Otras prestaciones de Front Door son las siguientes: • Terminación SSL
Con esto, puedes proteger el tráfico de extremo
• Enrutamiento basado en URL
a extremo, desde el navegador hasta la
Esto te permite dirigir las solicitudes de
aplicación en el grupo del back-end.
diferentes URL a distintos grupos del
back-end (aplicaciones que reciben tráfico, • Afinidad de sesión
como Web Apps). Por ejemplo,
Cuando quieres que se envíe a los usuarios
http: // w ww. contoso. com/users/* va a un
al mismo punto de conexión todas las veces,
grupo y http: // ww w. contoso. com/products/*
la afinidad de sesión resulta muy útil. Esto es
va a otro.
importante en aquellos casos en los que el
estado de la sesión se guarda en el entorno local,
• Reescritura de URL
en el back end, para la sesión de un usuario.
Esto te permite personalizar la URL que pasas
al grupo del back-end.
Además, Front Door te permite crear reglas de
limitación de la velocidad para combatir el tráfico de
bots malintencionados. Estas son solo algunas de las
prestaciones exclusivas de Front Door.
La guía de Azure para 29
desarrolladores
Azure Content Delivery Network Content Delivery Network puede resultarte útil en
aplicaciones web, pero también en aplicaciones móviles
Uno de los servicios de Azure que pueden ayudarte y de escritorio. Una forma de usar Content Delivery
a hacer tu aplicación más rápida es Azure Content Network es servir vídeos para una aplicación móvil.
Delivery Network. Como los vídeos pueden ser grandes, no conviene
almacenarlos en el dispositivo móvil (los usuarios no
Sube tus archivos estáticos (vídeos, imágenes, JavaScript, quieren hacerlo). Con Content Delivery Network, los
CSS e incluso archivos estáticos HTML) a un almacén de vídeos se sirven desde el punto de presencia (PoP).
datos como Azure Blob Storage y luego asocia Content Como está más cerca del usuario, mejora también
Delivery Network. el rendimiento.
Content Delivery Network replicará a continuación esos INICIO
archivos estáticos en cientos de puntos de presencia RÁPIDO
(PoP) repartidos por todo el mundo. Solo tienes que Empieza a usar Azure Content
Delivery Network
cambiar la referencia a los archivos estáticos en tu
aplicación a una dirección URL diferente.
Por ejemplo, la referencia que antes era En el siguiente capítulo, explicaremos el ecosistema
been ~/images/[Link], ahora sería de Microsoft para desarrolladores, incluida la familia
https: //example. [Link]/[Link]. de IDE, GitHub y Azure DevOps de Visual Studio.
Esto no solo es muy fácil de hacer, sino que también
mejora el rendimiento de la aplicación de las
siguientes formas:
• Reduce el contenido suministrado desde la
aplicación. Ya que ahora lo suministra Content
Delivery Network, libera ciclos de procesamiento
en la aplicación.
• Lleva el contenido estático físicamente más cerca
de tus usuarios distribuyéndolo a puntos de
presencia repartidos por todo el mundo.
La guía de Azure para 30
desarrolladores
02 /
Herramientas para
desarrolladores
y cloud para
desarrolladores
La guía de Azure para 31
desarrolladores
Las herramientas
de desarrollo
y para el cloud
más completas
El ecosistema de desarrolladores de Microsoft, que Echemos un vistazo a las principales herramientas
incluye la familia de IDE de Visual Studio, junto con y plataformas que componen el ecosistema de
la eficacia de las plataformas DevOps (GitHub, Azure desarrolladores de Microsoft:
DevOps y servicios en el cloud de Microsoft Azure) • Visual Studio y Visual Studio Code: IDE de
proporciona la experiencia de desarrollador integral primera clase creados para todo el mundo
más completa. y que se pueden ejecutar en cualquier lugar.
• GitHub y Azure DevOps: seguimiento de
“Microsoft tiene las herramientas más demandadas por
elementos de trabajo de nivel empresarial,
los desarrolladores con Visual Studio y GitHub aloja la
de código abierto y basado en la comunidad,
comunidad de desarrolladores donde el mundo se une
canalizaciones CI/CD y almacenamiento de
para crear software. Los desarrolladores pueden usar
artefactos, entre otras muchas cosas.
sus lenguajes favoritos, plataformas de código abierto
• Microsoft Azure: Azure es un proveedor de
y herramientas para programar e implementar código
cloud excelente que ofrece la capacidad de alojar
en el cloud desde cualquier lugar, colaborando de forma
.NET, Java, JavaScript/[Link], Python, etc.
segura e integrando diferentes componentes en muy
poco tiempo”. Ha llegado el momento de explorar la familia de
– Scott Guthrie herramientas de Visual Studio, GitHub y Azure DevOps,
y los servicios de integración de plataformas con más
detalle.
La guía de Azure para 32
desarrolladores
Visual Studio
Si los desarrolladores quieren implementar su
aplicación localmente, en sus propios servidores o en
Azure, con Visual Studio este proceso es coherente
y Visual Studio Code y fácil de configurar. La implementación en Azure se
puede configurar desde el IDE, independientemente de
si se publica directamente, a través de FTP, a través de
una canalización CI/CD, en los servicios PaaS de Azure
Con Visual Studio y Visual Studio Code, puedes o a través de una configuración de contenedor Docker/
desarrollar tu aplicación donde y como quieras. Kubernetes.
Desde el desarrollo de videojuegos hasta aplicaciones
web e incluso aplicaciones Linux escritas en C++ o
.NET, Visual Studio sigue siendo el IDE que eligen Visual Studio para Mac
los desarrolladores que trabajan en Windows. Visual
Studio Code es uno de los editores más populares para Visual Studio para Mac es un IDE completo para
los desarrolladores que trabajan en cualquier sistema desarrolladores de macOS que crean aplicaciones,
operativo y crean aplicaciones con cualquier lenguaje juegos y servicios para iOS, Android, macOS, el cloud y la
o plataforma de programación. Web. Las tecnologías y las plataformas modernas como
.NET, Unity, C# y F# te permiten innovar rápidamente
con un IDE de primer nivel. Visual Studio para Mac se
Visual Studio ha diseñado de forma nativa para Mac, con el mismo
editor de código, compilador, finalización de código de
Visual Studio es un entorno de desarrollo integrado
IntelliSense y experiencia de refactorización de Visual
con todas las características, que proporciona a los
Studio en Windows que conoces y te gusta usar.
equipos y a las personas el conjunto de herramientas
integral para el desarrollo, las pruebas, la depuración y
la implementación. Visual Studio ofrece un conjunto de
características innovadoras e inteligentes que permiten
Visual Studio 2022
a desarrolladores individuales y equipos enteros por La próxima versión de Visual Studio, Visual Studio 2022
igual ser más productivos. IntelliSense e IntelliCode que llegará a finales de 2021, estará repleta de mejoras
permiten completar el código de forma más inteligente
de rendimiento y una amplia variedad de características
en el IDE y simplifican las tareas repetitivas como la
para aumentar la productividad personal y del equipo.
refactorización. Las características de diagnóstico y
Con Visual Studio 2022 de 64 bits, los desarrolladores
depuración, como la depuración de instantáneas y la
integración en directo con Azure Application Insights, pueden escalar a soluciones grandes y complejas sin
ofrecen visibilidad completa del historial de ejecución y quedarse sin memoria. Las características innovadoras,
del estado de depuración de tu aplicación dondequiera como Hot Reload para aplicaciones .NET y C++,
que esta se ejecute. La integración de Git y GitHub de aplicaciones Live Preview para XAML, aplicaciones Web
serie permite una colaboración fluida: los desarrolladores Live Preview para [Link] y la finalización de toda la
pueden crear y clonar repositorios, administrar línea de IntelliCode permitirán a los desarrolladores ser
ramificaciones y resolver conflictos de combinación productivos durante todo el ciclo de vida de desarrollo
directamente dentro del IDE. Visual Studio Live Share de aplicaciones. Las herramientas mejoradas de Git y
permite a los desarrolladores colaborar en su IDE en GitHub, y Live Share con chat integrado, permitirán a
tiempo real configurando una sesión de red compartida, los desarrolladores colaborar sin problemas.
que permite a los participantes editar y trabajar en
equipo como si estuvieran en la misma habitación.
La guía de Azure para 33
desarrolladores
Visual Studio 2022 incluirá también las últimas Visual Studio Code
herramientas innovadoras para el desarrollo de
aplicaciones modernas. Visual Studio 2022 tendrá Visual Studio Code es un editor de código
compatibilidad completa con .NET 6 y es una plataforma multiplataforma con binarios para Windows, macOS y
unificada para aplicaciones web, cliente y móviles para Linux. Muchas de las fantásticas características de Visual
desarrolladores de Windows y Mac. Esto incluye la Studio se pueden encontrar también en Visual Studio
interfaz de usuario de aplicación multiplataforma de .NET Code, desde IntelliSense clásico hasta características
(.NET WCF) para aplicaciones cliente multiplataforma en más recientes como IntelliCode y Live Share.
Windows, Android, macOS e iOS. Los desarrolladores
podrán utilizar tecnologías [Link] Blazor para crear Con un ecosistema de 30 000 (y en aumento) extensiones
aplicaciones de escritorio a través de .NET MAUI. Para los y temas de primera y tercera manos, Visual Studio Code
desarrolladores de C++, Visual Studio 2022 incluirá muy se puede personalizar de acuerdo con las necesidades de
buena compatibilidad con cargas de trabajo de C++ con cada desarrollador y permite trabajar con prácticamente
nuevas características de productividad, herramientas todos los lenguajes de programación y todas las
de C++20 e IntelliSense. También estamos integrando la plataforma, y herramientas como administradores de
compatibilidad con CMake, Linux y Windows Subsystem paquetes. Las extensiones para Azure permiten crear,
for Linux (WSL) para que te resulte más fácil crear, editar, implementar y administrar aplicaciones mediante una
compilar y depurar aplicaciones multiplataforma. variedad de servicios de Azure con solo unos clics, mientras
que la colaboración es más sencilla con extensiones para
solicitudes de incorporación de cambios y problemas de
DOCU-
GitHub. Incluso puedes desarrollar tus propias extensiones
MENTACIÓN
personalizadas que satisfagan cualquier necesidad única
Visual Studio que puedas tener tú o tu equipo. Visual Studio Code
permite también a los desarrolladores trabajar con hosts y
máquinas remotos a través de extensiones como Remote-
Hoja de ruta de Visual SSH y Remote-Containers (para contenedores Docker), así
Studio 2022 como GitHub Codespaces.
Visual Studio Code es completamente gratuito en cualquier
Visual Studio 2019 para Mac plataforma y se fundamenta en una base de código abierto.
PRIMEROS
PASOS
Visual Studio Code
Descargar Visual Studio Code
La guía de Azure para 34
desarrolladores
Crear, publicar Planificación y seguimiento
Tanto GitHub como Azure permiten la administración
e implementar de la hoja de ruta del producto y los backlogs como
parte de metodologías ágiles.
con GitHub + GitHub permite realizar un seguimiento de las ideas,
las mejoras, las tareas o los errores. GitHub también
Azure DevOps permite administrar los proyectos con etiquetado, hitos
y paneles Kanban para que avancen.
Si se desea un proceso más estructurado, Azure Boards se
Los equipos de gestión de productos e ingeniería de puede integrar en GitHub o usarse con otros servicios de
Azure DevOps de Microsoft se unieron a GitHub bajo Azure DevOps. Azure Boards admite metodologías ágiles,
un único equipo de liderazgo para ofrecer hojas de ruta incluidas Agile, Scrum y Kanban. Azure Boards te permite
realizar un seguimiento del trabajo con paneles Kanban,
coordinadas. Este nuevo enfoque en ambas ofertas
backlogs, paneles de equipo e informes personalizados.
garantiza que GitHub siga siendo la plataforma elegida
Para la planificación de la hoja de ruta, se pueden añadir
para la administración de código y la mecánica de CI/ los planes de entrega a Azure DevOps desde Visual Studio
CD, y que Azure DevOps siga ofreciendo las funciones Marketplace, lo que proporciona todo lo que un equipo
maduras de ciclo de vida de desarrollo de software a necesita para realizar el seguimiento de una característica
sus usuarios. desde su concepción hasta producción.
Paneles de GitHub
El equipo de GitHub y Azure DevOps reconoce que una
Los paneles de proyectos de GitHub pueden
solución no siempre es adecuada para todos, por lo que ayudarte a organizar y priorizar tu trabajo mediante
Microsoft permite a los clientes adoptar entornos de un enfoque Kanban de administración del trabajo.
GitHub y Azure DevOps híbridos. Dos de las soluciones Estos paneles son flexibles y se pueden utilizar para
híbridas más conocidas son: realizar un seguimiento del trabajo específico de las
características, hojas de ruta de software e incluso listas
• Integración de Azure Boards-GitHub
de comprobación del lanzamiento.
• Integración de Azure Pipelines-GitHub
Los componentes principales de los paneles de proyectos
son problemas, solicitudes de incorporación de cambios
DOCU- y notas. Todos estos componentes se muestran en el
MENTACIÓN panel como tarjetas dentro de una o varias columnas.
Hoja de ruta pública de Las tarjetas pueden contener metadatos relevantes para
Azure DevOps problemas y solicitudes de incorporación de cambios,
como el estado, las personas asignadas y quién los
abrió. Las notas se pueden usar para crear recordatorios
Hoja de ruta pública de GitHub de tareas, hacer referencia a problemas específicos o
solicitudes de incorporación de cambios, o cualquier otra
información que pueda ser relevante para el panel.
La guía de Azure para 35
desarrolladores
Los paneles de proyectos se incluyen en tres
configuraciones diferentes:
Flujos de trabajo de repositorios
• Paneles de proyectos propiedad del usuario,
y desarrollo
relacionados con repositorios personales GitHub permite a los desarrolladores compartir código
• Paneles de proyectos para toda la organización, y paquetes a través de sus funciones principales de
que pueden contener problemas y solicitudes repositorio, GitHub Packages y npm. Azure Repos
de incorporación de cambios en hasta 25 proporciona repositorios de control de versiones
repositorios dentro de una organización
(centralizados) de Git y Team Foundation, así como
• Paneles de proyectos de repositorios, adscritos Azure Artifacts para paquetes. Tanto GitHub como
a los problemas y las solicitudes de incorporación Azure DevOps se integran con Azure Container
de cambios dentro de un único repositorio Registry, que proporciona una instancia totalmente
administrada y con replicación geográfica opcional
Los paneles de proyectos también pueden automatizarse,
para imágenes de Docker y gráficos Helm.
lo que permite que las tarjetas pasen de un estado a
otro. Los flujos de trabajo basados en desencadenadores
permiten a las tarjetas asumir estados específicos Repositorios de GitHub
como Pendiente, En curso o Listo. Normalmente, los Los repositorios son el componente principal de GitHub.
desencadenadores constan de eventos sencillos, como los Con el formato Git estándar, puedes administrar los
problemas que surgen, la apertura de nuevas solicitudes archivos de tu proyecto, así como conversar sobre
de incorporación de cambios, el cierre de problemas o la el trabajo de tu proyecto y administrarlo. Puedes
combinación de solicitudes de incorporación de cambios. restringir a quién se le permite ver un repositorio o hacer
contribuciones en él cambiando su nivel de visibilidad.
Puedes seleccionar público (predeterminado) o privado,
Azure Boards
lo que mantiene el acceso restringido a los usuarios que
Planificar tu trabajo y supervisar tu progreso son tareas
deseas que tengan acceso.
importantes, y Azure Boards puede ayudarte a realizarlas.
Si utilizas la versión gratuita de GitHub, puedes utilizar
En Azure Boards puedes crear un backlog completo
repositorios públicos ilimitados con acceso a un
de elementos de trabajo (como historias de usuarios)
conjunto completo de características o repositorios
y planificarlos en sprints para que tu equipo pueda
privados ilimitados con un conjunto de características
trabajar de forma iterativa para terminar las tareas.
limitado. Las limitaciones tienen la forma de acceso
específico del ámbito al soporte de la comunidad de
Todo el sistema de planificación está optimizado para
trabajar de forma ágil. Incluye incluso paneles Kanban GitHub, a las alertas Dependabot®, a los límites de
para gestionar tu trabajo. almacenamiento y a otras restricciones. Los niveles
Premium ofrecen la capacidad de aumentar minutos
Todo se puede personalizar para que funcione lo mejor al mes en acciones de GitHub y almacenamiento en
posible para tus equipos, ya sea mediante Scrum, otro GitHub Packages, junto con características avanzadas
método ágil o el proceso de Integración del Modelo de de administración de solicitudes de incorporación de
madurez y de capacidad (CMMI). Puedes crear y gestionar cambios, ramas protegidas y gráficos de información
tareas, funciones, historias de usuarios, errores, requisitos, de repositorios. Consulta el listado de productos de
problemas, solicitudes de cambios y mucho más. GitHub para obtener más información.
La guía de Azure para 36
desarrolladores
Azure Repos Packages es compatible con muchos administradores
Azure Repos utiliza Git estándar. Esto implica que de paquetes utilizados habitualmente, como npm,
puedes usarlo con cualquier herramienta o IDE de Git, RubyGems, Apache Maven, Gradle, Docker y NuGet.
incluidas Visual Studio y Visual Studio Code, además Además, GitHub ofrece compatibilidad con el registro
de Git para Windows, macOS, Linux, Eclipse e IntelliJ. de contenedores para alojar imágenes de Docker u OCI.
Al seguir el flujo de trabajo de Git, normalmente Se requieren tokens de acceso para publicar, instalar
empezarás creando tu propia rama del código para, por o eliminar paquetes, lo que garantiza la seguridad de
ejemplo, añadir una función. Al terminar, se confirma la administración del ciclo de vida de los paquetes.
el código para crear una solicitud de inserción (pull)
para esa rama y enviarla al servidor. Los usuarios GitHub Packages también es compatible con la
pueden ver, revisar, probar y debatir sobre esta solicitud automatización. Puedes integrar Packages con Acciones
de incorporación de cambios. Cuando el código sea lo de GitHub, API de GitHub y webhooks para crear flujos
suficientemente bueno como para insertarlo en la rama de trabajo de DevOps, incluido el código, la integración
principal, la solicitud se aceptará y se podrá eliminar la continua (CI) y la implementación en una sola interfaz.
rama de desarrollo.
Azure Artifacts
Con Azure Repos, tendrás un completo conjunto de Puedes alojar todo tipo de paquetes en Azure Artifacts,
herramientas sobre el que basar el flujo de trabajo incluidos NuGet, npm, Maven, Python y paquetes
de Git. Puedes vincular elementos de trabajo, como universales. Puedes utilizar incluso la fuente de
historias de usuarios o errores, a las solicitudes de Azure Artifacts para almacenar paquetes de orígenes
inserción, de modo que sepas de qué va cada cambio. públicos, como [Link] y [Link]. Al almacenar
Puedes cuestionar el código confirmado e incluso paquetes de orígenes públicos en tu fuente, podrás
comentar los cambios en él. Azure Repos también seguir usándolos aunque no estén ya disponibles en la
permite votar sobre los cambios en el código, de fuente pública. También podrás utilizar Azure Artifacts
modo que solo se acepta un cambio cuando todos los para revisar y validar cada paquete por motivos de
miembros del equipo afirman que están de acuerdo. seguridad dentro de tu fuente. Esto es especialmente
útil para los paquetes críticos.
Azure Repos ofrece repositorios Git privados ilimitados.
Sigue estos sencillos pasos para usar Azure Artifacts:
GitHub Packages 1. Crea una fuente de Azure Artifacts.
GitHub Packages es un servicio de hosting de paquetes
2. Publica tu paquete en la fuente.
de software que te permite alojar tus propios paquetes
de forma privada o pública. Estos paquetes se pueden 3. Consume la fuente en tu IDE favorito,
utilizar en tus proyectos o ponerlos a disposición de como Visual Studio.
otros usuarios.
La guía de Azure para 37
desarrolladores
CI/CD específico. Cada evento desencadena un flujo de trabajo,
que consta de uno o varios trabajos. Cada trabajo puede
tener una o varias acciones, lo que permite crear flujos de
trabajo con un alto grado de configuración.
Tanto Acciones de GitHub como Azure Pipelines
proporcionan funciones de CI e implementación Actions usa la sintaxis YAML para definir flujos de trabajo,
continua (CD) totalmente automatizadas. Los usuarios eventos, trabajos y pasos dentro de esos trabajos.
pueden definir varios entornos, cada uno con sus propias Cualquier flujo de trabajo creado para tu proyecto se
reglas de aprobación, secretos y permisos de seguridad. almacenará en el repositorio bajo una carpeta de flujos
Para escenarios más complejos, o para desarrolladores de trabajo específica (.github/workflows). Crear un flujo
que utilizan repositorios fuera de GitHub, Azure Pipelines de trabajo es tan sencillo como abrir un nuevo archivo y
proporciona acceso al código desde fuera de GitHub rellenar algunos datos básicos, como el nombre del flujo
junto con la administración centralizada de plantillas de trabajo, los eventos que desencadenan el flujo de
de flujo de trabajo y otras características centradas en trabajo y uno o varios trabajos. A continuación, se puede
permitir implementaciones seguras a escala. ver un ejemplo de un flujo de trabajo básico:
Acciones de GitHub y Azure Pipelines se pueden usar name: sample-github-actions
por separado o juntos. Muchas empresas optarán por on: [push]
automatizar las compilaciones mediante canalizaciones jobs:
check-bats-version:
y utilizar Acciones de GitHub para automatizar los flujos
runs-on: ubuntu-latest
de trabajo que no son de compilación. También puedes steps:
almacenar y servir paquetes y contenedores internos - uses: actions/checkout@v2
con el Registro de paquetes de GitHub manteniendo - uses: actions/setup-node@v2
- run: npm install -g bats
los binarios compilados y otros artefactos en Azure
- run: bats -v
Artifacts. Ambos productos ofrecen una profunda
integración con Azure a través de una amplia biblioteca
de tareas y acciones en sus respectivos mercados. Esto, al insertar nuevo código en el repositorio,
comprobará el código, configurará [Link], instalará
el paquete de bats en el registro npm global y validará
Acciones de GitHub la instalación solicitando la versión del paquete.
Acciones de GitHub te ayuda a automatizar tareas Acciones de GitHub tiene una amplia variedad de
dentro de tu proyecto relacionadas con el ciclo de acciones integradas para su uso, junto con muchas
vida general de desarrollo de software de tu código. más que la comunidad aporta todos los días.
Estas acciones están controladas por eventos, lo que te Puedes encontrar más de 9000 acciones visitando
permite configurar uno o varios comandos para que se el marketplace de GitHub y buscando acciones.
ejecuten después de que se haya producido un evento
La guía de Azure para 38
desarrolladores
Azure Pipelines
Azure Pipelines aporta mucho valor en un muy poco
tiempo. Permite la integración continua (CI) para la
compilación y la comprobación del código cuando
llegan los cambios, además del desarrollo continuo
(CD) para la implementación de aplicaciones después
de compilar y probar los cambios correctamente.
Animamos a todas las organizaciones a que exploren
CI y CD, ya que estos procesos mejoran la calidad del
código y reducen los esfuerzos de implementación.
Azure Pipelines puede ayudarte con los procesos
de CI y CD al ofrecer canalizaciones de desarrollo e
implementación. Cada una de ellas contiene pasos para
compilar y comprobar el código e implementarlo en
uno o varios entornos. La ventaja de Azure Pipelines
es que funciona con cualquier tipo de código,
independientemente de dónde lo almacenes: desde C# en
Azure Repos hasta Java en Bitbucket o [Link] en GitHub,
o cualquier otro lenguaje o repositorio de Git o SVN.
Azure Pipelines funciona muy bien con los servicios de
Azure para, por ejemplo, implementar tu aplicación
en una aplicación web de Azure. También funciona
con cualquier servicio que se ejecute en cualquier otro
entorno, como Google Cloud, Platform, AWS o incluso
on-premises, en tu propio centro de datos. Si ya utilizas
herramientas de integración continua como Jenkins o
Spinnaker, puedes traer tus desarrollos y procesos a Azure
y aprovechar los complementos de agente dinámico para
reducir los requisitos y costes de infraestructura.
Puedes hacer que tu canalización sea tan sencilla o
tan compleja como quieras. Idealmente, conviene
automatizar todo lo posible, desde la creación
y destrucción de tu infraestructura hasta la
implementación y las pruebas de tu aplicación. Las
tareas de la canalización están disponibles para casi
todo, y puedes acceder a más tareas como extensiones
de Azure DevOps en el marketplace de Visual Studio.
La guía de Azure para 39
desarrolladores
Características Entre GitHub y Azure, tenemos un conjunto de
herramientas y servicios que sirven de ayuda. Azure
de seguridad y GitHub proporcionan los componentes para
desarrollar y escalar prácticas de DevSecOps:
• Amplía la seguridad con Seguridad avanzada
de GitHub, que permite detectar los problemas
Al desarrollar una aplicación, la seguridad debe en cuanto aparecen en la base de código.
integrarse en tu proceso de DevOps tanto como CI,
• Conoce el comportamiento del entorno de
las pruebas y el seguimiento de elementos de trabajo.
ejecución de tus aplicaciones e infraestructura
En muchas plataformas de CI/CD, se puede realizar un
con Azure Monitor.
análisis proactivo de la seguridad mediante el uso de
• Aprovecha la exploración de secretos con GitHub.
scripts personalizados o complementos en la propia
plataforma. Con GitHub, la seguridad siempre es un • Crea política como código con Azure Policy.
aspecto prioritario. Desde ayudar a integrar la seguridad • Protege tu aplicación mediante la administración
en tus flujos de trabajo hasta analizar proactivamente de secretos con Azure Key Vault.
tus repositorios en busca de posibles vulnerabilidades en • Descubre vulnerabilidades y dependencias con el
tu código o bibliotecas, las eficaces herramientas de la análisis de código de GitHub y Dependabot.
plataforma de GitHub ayudan a eliminar las conjeturas • Integra instancias de producción con Azure
de seguridad cuando se crea o se mantiene el código. Security Center, tu sitio para obtener información
y estado de seguridad.
DevSecOps Con GitHub y Azure, nunca ha sido tan fácil aplicar
y escalar tus propias prácticas de DevSecOps con
Las prácticas recomendadas de DevOps de CI y CD nuestra solución unificada. Este completo conjunto
dependen de una mayor colaboración entre los de herramientas ofrece maneras de eliminar los
ingenieros de software y los equipos de operaciones cuellos de botella que frenan la canalización de
para acelerar el desarrollo de software. Aunque DevOps entrega y proporciona los controles necesarios para
cumple la promesa de un desarrollo de software más el cumplimiento y la seguridad. Al descubrir las
rápido, los líderes digitales se enfrentan a problemas vulnerabilidades con antelación, tus equipos se ahorran
con la seguridad y el cumplimiento de su código, tiempo a la hora de solucionar problemas y lograr el
flujos de trabajo e infraestructura. Azure y GitHub cumplimiento, y se minimizan los costes asociados. Por
proporcionan las herramientas para que cualquier lo tanto, pueden centrarse en sus principales objetivos:
organización implemente DevSecOps, la evolución impulsar la innovación con una entrega de software
de DevOps, donde los equipos de desarrolladores, eficiente y segura.
seguridad y operaciones fomentan una cultura de
colaboración para lograr una seguridad continua.
La guía de Azure para 40
desarrolladores
GitHub Advanced Security GitHub Dependabot
GitHub Advanced Security es una suite de funciones GitHub Dependabot crea solicitudes de incorporación
avanzadas de seguridad de aplicaciones que ayuda a de cambios para ayudar a mantener tus dependencias
los desarrolladores a encontrar y solucionar problemas protegidas y actualizadas. Dependabot supervisa los
dentro de su flujo de trabajo. GitHub Advanced Security avisos de seguridad de Ruby, Python, JavaScript, Java,
consta de funciones de análisis de código y secretos .NET, PHP, Elixir y Rust. Las solicitudes de inserción
junto con información general sobre seguridad. de cambios se crean inmediatamente en respuesta
a nuevos avisos. Cuando hay una solución para una
El análisis de código proporciona una revisión de nueva amenaza de seguridad o una versión actualizada
seguridad automatizada con cada inserción de Git. de los componentes a los que se hace referencia,
Proporciona revisiones de seguridad precisas y útiles Dependabot crea solicitudes de incorporación de
dentro del flujo de trabajo del desarrollador y ofrece cambios que incluyen notas de la versión, registros
la oportunidad de solucionar problemas antes de de cambios, enlaces de confirmación y detalles de la
combinar el código. El análisis de código se realiza con vulnerabilidad. A continuación, los desarrolladores o
el motor CodeQL de GitHub y se integra con cualquier encargados de mantener el código revisan y confirman
motor de pruebas de seguridad de aplicaciones estas solicitudes de incorporación de cambios, lo que
estáticas (SAST), al tiempo que proporciona la misma mantiene las dependencias seguras y actualizadas.
experiencia de usuario que buscan los desarrolladores.
Si quieres mejorar la calidad de tu software y
El análisis de secretos analiza los repositorios en busca aprender más sobre la automatización de tus procesos
de formatos de secretos conocidos y te avisa en cuanto de compilación y publicación, descarga y lee estos
se encuentran secretos. El análisis de secretos admite recursos gratuitos:
más de 45 patrones de secretos utilizados habitualmente
(incluidos Azure, AWS, Google Cloud, npm, Stripe DOCU-
y Twilio) y patrones de secretos personalizados. MENTACIÓN
DevSecOps eficaz
La información general de seguridad proporciona
una vista general de los riesgos de seguridad de las
aplicaciones a los que está expuesta una organización
GitHub Advanced Security
de GitHub. Esta vista incluye análisis de código, análisis
de secretos y resultados de Dependabot, junto con los
riesgos asociados.
GitHub Dependabot
La guía de Azure para 41
desarrolladores
Mejor juntos:
• Las plataformas de colaboración proporcionan
a los desarrolladores acceso para comunicarse
Visual Studio +
y coordinarse con los miembros del equipo
y aprovechar el conocimiento colectivo de
la comunidad de código abierto.
GitHub + Azure • Los servicios avanzados en el cloud ofrecen a los
desarrolladores más herramientas para innovar
y experimentar con la creación de aplicaciones
para distintas plataformas.
Visual Studio, GitHub y Azure proporcionan a los equipos
de desarrolladores las herramientas, la plataforma y
el servicio para permitir el desarrollo de aplicaciones DOCU-
modernas. Al combinar las características avanzadas de MENTACIÓN
desarrollo, pruebas y depuración de Visual Studio con Documentación de Visual Studio
la base de conocimiento de código abierto y el poder
de automatización de GitHub, Microsoft proporciona
a los equipos de desarrollo todas las herramientas
Visual Studio + GitHub
que necesitan para trabajar de manera eficiente y
colaborativa. GitHub Enterprise y Azure DevOps facilitan
la administración del progreso, la medición de las
métricas del equipo y la optimización de los procesos.
Visual Studio y GitHub funcionan a la perfección con GitHub Codespaces
Azure, lo que proporciona a los desarrolladores el
conjunto de herramientas más avanzado para flujos Codespaces proporciona entornos de desarrollo en
de trabajo desde el código hasta el cloud. el cloud totalmente configurables, disponibles en tu
navegador, a través de Visual Studio Code o cualquier
Con la potencia combinada de Visual Studio, Azure otro editor adecuado como Emacs o Vim.
y GitHub en las suscripciones de Visual Studio, puedes
agrupar herramientas y servicios clave para que Codespaces incluye todo lo que los desarrolladores
tus desarrolladores puedan distribuir aplicaciones necesitan para trabajar con un repositorio específico,
modernas de forma rápida y eficiente: incluido un editor, un terminal y compatibilidad
• Herramientas como CI y CD integradas en con lenguajes, plataformas y bases de datos
GitHub y Azure DevOps permiten automatizar comunes. Es completamente configurable, lo que te
flujos de trabajo como la ejecución de pruebas permite crear un entorno de desarrollo personalizado
automatizadas y la implementación en entornos para tu proyecto y permitir a los desarrolladores
de prueba, lo que aumenta la agilidad y la personalizar su experiencia con extensiones
productividad de los equipos de desarrollo. y configuraciones dotfile.
La guía de Azure para 42
desarrolladores
• Incorporación rápida y personal: una
Codespaces ofrece muchas ventajas a los equipos,
vez configurado el entorno, los nuevos
incluidas las siguientes:
desarrolladores pueden usar el botón
• Un entorno estandarizado: puedes crear desplegable Code en cualquier repositorio
una configuración de codespaces que permita de GitHub de una organización y seleccionar
a cualquier persona que utilice tu repositorio “Open with Codespaces” (Abrir con Codespaces)
disfrutar de una experiencia coherente al trabajar para desencadenar la creación de un nuevo
con tu código. Esta experiencia es coherente para contenedor de desarrollo. Aunque los tiempos
los usuarios que acceden a Codespaces a través de inicio iniciales varían según la arquitectura
de Visual Studio Code y se basa en explorador, del repositorio, los procesos en segundo plano
como se muestra en la figura 2.1: garantizan que se cree el nuevo espacio de
código con todas las dependencias apropiadas
y se configure.
• Un entorno seguro: el desarrollo en el cloud
te permite mantener una única fuente veraz
para tu repositorio. Si todos tus desarrolladores
utilizan Codespaces, esto elimina la necesidad
de clonar el repositorio localmente o de tener
que instalar dependencias localmente como raíz.
También existe una opción para configurar la
firma de GPG de las confirmaciones de Git desde
Codespaces como una capa adicional de prueba,
en la que se mencione qué desarrollador realizó
el cambio.
DOCU-
MENTACIÓN
GitHub Codespaces
Contenedores de desarrollo
en Codespaces
Figura 2.1: Experiencia del navegador para Codespaces
Uso de GitHub Codespaces
en Visual Studio Code
La guía de Azure para 43
desarrolladores
Usa tu lenguaje instalación de las extensiones necesarias para cualquier
servicio de Azure que utilices. Aprovechando tus
de programación conocimientos de .NET y Azure, puedes empezar
a escribir código que aloje tu aplicación en Azure y
preferido consuma otros servicios en el cloud de tu aplicación, e
incluso usar las arquitecturas modernas sin servidor para
aumentar la resiliencia y la escalabilidad de tu aplicación.
Los desarrolladores usan las herramientas, lenguajes DOCU-
y plataformas de su elección, y Azure admite un amplio MENTACIÓN
conjunto de opciones de desarrollo. Desde .NET a Java, Servicios principales de Azure
para desarrolladores de .NET
JavaScript, Python, etc.: puedes desarrollar usando tu
conjunto de opciones y tienes la flexibilidad de usar
diferentes lenguajes y plataformas. Azure permite Configurar Visual Studio para el
ejecutar fácilmente las aplicaciones escritas en estos desarrollo de Azure con .NET
lenguajes.
Configurar Visual Studio Code
para el desarrollo de Azure
con .NET
.NET y Azure
Lista de comprobación de
Si tu pila de desarrollo preferida es .NET, la familia de configuración del desarrollo
IDE de Visual Studio y GitHub cubre estas necesidades. de .NET en Azure
Se use lo que se use, desde .NET Core hasta versiones
.NET Framework heredadas (4.x) y revisiones más
recientes como .NET 5 y 6, todos los editores ofrecen
compatibilidad de primera clase con distintas JavaScript, Python y Java en Azure
instalaciones de los SDK. IntelliSense, la administración
de paquetes y las integraciones con servicios locales Los desarrolladores de JavaScript, [Link], Python
y basados en el cloud funcionan “out of the box”. y Java también tienen todo lo que necesitan para
obtener buenos resultados en Azure. Visual Studio
En cuanto a la compatibilidad con Azure, la familia de y GitHub ofrecen un amplio soporte para el desarrollo,
Visual Studio ofrece la mejor experiencia de su clase la creación e implementación de aplicaciones escritas
al desarrollar para destinos como Azure App Service, en estos lenguajes y plataformas. Solo tienes que
Cognitive Services, Blob Storage, Event Hubs y Event instalar el entorno de ejecución que prefieras y las
Grid, Cosmos DB y otros. Esta experiencia también extensiones correspondientes, y podrás empezar
está disponible en GitHub Codespaces mediante la a programar inmediatamente.
La guía de Azure para 44
desarrolladores
Desde entornos de ejecución de Java hasta diferentes Las herramientas de línea de comandos también están
versiones de [Link] o Python, puedes estar seguro disponibles para administrar servicios y aplicaciones de
de que tu experiencia de desarrollo será coherente Azure mediante scripts. La CLI de Azure es un conjunto de
con Visual Studio, GitHub y Azure. Azure App Service comandos que se utiliza para crear y administrar servicios
(aplicaciones web y de funciones) ofrece compatibilidad de Azure que son compatibles con Windows, MacOS
con aplicaciones escritas en cualquier lenguaje de y Linux. Asimismo, Azure PowerShell es un conjunto de
programación, incluidos los contenedores Docker. cmdlets que te permite administrar los recursos de Azure
desde la línea de comandos de PowerShell.
Para los desarrolladores de Java, Azure App Service
ofrece Java 11 en Linux y Windows, lo que les permite Independientemente de la plataforma de desarrollo o el
ejecutar archivos JAR o incluso archivos WAR a través objetivo de implementación, Microsoft ofrece una amplia
de Apache Tomcat v8.5 y v9.0 alojados en App Service. oferta de herramientas de desarrollo y servicios en el cloud
Los servicios de Linux también admiten las dos últimas para satisfacer tus necesidades. Desde Visual Studio 2022
versiones de LTS de Java, mientras que los servicios de hasta Visual Studio Code o GitHub Codespaces, hay un IDE
Windows admiten las tres últimas versiones de LTS.
que asumirá el desafío y te permitirá ser productivo.
La compatibilidad con Python está disponible para El ciclo de vida de desarrollo de software también está
2.7, 3.6 y 3.7 en App Service, lo que ofrece a los
completamente cubierto con las ofertas de plataforma
desarrolladores la flexibilidad de implementar sus
de GitHub y Azure DevOps. Realizar un seguimiento
aplicaciones mediante un entorno de ejecución
de tu trabajo, compilar e implementar el código,
específico. También se admite la ejecución de
aplicaciones con Gunicorn y el hosting de aplicaciones realizar pruebas y administrar los artefactos son tareas
fáciles de realizar. Con GitHub, las características de
escritas en plataformas WSGI como Django y Flask.
DevSecOps integradas como Dependabot y GitHub
Advanced Security te permiten descansar tranquilo
DOCU- sabiendo que siempre se buscarán las vulnerabilidades.
MENTACIÓN
Azure App Service:
compatibilidad con [Link], Con Microsoft Azure, dispones de un mundo de
Python y Java servicios en el cloud al alcance de tu mano. La
compatibilidad con entornos de ejecución de lenguajes
como Java, Python y [Link], además de .NET, amplía
las posibilidades de lo que se puede crear en Azure, así
SDK y herramientas de línea de comandos
como de dónde se implementa el código. Ya sea desde
Azure incluye una colección de SDK para .NET, Node.
el IDE o la línea de comandos, interactuar con Azure
js, Python, Java, etc. Estos se basan en un núcleo
como parte del ciclo de desarrollo es fácil para todos.
común para facilitar el uso de los servicios de Azure,
con un enfoque en la coherencia, la familiaridad
En el capítulo 3, Aplicaciones nativas del cloud,
y la idiomaticidad del lenguaje.
explicaremos el desarrollo de aplicaciones nativas del
cloud y veremos también los patrones, componentes
y metodologías arquitectónicos principales para crear
aplicaciones que aprovechen todo el potencial del cloud.
La guía de Azure para 45
desarrolladores
03 /
Aplicaciones
nativas del cloud
La guía de Azure para 46
desarrolladores
¿Qué significa El ciclo de vida de desarrollo de software cambia
constantemente, acercando los bucles de retroalimentación
“nativo del a los desarrolladores y validando la funcionalidad
muy rápidamente. Mientras esta tendencia continúe,
cloud”? deberás ser más rápido, más inteligente y más flexible.
Los desarrolladores quieren pasar de la concepción a la
ejecución de código en el cloud sin problemas. Microsoft
combina las herramientas de desarrollo con Azure para
Casi cualquier aplicación puede ejecutarse en el crear un bucle interno muy eficiente para el desarrollo
cloud de una u otra manera. Incluso para aplicaciones nativo del cloud. Esta combinación proporciona todo lo
heredadas, puedes utilizar máquinas virtuales y hacer que necesitas como desarrollador, desde administración
que se ejecuten en el cloud. Pero para aprovechar de código fuente, editores e IDE, e infraestructura como
al máximo lo que ofrece el cloud, necesitarás que código hasta registros de contenedores y cadenas de
las aplicaciones sean nativas del cloud. El diseño de herramientas de integración/implementación continua
aplicaciones para el cloud te permite aprovechar al (CI/CD), todo diseñado para funcionar conjuntamente.
máximo lo que ofrece el cloud y beneficiarte de las Tanto si deseas implementar rápidamente código de Visual
últimas innovaciones en el cloud público. Studio o Visual Studio Code como usar una canalización
de CI/CD desde GitHub o Azure DevOps, el proceso es
Al realizar la transición al cloud, tienes muchas rápido y sencillo. Puedes implementar rápidamente tu
opciones. Si la decisión es cambiar de plataforma, código y probar nuevas funcionalidades y características
refactorizar, rediseñar o incluso reescribir la aplicación en Microsoft Azure.
para aprovechar plenamente la escalabilidad y
elasticidad de los servicios en el cloud, Azure puede
ayudarte. Para que las aplicaciones nativas del cloud NOTA
sean inteligentes, se puede usar la inteligencia artificial El “desplazamiento a la
izquierda” es una práctica de
para proporcionar conocimientos avanzados. Ser
desarrollo de software en la
nativo del cloud también significa adoptar una huella que los equipos se centran en
global potencial y ajustar los distintos microservicios aumentar la calidad realizando
pruebas en las fases iniciales e
o servicios en el cloud para obtener un rendimiento
implementando con más frecuencia.
óptimo en condiciones de carga.
La velocidad de desarrollo no es el único desafío; también
quieres que tus aplicaciones sean resilientes y escalables.
La alta disponibilidad y el tiempo de actividad son muy
importantes en la era de la tecnología digital. Si una
aplicación no está disponible, los clientes perderán
rápidamente interés y acudirán a un competidor cuya
aplicación sea más fiable.
La guía de Azure para 47
desarrolladores
Durante los últimos años, seguro que has visto numerosos
casos de filtraciones de datos y aplicaciones atacadas que
exponen información confidencial. A medida que más
empresas adoptan la transformación digital, la resiliencia
y la seguridad de la infraestructura y los datos de las
aplicaciones son cada vez más importantes. Microsoft
Azure ofrece herramientas integradas que pueden
ayudarte a crear aplicaciones distribuidas geográfica de
alta disponibilidad, junto con protección inteligente contra
amenazas en tiempo real. Con servicios escalables, puedes
crear aplicaciones que puedan soportar la alta demanda
y conseguir ahorrar al mismo tiempo.
Con los patrones de diseños nativos del cloud, puedes
conseguir la agilidad, fiabilidad, escalabilidad y seguridad
que exige tu nueva generación de aplicaciones.
El desarrollo con servicios administrados en mente
elimina las conjeturas de la capa de infraestructura y
permite a los desarrolladores centrarse en lo que de
verdad importa: resolver los problemas empresariales
mediante la producción de aplicaciones de primer nivel.
INICIO
RÁPIDO
Crear aplicaciones nativas
del cloud en Azure
La guía de Azure para 48
desarrolladores
Componentes Si no tienes tales restricciones, puedes optimizar
la arquitectura de productividad del desarrollador.
nativos del cloud A continuación, puedes crear microservicios mediante
funciones controladas por eventos sin tener que
preocuparte por los servidores, lo que te permite
centrarte en el código en lugar de en la infraestructura.
Con un enfoque nativo del cloud, los desarrolladores
de aplicaciones pueden superar los desafíos a los que Cuando las aplicaciones se crean como microservicios,
se enfrentan todos los días en torno a la agilidad, la la velocidad de lanzamiento puede aumentar, porque
fiabilidad y la seguridad. No todas las aplicaciones son es más fácil realizar cambios en cualquier componente.
iguales y, en algunos casos, es importante priorizar Los microservicios hacen que las aplicaciones sean
algunas características sobre otras. Independientemente más fáciles de escalar y más rápidas de desarrollar,
de la necesidad, sin embargo, hay varios componentes lo que permite la innovación y acelera el tiempo de
básicos de las aplicaciones nativas del cloud, que son: comercialización. Estos microservicios se pueden
entregar como contenedores, que empaquetan
• Microservicios
el código y las dependencias de la aplicación para
• Contenedores aumentar la portabilidad, o como funciones, que
• Funciones ofrecen una experiencia de procesamiento previa
• API petición basada en eventos que se amplía con
• DevOps funciones para implementar el código desencadenado
por los eventos. A menudo, estos microservicios se
Una arquitectura nativa del cloud se puede implementar exponen como API ligeras y se distribuyen mediante
de dos maneras diferentes: optimizando el control de procesos y herramientas de DevOps para automatizar
la infraestructura u optimizando la productividad del la compilación, las pruebas y la entrega (consulta el
desarrollador. capítulo 1, Introducción a la plataforma de aplicaciones
de Azure, y el capítulo 2, Herramientas de desarrollo
El control de infraestructura proporciona control sobre y cloud para desarrolladores).
lo que estás ejecutando, dónde lo estás ejecutando
y cómo se ejecuta. Cuando se tienen requisitos como INICIO
la necesidad de utilizar una base de código heredado RÁPIDO
o bibliotecas personalizadas que requieren acceso en Centro de arquitectura de Azure:
patrones de diseño del cloud
tiempo de ejecución, querrás optimizar el control de la
infraestructura y utilizar contenedores con Kubernetes
para orquestarlos.
La guía de Azure para 49
desarrolladores
Kubernetes Azure Kubernetes Service
en Azure
Como pilar central de las prácticas nativas del cloud,
AKS es un servicio de Kubernetes administrado de nivel
empresarial. Dado que se trata de un sistema totalmente
administrado, Azure se encarga de tareas críticas como la
supervisión del estado y el mantenimiento, mientras que
Un patrón común de las aplicaciones modernas es
los desarrolladores pueden centrarse en el código.
ejecutar microservicios alojados en contenedores.
Los contenedores son paquetes de software ligeros,
AKS tiene prácticas recomendadas integradas, como
independientes y ejecutables que incluyen todo lo
las notificaciones de Azure Advisor, para ayudarte a
necesario para ejecutar una aplicación: código, entorno
optimizar tus implementaciones de Kubernetes con
de ejecución, herramientas del sistema, bibliotecas del
recomendaciones personalizadas en tiempo real.
sistema y configuración. Cuenta con seguridad de varias capas en los sistemas
operativos, recursos de computación, datos, redes
Microsoft Azure ofrece muchas opciones para ejecutar con configuración coherente, identidad, integración
contenedores. Una de ellas es Kubernetes, también de secretos con Azure Key Vault y administración de
conocido como K8s, un orquestador de código abierto políticas. Además, AKS aumenta la eficiencia operativa
que te permite automatizar la implementación, gracias a su compatibilidad con actualizaciones
el escalado y la administración de aplicaciones en automáticas de clústeres y la capacidad de programar
contenedores. las operaciones de mantenimiento del servicio en las
horas de menos actividad.
Cuando se ejecuta Kubernetes en Azure, se puede
elegir entre varias opciones, incluidas las siguientes: AKS permite implementar fácilmente un clúster de
Kubernetes administrado en Azure, ya que reduce la
• Azure Kubernetes Service (AKS) complejidad y la sobrecarga operativa de administrar
un clúster de Kubernetes al delegar gran parte de esa
• Azure Red Hat OpenShift
responsabilidad en Azure. Al implementar un clúster de
• Kubernetes habilitado para Arc AKS, los nodos del plano de administración y del plano
• Servicios de aplicaciones encima de Kubernetes de control y los nodos de trabajo de Kubernetes se
implementan y configuran automáticamente.
Echemos un vistazo a cada una de estas opciones
y veamos sus ventajas.
INICIO
RÁPIDO
Implementar un clúster AKS
mediante la CLI de Azure
Kubernetes en Azure
La guía de Azure para 50
desarrolladores
Azure Red Hat OpenShift proporciona CI/CD
Azure Red Hat OpenShift de serie. Puedes crear compilaciones, pruebas e
Red Hat OpenShift es una plataforma empresarial implementaciones automatizadas de aplicaciones
de contenedores Kubernetes creada por Red Hat. mediante OpenShift Pipelines, un sistema de
El enfoque de OpenShift consiste en elegir una CI/CD sin servidor diseñado para crear y escalar una
plataforma para tus aplicaciones actuales mediante canalización mediante Acciones de GitHub o mediante
la automatización de procesos y la reducción de la canalizaciones existentes.
complejidad, lo que le permite distribuirlas rápidamente
sin obstáculos. Cuando se ejecuta Kubernetes en INICIO
producción, a menudo es necesario añadir servicios RÁPIDO
adicionales para obtener funciones básicas como la Azure Red Hat OpenShift
autenticación, el registro y CI/CD. Son componentes
independientes que debes integrar, administrar y
mantener actualizados por tu cuenta. Además, cuando
se utilizan nuevas características para crear aplicaciones Kubernetes habilitado para Arc
modernas como informática sin servidor y Service Mesh,
se requiere más integración y más pruebas. Con Kubernetes habilitado para Azure Arc, puedes
asociar y configurar clústeres de Kubernetes ubicados
Azure Red Hat OpenShift permite a los desarrolladores dentro o fuera de Azure y llevar las operaciones al cloud
centrarse en lo importante. Puedes aprovechar la interfaz en cualquier lugar.
de usuario mejorada para la topología de aplicaciones
y las compilaciones en la consola web. Te permite crear, Azure Arc puede administrar aplicaciones que se ejecutan
implementar, configurar y visualizar aplicaciones en en Kubernetes a escala mediante técnicas avanzadas
contenedores y recursos de clúster con más facilidad. de DevOps como GitOps. Proporciona un panel único
con visibilidad central a través del portal de Azure, y el
Puedes traer el código de tu repositorio Git o una gobierno y el cumplimiento de tus aplicaciones y clústeres
imagen de contenedor existente y compilarla mediante de Kubernetes a través de Azure Policy.
compilaciones de origen a imagen (S2I) o implementar
soluciones del catálogo de desarrolladores, como
OpenShift Service Mesh, OpenShift Serverless o Knative. NOTA
GitOps es una forma de operar
la infraestructura en entrega
continua mediante el uso de
TUTORIAL herramientas con las que
los desarrolladores ya están
Crear un clúster de Azure Red familiarizados, como las
Hat OpenShift 4 herramientas de Git y CI/CD.
Implementar una aplicación desde
INICIO
el origen en Azure Red Hat
RÁPIDO
OpenShift
Kubernetes habilitado
para Azure Arc
La guía de Azure para 51
desarrolladores
Servicios de aplicaciones encima Si el proyecto requiere tener más control sobre la
de Kubernetes infraestructura (como ejecutar on-premises, en el
perímetro o en un cloud diferente), esto se puede
Los desarrolladores han utilizado los servicios de lograr con Azure Arc. Cualquier clúster de Kubernetes
la plataforma de aplicaciones de Azure durante los conectado a través de Azure Arc es un destino de
últimos años para desarrollar aplicaciones modernas. Azure App Service admitido. Gracias a Azure Arc y a los
Estos servicios expresamente diseñados permiten a los servicios de aplicaciones portátiles, podemos ejecutar
desarrolladores y los equipos de operaciones centrarse el mismo código en cualquier lugar y crear aplicaciones
en los requisitos del negocio y no tener que emplear híbridas y multicloud.
recursos adicionales en administrar la infraestructura
que hay detrás de estos servicios. Para permitir a Puedes desarrollar e innovar más rápido con la
los desarrolladores de aplicaciones on-premises suite de servicios de aplicaciones de Azure, ya que
experimentar ese mismo aumento de productividad, incluye características y opciones optimizadas para la
Microsoft ha habilitado Kubernetes como destino para productividad del desarrollador. Las funciones como
ejecutar muchos servicios de la plataforma Azure, las ranuras de implementación, las implementaciones
administrados a través de Azure Arc. Los servicios blue-green, las consolas web, el editor de App Service
de la plataforma compatibles son: y los extensos registros, entre otras, pueden hacer
• App Service tu vida un poco más fácil.
• Functions
INICIO
• Logic Apps RÁPIDO
Configurar un clúster de
• Event Grid
Kubernetes habilitado para Azure
• API Management Arc para ejecutar App Service,
Functions y Logic Apps
La guía de Azure para 52
desarrolladores
Servicios sin De esta manera, Azure Functions proporciona mayor
agilidad, resistencia y escalabilidad.
servidor en Azure Incluye compatibilidad con varios lenguajes e
integración con otros servicios como Azure Key Vault
y Azure DevOps, y proporciona opciones de hosting
Los servicios sin servidor son una forma de alojar tus flexibles para admitir cargas de trabajo empresariales
aplicaciones en el cloud y, al mismo tiempo, abstraer críticas. Todo esto está integrado con herramientas
completamente la infraestructura subyacente. Se de desarrollo: Visual Studio Code, Visual Studio y otros
trata de aumentar la productividad centrándote en el editores como IntelliJ o Eclipse.
código que alimenta tu aplicación sin preocuparse de
la infraestructura. Publica el código en Azure y Azure
DOC
se encargará de escalar, operar y proteger el código
de la aplicación subyacente. Introducción a Azure Functions
Microsoft Azure ofrece varios servicios sin servidor,
incluidos los siguientes:
Servicios sin servidor en Azure
• Azure Functions
• Azure Logic Apps
• Azure Static Web Apps
• Azure Event Grid
Azure Logic Apps
Echemos un vistazo más de cerca a estas opciones Azure Logic Apps es una plataforma basada en el cloud
y veamos cuáles son sus ventajas. para crear y ejecutar flujos de trabajo automatizados
para aplicaciones, datos, servicios y sistemas back-end
integrados con una biblioteca de más de 450 conectores.
Azure Functions
Azure Functions es una solución sin servidor de Azure Puedes desarrollar rápidamente soluciones de integración
que te permite centrarte en el código que más te altamente escalables, lo que te permite conectarte
interesa mientras Azure Functions se encarga del resto. fácilmente a cualquier sistema u origen de datos.
Azure Functions simplifica la programación basada en INICIO
eventos con escalado automático de vanguardia, así RÁPIDO
Crear flujos de trabajo de
como desencadenadores y enlaces para integrarlos con integración con Azure Logic
otros servicios de Azure. Puedes ejecutar un fragmento Apps en el portal de Azure
de código en respuesta a un evento y escalar sin tener
que preocuparte por la infraestructura.
La guía de Azure para 53
desarrolladores
Azure Static Web Apps Azure Event Grid
Con Azure Static Web Apps, dispones de flexibilidad Azure Event Grid simplifica las aplicaciones basadas
para implementar archivos estáticos HTML, JavaScript en eventos con un único servicio para administrar
y CSS desde un repositorio GitHub u otro origen en un el enrutamiento de eventos desde cualquier origen
sitio web administrado alojado en Azure. Existe un nivel a cualquier destino.
gratuito para necesidades básicas o no comerciales y un
nivel estándar para necesidades más adecuadas para Puedes crear fácilmente aplicaciones usando una
producción. Se incluyen certificados SSL, además de al arquitectura basada en eventos suscribiéndote a un
menos dos dominios personalizados y al menos tres origen y definiendo controladores de eventos o puntos
entornos de ensayo. de conexión de Webhook a los que puedes enviar
eventos de dominio. Event Grid tiene compatibilidad
INICIO integrada con eventos procedentes de los servicios
RÁPIDO de Azure, pero también admite tus propios eventos
Crear tu primer sitio estático a través de temas personalizados.
con Azure Static Web Apps
INICIO
RÁPIDO
Instalar la extensión Event Grid
en el clúster de Kubernetes
habilitado para Azure Arc
La guía de Azure para 54
desarrolladores
Aplicaciones DOCU-
MENTACIÓN
Echa un vistazo a los
nativas del cloud productos y proyectos de
código abierto destacados
y código abierto Blazor | Crear aplicaciones
web cliente con C# | .NET
Se puede decir que las aplicaciones nativas del cloud
Open Service Mesh
y el código abierto tienen una relación simbiótica.
Las aplicaciones nativas del cloud se crean sobre
tecnologías de código abierto siempre que es posible,
centrándose en la modularidad arquitectónica y ANUNCIO
permitiendo que sean independientes de la plataforma. Obtén flexibilidad para ejecutar
aplicaciones de código abierto
“Nativo del cloud” significa flexibilidad de los destinos
a tu manera con Microsoft Azure
de implementación. Microsoft invierte en software de
código abierto de varias maneras con el fin de ayudar
a los usuarios de Azure a crear las mejores soluciones
posibles. Hay varias áreas de inversión: Información general sobre
• Garantizar que las tecnologías de código abierto el código abierto en Azure
funcionen bien en Azure
El código abierto ha cambiado por completo el desarrollo
• Comunidades de código abierto (Apache, Linux,
.NET Foundation) de software. Con el aumento de la adopción de código
• Herramientas e integraciones para ayudar con abierto, este debe funcionar sin problemas en Azure.
las implementaciones de Azure
• DAPR: Distributed Application Runtime, una Más de la mitad de todos los núcleos de Azure ejecutan
plataforma ligera para crear aplicaciones Linux, y Microsoft ha invertido mucho en mejorar
distribuidas modernas su rendimiento, fiabilidad, seguridad y resiliencia.
Azure te proporciona bases de datos de software de
Con más compromisos para respaldar la funcionalidad código abierto administradas de nivel empresarial
de código abierto en Azure, así como la aparición de como MySQL y MariaDB, sistemas operativos Linux,
entornos de ejecución más modernos para aplicaciones análisis y servicios de machine learning para incorporar
basadas en servicios como DAPR, las tecnologías de la inteligencia artificial en tu aplicación.
código abierto son un componente esencial para las
personas y organizaciones que quieren crear soluciones
que se ejecuten en Azure.
La guía de Azure para 55
desarrolladores
• NET Framework: es una plataforma de desarrollo
Las contribuciones de Microsoft abarcan varias
multiplataforma y de código abierto. Puedes
áreas: Linux, el ecosistema Kubernetes con proyectos
desarrollar muchos tipos de aplicaciones con .NET,
como DAPR u Open Service Mesh, lenguajes de
en todos los sistemas operativos y en cualquier
programación, plataformas web y tecnologías como
dispositivo. También puedes elegir entre lenguajes
.NET, [Link], Python y PHP, entre otras.
orientados a objetos como Visual Basic y C# o
incluir programación funcional con F#. También
DOC proporciona compatibilidad administrada con C++.
Con .NET, puedes crear una sola vez y ejecutar
Código abierto en Azure
en cualquier lugar. El ecosistema de código
abierto .NET recibe respaldo directo de .NET
Foundation, una organización sin ánimo de lucro
dedicada a fomentar una comunidad innovadora
y comercialmente viable en torno a .NET.
Proyectos en el cloud de
código abierto
INICIO
Los tres proyectos de código abierto orientados al RÁPIDO
cloud en los que Microsoft participa son los siguientes: ¿Qué es Kubernetes?
• Kubernetes: Microsoft trabaja estrechamente
en el proyecto Kubernetes, compartiendo
conocimientos, contribuyendo y dando Microsoft Build of OpenJDK™
forma a su futuro. Microsoft es ahora el tercer
colaborador corporativo principal y trabaja
para hacer que Kubernetes sea más fácil de
.NET Framework
usar y accesible para la empresa.
• Java: Microsoft participa y contribuye a la
comunidad de Java. Build of OpenJDK de
.NET Foundation
Microsoft es una distribución con compatibilidad
a largo plazo (LTS) de OpenJDK que es de código
abierto y gratuita para que cualquier persona
pueda implementarla en cualquier lugar. Esto te
permite centrarte en desarrollar aplicaciones Java
y aportar valor sin preocuparte por los requisitos
o los costes de licencia.
La guía de Azure para 56
desarrolladores
Flexibilidad de opciones Entorno de ejecución de
para herramientas, lenguajes aplicaciones distribuidas: DAPR
e integraciones Los microservicios sin estado son un patrón común para
el diseño de aplicaciones modernas nativas del cloud
Azure te permite crear y ejecutar tus aplicaciones como y DAPR puede ayudarle a acelerar el desarrollo.
tú quieras, en cualquier entorno, con compatibilidad
integrada con herramientas, lenguajes y plataformas DAPR es un proyecto de código abierto cuyo
de código abierto. Puedes desarrollar tus aplicaciones objetivo es simplificar la creación de microservicios
utilizando tus herramientas, lenguajes e integración proporcionando componentes principales que se
de terceros favoritos. Además, puedes implementar abstraen de los desafíos comunes de las aplicaciones
contenedores basados en Docker que ejecuten distribuidas como la invocación de servicio a servicio,
cualquier aplicación en Azure App Services, scripts las solicitudes HTTP y gRPC, la administración de
de PowerShell en Azure Functions, sitios web estáticos secretos y estado, y los enlaces de entrada y salida.
y muchos más. Proporciona compatibilidad con varios lenguajes de
programación, como .NET, Java, Python o Go. Las
Con AKS, puedes ejecutar prácticamente cualquier aplicaciones DAPR se pueden ejecutar on-premises,
código instalando cualquier biblioteca o entorno de en cualquier cloud o en un dispositivo perimetral sin
ejecución. Aún más servicios administrados como Azure tener que cambiar una sola línea de código.
Functions proporcionan compatibilidad con una amplia
variedad de lenguajes de programación. DAPR simplifica las aplicaciones distribuidas y actúa
como un pegamento que une la aplicación a las
También hay integraciones en Visual Studio y Visual prestaciones de la infraestructura.
Studio Code que te permiten implementar, probar
y ejecutar aplicaciones en el cloud. INICIO
RÁPIDO
Primeros pasos con Dapr
La guía de Azure para 57
desarrolladores
Cómo crear Aplicaciones críticas para el negocio
aplicaciones Hay varias cosas que debes tener en cuenta cuando
creas aplicaciones modernas críticas para el negocio:
nativas del cloud • Escalado para gestionar el aumento del tráfico
y las ráfagas
en Azure • Baja latencia para que los usuarios tengan la
misma experiencia en cualquier parte del mundo
• Alta disponibilidad para lograr el máximo tiempo
de actividad
En función de los requisitos del software que crees,
puede que tengas que utilizar diferentes enfoques En la figura 3.1 se muestra un ejemplo de diseño de
arquitectónicos para satisfacer las necesidades del aplicaciones modernas críticas para el negocio:
negocio. Microsoft Azure ofrece herramientas y
servicios que pueden adaptarse a cualquier escenario.
Algunos ejemplos de posibles escenarios son:
• Aplicaciones críticas para el negocio
• Aplicaciones basadas en API
• Procesamiento de datos en tiempo real
• Aplicaciones distribuidas geográficamente
Echemos un vistazo más de cerca a cada escenario
Figura 3.1: Diseño de aplicaciones críticas para el negocio en Azure
y veamos lo que requiere.
Puedes tener escalado elástico instantáneo que
controle el tráfico y los picos de ventas sin administrar
la infraestructura utilizando una serie de servicios,
como AKS. El acceso a los datos de baja latencia
desde cualquier parte del mundo para disfrutar de
experiencias de usuario rápidas y robustas se puede
lograr con Azure Cosmos DB. Por último, para lograr
una alta disponibilidad, puedes colocar servicios
en varios centros de datos y asegurarte de que tu
aplicación no tenga ningún tiempo de inactividad.
La guía de Azure para 58
desarrolladores
Aplicaciones basadas en API Procesamiento de datos
en tiempo real
Con un enfoque basado en API, el mayor desafío es
cómo proteger, gobernar y catalogar las API. Puedes El procesamiento de datos en tiempo real puede ser un
crear una puerta de enlace API y un portal para desafío cuando hay varios orígenes de datos en juego.
desarrolladores en cuestión de minutos y publicar Azure ofrece herramientas que pueden ayudar con la
API fácilmente para uso interno o externo. ingesta y de datos en tiempo real y las canalizaciones
de procesamiento, capaces de detectar y notificar
en cuestión de segundos.
Figura 3.2: Diseño basado en API en Azure
Este enfoque te permite gestionar fácilmente Figura 3.3: Diseño de procesamiento de datos en tiempo
real en Azure
cualquier cambio en el esquema de datos y adaptarte
rápidamente a los cambios rápidos. Puedes conectarte
a servicios back-end que se ejecuten en cualquier lugar De esta manera, cualquier cambio en los datos puede
y administrar, proteger y optimizar todas las API en un procesarse un momento después de producirse el
solo lugar independientemente de dónde se ejecuten. cambio. Con una puerta de enlace API segura, puedes
conectarte a servicios back-end que se ejecuten
en cualquier lugar. El aprovisionamiento elástico
de capacidad de computación, sin necesidad de
administrar la infraestructura, te permite centrarte
en los datos y ahorrar en el proceso.
La guía de Azure para 59
desarrolladores
La infraestructura de Microsoft Azure se compone
Aplicaciones distribuidas de más de 160 centros de datos en más de 60 regiones
geográficamente diferentes. Con servicios como Azure Front Door o
Traffic Manager, puedes crear aplicaciones distribuidas
El enfoque distribuido geográficamente tiene globalmente. De esta manera, puedes asegurarte de
dos objetivos principales: que las aplicaciones funcionen incluso si se produce
• Proporcionar una experiencia fluida a los un problema en uno de los centros de datos. Como
usuarios en cualquier parte del mundo. la aplicación se aloja en varias ubicaciones, se enruta
a la instancia más cercana, lo que proporciona una
• Proporcionar alta disponibilidad y máximo
latencia y un retraso mínimos.
tiempo de actividad.
En la figura 3.4 puedes ver una arquitectura posible La creación de aplicaciones nativas del cloud significa
aprovechar los servicios en el cloud expresamente
para una aplicación distribuida geográficamente.
diseñados para desarrollar más rápidamente,
AKS se coloca en varias regiones diferentes y el tráfico
implementar con más frecuencia, innovar y permitir
de red se controla con Traffic Manager para dirigir al
la escalabilidad. Microsoft Azure ofrece decenas de
usuario a la instancia de AKS más cercana disponible
servicios donde elegir para el diseño y la creación de
para completar la solicitud.
aplicaciones nativas del cloud. Estos servicios incluyen
compatibilidad con muchos lenguajes de programación,
plataformas y entornos de ejecución, y ofrecen
excelentes funciones de integración. También incluyen
características integradas robustas que pueden ayudarte
a supervisar, proteger y mejorar tus aplicaciones.
Ya sea en el cloud u on-premises, la administración de
infraestructura como AKS es más fácil que nunca con
Azure Arc. Y con los servicios habilitados para Azure Arc
como App Services, puedes implementar de forma segura
aplicaciones en clústeres locales para realizar pruebas,
sabiendo que funcionarán del mismo modo en el cloud.
Con inversiones en áreas clave de la comunidad de
código abierto, Microsoft continúa aprovechando
las ventajas del uso de soluciones de código abierto,
Figura 3.4: Diseño de aplicaciones distribuidas geográficamente especialmente con aplicaciones nativas del cloud.
en Azure
Desde compatibilidad con muchos lenguajes de
programación principales hasta contribuciones a la
comunidad, como DAPR, la oportunidad de adoptar
soluciones de código abierto en tu propia aplicación
nunca había sido tan clara.
La guía de Azure para 60
desarrolladores
Equipado con una biblioteca de patrones de diseño,
casos de negocio y medios para implementarlos, tu
proceso para diseñar y desarrollar una aplicación nativa
del cloud se mejora enormemente cuando se usa Azure.
Con plataformas de diseño como Cloud Adoption
Framework y el Marco de buena arquitectura, dispones
de sólidas directrices de eficacia probada sobre cómo
adoptar eficazmente tecnologías de cloud y desarrollar
aplicaciones centrándote en las características propias
del cloud.
Hay varias cosas que todas las aplicaciones tienen en
común, con el objetivo de los microservicios y nativos
del cloud de abstraer las complejidades de muchas
de ellas, como dónde se ejecuta la aplicación y qué
ejecuta. Componentes como la CPU, la memoria y la
conexión en red son algunos ejemplos, y gran parte
de este capítulo se ha centrado en ellos. Sin embargo,
hay un componente adicional que no hemos tratado.
¿Dónde almacenará tu aplicación sus datos?
En el siguiente capítulo, explicaremos los diversos
diseños y arquitecturas que se pueden utilizar para
el almacenamiento de datos y cómo se integra en el
patrimonio de datos de la empresa. Una vez almacenados
los datos de la aplicación, es un cometido de los científicos
e ingenieros de datos utilizar el machine learning y la
inteligencia artificial para detectar y transformar los datos
en conclusiones y puntos de decisión provechosos. Sin
embargo, almacenar los datos presenta muchas reservas,
como el cumplimiento, la seguridad y el equilibrio de
costes. Analizaremos todos estos temas a continuación.
La guía de Azure para 61
desarrolladores
04 /
Conectar
tu aplicación
con datos
La guía de Azure para 62
desarrolladores
Azure cubre
Azure simplifica la combinación y correlación de
soluciones de datos de distintos volúmenes, variedades
y velocidades, a la vez que proporciona un rendimiento,
tus necesidades seguridad y gobierno de primera clase “out of the box”.
Al abstraer la complejidad del patrimonio de datos, los
de datos
desarrolladores pueden centrarse en resolver problemas
empresariales y en aportar valor.
Como desarrollador o arquitecto, en algún momento ¿Qué puede hacer Azure
del proceso de diseño y creación de aplicaciones, se
por tus datos?
debe tomar una decisión sobre qué tipo de datos se
deben recopilar, junto con su formato y el lugar donde Al elegir soluciones de datos de Azure para almacenar o
se almacenarán. Además, se deben tener en cuenta procesar datos corporativos, las empresas obtienen acceso
parámetros clave importantes como los costes, el a servicios de plataforma como servicio (PaaS) totalmente
rendimiento, el crecimiento, la seguridad, el cumplimiento administrados que liberan tiempo y recursos valiosos,
y el ciclo de vida de los datos a la hora de determinar la que pueden dedicarse a nuevas formas de satisfacer las
solución de datos perfecta para el sistema. Al avanzar por necesidades de los usuarios de empresa y desbloquear
todas las opciones, ten en cuenta que es muy probable el conocimiento de los datos y las oportunidades de
que ninguna solución de datos pueda satisfacer las negocio. Al eliminar los componentes de administración
necesidades finales de los usuarios del sistema. de hardware y software, los arquitectos y desarrolladores
pueden centrarse en el diseño de soluciones empresariales
Los datos son un activo valioso y estratégico. Adoptar excepcionales centradas en datos.
un enfoque global y abrirse a nuevas ideas en torno
al almacenamiento y el procesamiento de datos puede Los desarrolladores pueden aprovecharse de innovaciones
dar lugar a oportunidades increíbles para llevar las punteras en el sector, como la seguridad integrada, con
aplicaciones a nuevas cotas y garantizar un patrimonio supervisión automática y detección de amenazas, ajustes
de datos estable y organizado. automáticos para un mejor rendimiento, y distribución
y replicación globales inmediatas. Además, todas las
inversiones en el cloud estarán protegida por acuerdos de
Tanto si la solución es una aplicación tradicional
nivel de servicio (SLA) con respaldo financiero.
basada en bases de datos relacionales, una solución de
análisis basado en streaming, un data mart o almacén
de datos como un centro de almacenamiento para Independientemente de lo que dicten las necesidades del
datos estructurados y no estructurados, datos de flujo negocio, las soluciones de datos de Azure ayudarán a que
lento o rápido, o datos pequeños o big data a través las aplicaciones lleguen a producción más rápidamente,
de arquitecturas Lambda o Kappa, Azure tiene una se escalen a gran escala y se administren fácilmente, todo
respuesta. ello mientras mantienen la seguridad y el cumplimiento
de las leyes y normativas. Y no solo eso; los servicios de
Azure, como el machine learning y la inteligencia artificial,
se han diseñado para integrarse fácilmente con solo unos
clics del ratón.
La guía de Azure para 63
desarrolladores
Asimismo, las soluciones de datos de Azure pueden
ayudar a resolver algunas de estas preguntas importantes:
¿Dónde debes almacenar
• ¿Qué datos tienes?
los datos?
• ¿Son fiables? Las opciones actuales de almacenamiento de datos son
• ¿Pueden las personas acceder a los datos numerosas. Elegir la adecuada para la aplicación de
necesarios para tomar las decisiones correctas? destino puede ser una tarea abrumadora incluso para
• ¿Cómo se pueden obtener conocimientos los desarrolladores y arquitectos que llevan trabajando
empresariales más rápido? desde que se crearon los sistemas tradicionales de
• ¿Cuál es la exposición al cumplimiento? administración de bases de datos relacionales (RDBMS).
Los problemas empresariales actuales suelen requerir
¿Por qué confiar tus datos a Azure? mucho más de lo que RDBMS puede proporcionar.
Abrirse paso por las soluciones potenciales para una
Independientemente del papel que desempeñes modernización nueva o potencial de una aplicación
en el ciclo de vida del patrimonio de datos, es es una competencia esencial para los desarrolladores
responsabilidad de todos ser conscientes de su y arquitectos.
seguridad e integridad. Cuando se trata de datos
en Azure, los principios de datos de confianza de Azure proporciona muchos tipos de almacenes de
Microsoft ponen el control en tus manos: datos con la flexibilidad de admitir cualquier escenario de
almacenamiento y procesamiento de datos en entornos
• Tú controlas tus datos.
on-premises, híbridos, en el cloud o en el perímetro. Para
• Tú eliges la ubicación de tus datos.
las tareas rápidas de creación de prototipos y pruebas
• Microsoft protege tus datos. de concepto, muchos de estos servicios tienen un nivel
• Microsoft defiende tus datos. o período de prueba de 30 días gratuito.
Por ejemplo, Azure permite elegir la ubicación de los A medida que avancemos por las distintas soluciones,
datos de varios de los mejores centros de datos de todo haremos referencia frecuentemente al Centro de
el mundo para satisfacer cualquier requisito normativo arquitectura de Azure, que proporciona arquitecturas
o de cumplimiento que las empresas deban cumplir.
de referencia útiles para ayudarte a visualizar posibles
soluciones de datos.
En cuanto a la seguridad, muchos servicios de Azure
admiten BYOK (Bring Your Own Key), que permite
cifrar los datos mediante claves de propiedad privada.
NOTA
Además, Microsoft defiende los datos almacenados
Puedes utilizar casi todas
en Azure de agentes malintencionados conocidos
las opciones de almacenamiento
mediante indicadores de compromiso (IoC) que se
mencionadas en esta sección
recopilan de un amplio conjunto de entradas de la API como activadores y enlaces
de Microsoft Graph Security. para Azure Functions.
Por último, Microsoft ha recibido el reconocimiento
de líder de Gartner durante los últimos siete años Examinemos ahora cada una de estas opciones de
consecutivos. almacenamiento.
La guía de Azure para 64
desarrolladores
Azure SQL Algunas otras características avanzadas incluyen:
• Replicación geográfica, basada en la tecnología
Database de grupo de disponibilidad Always On (AOAG), que
replica los datos en otras regiones geográficas en
tiempo real.
• Enmascaramiento dinámico de datos, que
Si el requisito es utilizar bases de datos relacionales enmascara dinámicamente los datos confidenciales
tradicionales con tablas, columnas y filas para para determinados usuarios en tiempo de ejecución.
almacenar datos, Azure SQL Database es una buena • Auditoría, que proporciona una auditoría completa
opción. Sin embargo, hay muchas otras opciones de de todas las acciones que se realizan en los datos.
código abierto que verás más adelante en este capítulo. • Ajuste automático de base de datos, que
supervisa el rendimiento de tu base de datos
y la ajusta de forma automática.
Azure SQL Database es un sistema de base de datos
relacional similar a Microsoft SQL Server on-premises. • Cifrado de datos transparente (TDE), que añade
una capa de seguridad para proteger los datos en
Azure SQL Database se ejecuta en el cloud, por lo que
reposo del acceso no autorizado o sin conexión.
está totalmente administrado, funciona a la perfección,
es escalable y permite realizar copias de seguridad • Always Encrypted, que permite a los
desarrolladores almacenar y consultar datos
automáticas, e incluye muchas otras características
cifrados dentro de la base de datos, y protege los
avanzadas, como computación sin servidor flexible y
datos confidenciales cifrándolos en el lado del
con gran capacidad de respuesta, así como hiperescala.
cliente, sin permitir en ningún caso que los datos
o las claves criptográficas aparezcan en texto sin
Las bases de datos de Azure SQL Database son formato dentro del motor de la base de datos.
extremadamente fiables y sólidas, y ofrecen un SLA
que garantiza un tiempo de actividad del 99,99 %.
Desde el punto de vista de los costes, ten en cuenta
Consigue más compatibilidad con
el hecho de que ejecutar cargas de trabajo de PaaS e
IaaS de SQL en Azure puede ser hasta un 86 % menos Azure SQL Managed Instance
caro que otras plataformas en el cloud, otro argumento
Al migrar bases de datos desde un origen, como una
convincente para usar Azure.
instancia basada en hardware on-premises o una
instancia virtualizada de SQL Server, la aplicación puede
Como Azure SQL Database se comunica a
estar utilizando características de SQL Server que puede
través del mismo protocolo que SQL Server,
que no estén disponibles en Azure SQL Database. En
las mismas herramientas conocidas que los
estos casos, se podría migrar a Azure SQL Managed
desarrolladores utilizaron anteriormente, como
Instance. Debido a su diseño, Azure SQL Managed
SQL Server Management Studio (SSMS), Azure Data
Instance proporciona muchas más características que
Studio y Visual Studio Code, seguirán funcionando sin
ofrecen paridad con SQL Server y, además, aportan las
problemas.
ventajas de un servicio totalmente administrado. Por
ejemplo, Azure SQL Managed Instances, a diferencia
de Azure SQL Database, admite características como
Linked Server y SQL Agent.
La guía de Azure para 65
desarrolladores
Azure Database Azure Database for MySQL
for MySQL, Azure Database for MySQL es un servicio de base de
datos relacional alimentado por el motor de base de
PostgreSQL
datos MySQL Community Edition. Se trata de una oferta
de base de datos como servicio totalmente administrada
que puede gestionar cargas de trabajo críticas con un
y MariaDB rendimiento predecible y escalabilidad dinámica.
Consulta Aplicaciones inteligentes que usan Azure
Database for MySQL para ver una arquitectura de
Además de Azure SQL Database, Azure proporciona referencia con Azure Database for MySQL.
soluciones de datos administradas para MySQL,
PostgreSQL y MariaDB. Al igual que con todos los
servicios PaaS de Azure, basta con crear una nueva
instancia y dedicarse a crear aplicaciones, no a la
infraestructura subyacente. Además, muchas de las
Azure Database for PostgreSQL
mismas características de la plataforma basadas en el Azure Database for PostgreSQL es una instancia de
cloud, como la escalabilidad y la seguridad de Azure base de datos totalmente administrada basada en la
SQL Database, también están disponibles en estas
versión de la comunidad del motor de base de datos
alternativas de código abierto.
PostgreSQL de código abierto. Azure Database for
PostgreSQL admite varias de las últimas versiones
Microsoft tiene el compromiso de hacer de Azure el principales de PostgreSQL e incluye muchas extensiones
mejor cloud para OSS reuniendo las innovaciones de
de PostgreSQL populares. Como servicio administrado,
la comunidad y Azure. Este compromiso es más visible
disfrutarás de optimización del rendimiento impulsado
con PostgreSQL, donde el equipo de ingeniería de
por IA y seguridad y cumplimiento de nivel empresarial,
Azure ha hecho múltiples contribuciones al proyecto
incluidas funciones de seguridad mejoradas con Azure
global de código abierto de PostgreSQL.
Defender. Al igual que otras ofertas de código abierto,
es escalable y ofrece flexibilidad y alta disponibilidad
Estas tres ofertas proporcionan las siguientes con un SLA de hasta el 99,99 %.
características:
• Alta disponibilidad integrada sin coste adicional Crea aplicaciones a cualquier escala con escalado
• Rendimiento predecible horizontal de alto rendimiento con Azure Database for
• Escalado según sea necesario en cuestión de PostgreSQL Hyperscale (Citus). La hiperescala admite
segundos bases de datos con tamaños de hasta 100 TB con copias
• Protección segura de los datos confidenciales en de seguridad y restauraciones rápidas, y funciones de
reposo y en movimiento escalado vertical y horizontal rápido. Utiliza PostgreSQL
• Copias de seguridad automáticas y restauración a Hyperscale habilitado para Azure Arc para ejecutarlo
un momento dado durante un máximo de 35 días en la infraestructura que prefieras, incluidas opciones
• Seguridad y cumplimiento de clase empresarial híbridas y multicloud, mientras te beneficias de las
• Compatibilidad con Python, PHP, [Link], Java, características del cloud de Azure.
Ruby, .NET, etc.
La guía de Azure para 66
desarrolladores
Consulta Aplicaciones inteligentes que usan Azure La opción de implementación de Azure Database for
Database for PostgreSQL para ver una arquitectura PostgreSQL Flexible Server proporciona la máxima
de referencia con Azure Database for PostgreSQL. flexibilidad y control con la posibilidad de elegir alta
disponibilidad en una única zona o con redundancia de
zona, con un SLA de hasta el 99,99 % y la capacidad de
Flexible Server usar períodos de mantenimiento personalizados para
el mantenimiento previsto de la base de datos. Disfruta
Azure Databases for MySQL y PostgreSQL admiten de una experiencia de implementación completa y
un nuevo modelo de implementación: Azure simplificada con un bajo coste de propiedad. Reduce
Database for MySQL Flexible Server y Azure el tiempo de comercialización gracias a una estrecha
Database for PostgreSQL Flexible Server. Flexible integración con Azure Kubernetes Service, Azure App
Server proporciona más opciones de configuración y Service, etc.
personalización como, por ejemplo, más compatibilidad
con las características de la plataforma y parámetros
de configuración adicionales para un ajuste preciso. Azure Database for MariaDB
En comparación con la opción de implementación
de un solo servidor, Flexible Server proporciona una Azure Database for MariaDB es un servicio de base
mejor optimización de costes con funciones de inicio- de datos relacional basado en el motor de servidor
parada e instancias en ráfaga. Las instancias en ráfagas de MariaDB de código abierto. Se trata de una oferta
son excelentes para escenarios en los que no se tienen de base de datos como servicio totalmente administrada
cargas de trabajo constantes o se necesita más potencia que puede gestionar cargas de trabajo críticas con un
de computación solo en las horas pico. rendimiento predecible y escalabilidad dinámica.
La guía de Azure para 67
desarrolladores
Servicios de datos Azure Arc organiza, gobierna y protege los clústeres de
Windows, Linux, SQL Server y Kubernetes en los centros
habilitados para de datos, los sistemas perimetrales y los entornos
multicloud directamente desde Azure, y los muestra
Azure Arc en el portal de Azure para obtener un único panel de
administración a través de muchas de las características
que ofrece Azure Resource Manager (ARM).
Respaldar las aplicaciones con soluciones de datos Los servicios de datos habilitados para Azure Arc
que residen on-premises o en otros proveedores de ofrecen las ventajas del cloud (como escalabilidad
cloud sin conectividad continua o directa de Azure y aprovisionamiento de autoservicio y administración
no tiene por qué ser difícil. Comienza tu viaje a Azure unificada) en entornos on-premises. También
explorando los servicios habilitados para Azure Arc. permiten estar siempre actualizados, ya que reciben
actualizaciones frecuentes.
Las empresas han hecho una gran inversión en el
entorno local y buscan una experiencia coherente Entre los servicios de base de datos actualmente
cuando incorporan el cloud y los sistemas perimetrales. habilitados por Azure Arc se incluyen Azure SQL
Muchas organizaciones están adoptando un enfoque (Azure SQL Managed Instance) y Azure Database for
híbrido en cuanto al cloud. PostgreSQL Hyperscale.
Microsoft se compromete a proporcionar una verdadera Consulta Administración e implementación
experiencia híbrida que sea fluida y permita el acceso a híbrida de Azure Arc para clústeres de Kubernetes
las últimas innovaciones, independientemente de dónde y Administración de configuraciones para servidores
residan los datos. Azure se ha creado para permitir habilitados para Azure Arc para ver arquitecturas de
funciones híbridas transparentes en lo que se respecta referencia que usan Azure Arc.
al desarrollo, la implementación y la administración en
servidores on-premises, clouds públicos y dispositivos
perimetrales. Azure Arc ahora permite que los servicios
de datos de Azure se ejecuten en cualquier lugar, en
cualquier infraestructura a través de clouds on-premises,
perimetrales y de terceros.
La guía de Azure para 68
desarrolladores
Azure Cosmos DB Además de todas estas características, Azure Cosmos
DB ofrece cinco niveles de coherencia de datos
que permiten el ajuste preciso del sistema de datos
distribuidos. Elige entre modelos que abarcan desde
Azure Cosmos DB es una base de datos NoSQL rápida coherencia fuerte hasta coherencia final.
y flexible diseñada para aplicaciones nativas del cloud
a cualquier escala. Entre sus características principales Con velocidad y flexibilidad, las aplicaciones de
se incluyen: cualquier tamaño o escala se beneficiarán de un
• Disponibilidad y velocidad garantizadas a cualquier rendimiento, elasticidad y fiabilidad superiores.
escala, con SLA del 99,999 % y latencia inferior
a 10 ms en operaciones de lectura y escritura. Consulta Creación de videojuegos con Cosmos DB
• API abiertas para datos de MongoDB, Cassandra y Aplicaciones distribuidas globalmente que utilizan
y Graph, y una API básica (SQL) con SDK para Cosmos DB para ver arquitecturas de referencia que
.NET, Java, [Link] y Python. usan Cosmos DB.
• Las opciones sin servidor y de escalado
automático se ajustan automáticamente de INICIO
acuerdo con los recursos demandados sin tener RÁPIDO
que planificar ni administrar la capacidad. Introducción a Azure Cosmos DB
• El nivel gratuito permite el desarrollo y las pruebas
de aplicaciones con operaciones de base de datos
gratuitas y almacenamiento durante el ciclo de
vida de la cuenta.
• Replicación geográfica, que distribuye los datos
a cualquier región de Azure globalmente en
tiempo real para aumentar la disponibilidad
y reducir la latencia.
• Indexación automática de datos y esquema
flexible, que simplifican la ingesta y la
distribución de datos.
• Análisis “out of the box” no ETL con Azure Synapse
Link, que permite realizar análisis avanzados de
datos operativos en tiempo real almacenados en
Azure Cosmos DB, sin que ello repercuta en el
rendimiento ni en el movimiento de datos.
La guía de Azure para 69
desarrolladores
Azure Storage Blob Storage
Azure Blob Storage almacena datos no estructurados
de gran tamaño, lo que se conoce como “blobs”
Azure Storage es uno de los servicios más eficaces de datos. Estos datos pueden ser archivos de vídeo,
y fiables de Azure. Azure Storage ofrece cinco imagen, audio o texto o incluso archivos de disco duro
tipos de almacenamiento que tienen las siguientes virtuales (VHD) para máquinas virtuales.
características comunes:
• Redundancia geográfica que replica los datos Hay tres tipos de blobs: blobs de página, blobs
en distintos centros de datos para que puedas de anexo y blobs en bloques:
recuperarlos si un centro de datos deja de • Los blobs de página están optimizados para
funcionar en caso de desastre las operaciones aleatorias de lectura y escritura
• Cifrado de datos en tiempo de ejecución y son perfectos para almacenar un VHD.
• Dominios personalizados • Los blobs en bloques están optimizados para
cargar eficientemente grandes cantidades de
Los cinco tipos de Azure Storage son Blob, Tabla, Cola,
datos. Son idóneos para almacenar archivos de
Archivos y Almacenamiento en disco (como se muestra
vídeo grandes que no cambian con frecuencia.
en la figura 4.1):
• Los blobs de anexo están optimizados
para las operaciones de anexado, como el
Echemos un vistazo más de cerca a cada tipo
almacenamiento de registros de operaciones
de almacenamiento y lo que ofrece.
que no se puedan actualizar o eliminar.
Figura 4.1: Tipos de almacenamiento de datos
La guía de Azure para 70
desarrolladores
INICIO
TUTORIAL
RÁPIDO
Introducción a Azure Blob Introducción a Azure Queue
Storage Storage
Almacenamiento de tablas Files
Azure Table Storage es un almacén de pares de Puedes usar Azure Files como una unidad desde la que
clave-valor NoSQL económico y extremadamente se comparten los archivos. Usa el protocolo de bloque de
rápido. Los almacenes de pares de clave-valor son muy mensaje de servidor (SMB), por lo que se puede utilizar
flexibles. Por ejemplo, una clave puede contener datos con Windows y Linux, y se puede tener acceso a él desde
que describan un pedido y otra clave que describa la el cloud o desde sistemas on-premises cuando hay una
información del cliente. Table Storage no tiene esquemas ruta directa a Azure disponible. Por diseño, los recursos
de datos definidos, por lo que es muy flexible. compartidos de SMB de Azure Files están bloqueados
desde Internet. Al igual que otros servicios de Azure
Storage, Azure Files es escalable y económico.
DOC
Introducción a Azure Table
Storage DOC
Introducción a Azure Files
Queue Storage
Azure Queue Storage es un tipo de almacenamiento Disk Storage
inusual. Aunque se utiliza para almacenar pequeños
mensajes de datos, su principal objetivo es servir como Azure Disk Storage es similar a File Storage, pero está
cola. Las colas se utilizan colocando mensajes en ellas pensado específicamente para un alto rendimiento
y permitiendo que otros procesos los recojan. Un patrón de E/S. Es perfecto para usarlo como unidad en una
de nivelación de carga basada en colas desvincula el máquina virtual que necesite alto rendimiento para
emisor del procesador de mensajes, con lo que se mejora ejecutar SQL Server, por ejemplo. Disk Storage está
el rendimiento y la fiabilidad. Queue Storage se encuentra disponible en el nivel de precios Premium de Azure
en versiones anteriores de Windows, como MSMQ. Storage.
La guía de Azure para 71
desarrolladores
Consulta Almacén de datos moderno para pequeñas
Azure Data Lake Storage y medianas empresas para ver una arquitectura de
Los almacenes de datos anteriores estaban diseñados referencia con Azure Data Lake Storage.
para el uso normal de las aplicaciones o para el uso
con máquinas virtuales. Azure Data Lake Store, sin INICIO
embargo, es un almacenamiento para aplicaciones RÁPIDO
de big data. Proporciona una funcionalidad de data Introducción a Azure Data Lake
lake segura y escalable de forma masiva basada Storage con el portal de Azure
en Azure Blob Storage. Se usa para almacenar
grandes cantidades de datos en su formato nativo:
estructurados, no estructurados y cualquier tipo
intermedio. La finalidad de Data Lake Storage es
almacenar los datos sin procesar para poder analizarlos, Alojamiento de sitios web
transformarlos y moverlos cuando sea necesario. estáticos en Azure Storage
Otra función interesante de Azure Storage es el
A continuación se indican las principales características
hosting de sitios web estáticos. Esta función de sitios
de Azure Data Lake Storage: web estáticos solo utiliza Blob Storage como almacén
• Capacidad de almacenamiento ilimitada. Un de datos, y puedes utilizarlo para alojar un sitio web
archivo puede tener más de un petabyte: 200 veces estático en Azure Storage. Todo lo que tienes que
más de lo que ofrecen otros proveedores de cloud. hacer es cargar los archivos del sitio web estático en
• Rendimiento escalable para permitir grandes Blob Storage e indicar qué archivo es el documento
cantidades de análisis en paralelo. predeterminado (como [Link]) y cuál es el de error
• Los datos se pueden almacenar en cualquier (como [Link]). El sitio web se ejecutará rápidamente
a un coste muy reducido: de hecho, solo pagarás por
formato sin un esquema.
el almacenamiento que uses, ya que la función de sitio
Este es un enfoque muy diferente al del almacén de web estático no tiene ningún coste adicional. Además,
datos tradicional, en el que los esquemas de datos se cuando utilizas la redundancia geográfica (habilitada de
definen de antemano. forma predeterminada), el sitio web estará listo incluso
aunque el centro de datos principal falle.
También es posible almacenar las cantidades
masivas de datos generados por los dispositivos del
Internet de las cosas (IoT) (que recopilan los datos de
temperatura, por ejemplo) en Data Lake Storage. Con
Azure Data Lake Storage, es posible filtrar los datos
y crear una vista de ellos con un gran nivel de detalle
temporal. Almacenar los datos en Data Lake Storage es
económico y permite almacenar datos de muchos años
a un coste muy bajo.
La guía de Azure para 72
desarrolladores
Soluciones de
análisis de datos
de Azure
Igual de importante como dónde y cómo almacena No importa lo grandes, pequeños o complejos que
puedan ser los datos: Azure tiene una solución que
los datos una aplicación es cómo se analizan los datos
para obtener conocimientos empresariales. Azure puede satisfacer cualquier requisito de análisis de datos.
proporciona soluciones de análisis a escala del cloud
que abarcan todos los escenarios de análisis de datos Como se muestra en la figura 4.2, Azure proporciona
principales y, en la mayoría de los casos, son más rápidas soluciones para la ingesta, el almacenamiento, la
y menos costosas que las de otros proveedores de cloud. operaciones, la preparación, la distribución y la
visualización. Cada una de ellas se tratará con más
Tanto si la solución requiere un movimiento y detalle desde el punto de vista de un desarrollador en las
transformaciones de datos sencillos como análisis en
tiempo real o análisis de big data basados en modelos siguientes secciones.
de IA y machine learning que requieren días, semanas
o meses de procesamiento, las soluciones de análisis Para ver más diagramas de arquitectura de soluciones
de datos de Azure permiten a las empresas obtener de datos, consulta el repositorio de arquitecturas de
conocimientos valiosos y procesables a partir de los datos
Azure.
para mejorar los resultados empresariales.
Figura 4.2: Diagrama de soluciones de Azure Data Analytics
La guía de Azure para 73
desarrolladores
• Con las canalizaciones puedes gestionar las
Azure Synapse Analytics transformaciones de datos y los flujos de datos,
y definir programas, entre otras cosas.
Azure Synapse Analytics (anteriormente, Azure SQL
• Reúne datos tanto relacionales como no
Data Warehouse) reúne el almacenamiento de datos
relacionales, como Cosmos DB y Azure Data
empresariales ilimitado y el análisis de big data, lo que
Lake Storage.
proporciona la libertad de consultar datos en función
de las necesidades del negocio, utilizando recursos sin • Realiza análisis interactivos, por lotes, de
servidor o dedicados, a escala. Azure Synapse Analytics streaming y predictivos con una experiencia
combina estas funcionalidades con una experiencia de T-SQL enriquecida.
unificada de ingesta, exploración, preparación, • Realiza análisis avanzados con Apache Spark
administración y servicio de datos para atender las mediante Python, Scala, R y .NET.
necesidades inmediatas de business intelligence • Aplica un grupo de Apache Spark y canalizaciones
y machine learning. de Synapse a Azure Synapse Analytics para
acceder a los datos y moverlos a escala.
Los ingenieros de datos pueden utilizar un entorno visual
• Integración profunda de Azure Machine
sin código unificado para administrar las canalizaciones
Learning, Azure Cognitive Services y Power BI.
de datos, y los analistas del negocio pueden acceder de
• Vincula áreas de trabajo de Power BI a áreas
forma segura a los conjuntos de datos y utilizar Power
de trabajo de Azure Synapse Analytics para
BI para crear paneles en cuestión de minutos.
poder consultar y registrar los datos mediante
la integración de Power BI.
Con Azure Synapse Analytics, es muy fácil habilitar
el BI y el machine learning. Está profundamente
integrado con Power BI y Azure Machine Learning, Consulta Análisis en tiempo real de la arquitectura
lo que permite ampliar considerablemente la detección de big data para ver una arquitectura de ejemplo
de conocimientos a partir de los datos y la aplicación que usa Azure Synapse Analytics.
de modelos de machine learning.
TUTORIAL
Azure Synapse Analytics ofrece una serie de ventajas.
Estas son algunas de ellas: Crear un área de trabajo
de Synapse
• La flexibilidad de elegir usar recursos sin servidor
o dedicados.
• Con servicios vinculados y los más de 95 INICIO
RÁPIDO
conectores nativos, puedes obtener datos de
Crear un grupo SQL de Azure
orígenes de datos independientemente de dónde Synapse Analytics
residan: en Azure, en otros clouds u on-premises.
La guía de Azure para 74
desarrolladores
Azure Data Factory Azure Synapse Link
Con Azure Data Factory puedes crear una canalización Azure Synapse Link es la solución preferida de
integral que realice todo el proceso de extracción, Microsoft para el análisis de datos de Cosmos DB.
transformación y carga (ETL).
Azure Synapse Link para Azure Cosmos DB es una
Data Factory puede ayudarte a trasladar los datos de capacidad de procesamiento analítico y transaccional
forma fiable de on-premises al cloud, dentro del cloud híbrido (HTAP) nativo del cloud que permite la ejecución
o a on-premises, con independencia de dónde se de análisis casi en tiempo real de datos operativos en
encuentren tus datos. Data Factory también ofrece un Azure Cosmos DB. Azure Synapse Link crea una perfecta
gran conjunto de conectores integrados que puedes integración entre Azure Cosmos DB y Azure Synapse
utilizar para conectarte fácilmente a distintas fuentes de Analytics.
datos, tales como SQL Server, Azure Cosmos DB, Oracle
y muchos más.
Azure Analysis Services
Cuando mueves datos, también puedes filtrarlos,
limpiarlos o transformarlos con una actividad en
Azure Analysis Services se usa para crear un modelo
la canalización, como una actividad de Apache
semántico de tus datos al que los usuarios pueden
Spark. Además, Data Factory te permite programar
obtener acceso directamente con herramientas de
y supervisar las canalizaciones, además de una forma
visualización como Power BI. Se trata de un servicio
de migrar mediante “lift and shift” tus paquetes de
en el cloud administrado: es escalable, los datos se
servicios de integración de SQL Server (SSIS) al cloud.
almacenan de forma redundante y, cuando no se usa,
se puede detener el servicio para minimizar costes.
Consulta ETL híbrido con Azure Data Factory para
ver una arquitectura de referencia que usa Azure Data
Con Azure Analysis Services, puedes proporcionar
Factory.
datos modelados directamente a los usuarios de
forma muy eficiente. Los usuarios pueden consultar
INICIO millones de registros en segundos, ya que el modelo
RÁPIDO reside completamente in-memory y se actualiza
Crear una fábrica de datos con
la interfaz de usuario de Azure periódicamente. Puedes obtener datos en el modelo
Data Factory semántico desde cualquier lugar y las fuentes de datos
pueden estar en el cloud u on-premises.
Consulta Business intelligence empresarial para ver una
arquitectura de referencia que usa Azure Analysis Services.
INICIO
RÁPIDO
Crear un servidor Azure Analysis
Services con el portal de Azure
La guía de Azure para 75
desarrolladores
datos, Stream Analytics puede producir el resultado de
Azure Data Lake Analytics forma nativa en muchos servicios de Azure, incluidos
Otro servicio de Azure para realizar tareas de análisis de Azure SQL Database, Azure Storage y Azure Event Hubs.
datos es Azure Data Lake Analytics. Con este servicio,
puedes analizar, procesar y transformar cantidades Consulta Procesamiento de streaming con Azure
potencialmente masivas de datos de Azure Storage y Stream Analytics para ver una arquitectura de
Azure Data Lake Storage. referencia que usa Azure Stream Analytics.
Azure Data Lake Analytics te permite crear y enviar INICIO
tareas que consultan datos, los analizan o los RÁPIDO
transforman. Puedes escribir estas tareas en U-SQL, Crear una tarea de Stream
que es un lenguaje tipo SQL, y expandir U-SQL con Analytics con el portal de Azure
Microsoft R y Python.
Solo pagas por las tareas que envías y ejecutas, y el
servicio se escala de forma automática dependiendo Azure Time Series Insights
de la capacidad que requieran las tareas. Por lo general,
Azure Data Lake Analytics se utiliza para tareas de Puedes utilizar Azure Time Series Insights para obtener
análisis de largo plazo en grandes cantidades de datos. información rápida sobre grandes cantidades de datos,
típicas del IoT. Este servicio obtiene datos desde Azure Event
Hubs, IoT Hub y entradas de referencia personalizadas,
Consulta Ciencia de datos escalable con Azure Data
y conserva dichos datos durante un tiempo determinado.
Lake: un tutorial completo para ver un ejemplo de
cómo usar Azure Data Lake Analytics.
Con Azure Time Series Insights, los usuarios pueden
consultar y analizar datos mediante la herramienta de
TUTORIAL visualización en cuanto llegan. Time Series Insights no
solo analiza los datos: también los adquiere y conserva
Crear tu primer script U-SQL con por un tiempo. Time Series Insights está optimizado
el portal de Azure
para IoT y datos basados en tiempo, y contiene su
propia herramienta de visualización de datos.
Echa un vistazo a la Arquitectura de referencia de
Azure Stream Analytics Azure IoT, que incluye Azure Time Series Insights.
El servicio Azure Stream Analytics se utiliza para
analizar, consultar y filtrar datos de streaming en tiempo DEMOS-
real. Stream Analytics puede obtener datos desde TRACIÓN
Explorar una demostración
muchos servicios, incluido Azure Blob Storage, Azure
del entorno de Time Series
Event Hubs o Azure IoT Hub. Puedes analizar los datos Insights desde tu navegador
utilizando un lenguaje simple estilo SQL o un código
personalizado. Después de consultar y filtrar el flujo de
La guía de Azure para 76
desarrolladores
Azure Databricks HDInsight
Azure Databricks proporciona una plataforma HDInsight te permite ejecutar clústeres especializados de
unificada de análisis con una gran variedad de tus herramientas de código abierto para análisis de datos.
herramientas y funciones. En Databricks, puedes La ventaja de ejecutar estas herramientas en HDInsight
ejecutar versiones optimizadas de Apache Spark es que están administradas, lo que significa que no tienes
para hacer análisis avanzado de datos. que mantener máquinas virtuales ni actualizar sistemas
operativos. Además, estas herramientas pueden escalarse
Además del análisis basado en Spark, Databricks ofrece y conectarse con facilidad entre sí, con otros servicios de
cuadernos interactivos y flujos y espacios de trabajo Azure y con los servicios y fuentes de datos on-premises.
integrados que puedes utilizar para colaborar con
todo el equipo de datos, incluidos científicos de datos, Potencialmente, puedes ejecutar distintos tipos de
ingenieros de datos y analistas de negocios, los cuales clústeres masivos especializados, como un clúster
tienen acceso a herramientas especializadas para sus Apache Hadoop. Esto te permite procesar y analizar
requisitos específicos. datos con herramientas de Hadoop como Hive, Pig
y Oozie. Puedes poner en marcha un clúster de Apache
Databricks está completamente integrado con Azure HBase, que proporciona una base de datos NoSQL
Active Directory, lo cual permite implementar medidas muy rápida, o puedes crear un clúster de Apache Storm,
de seguridad detalladas. Con Databricks, puedes realizar orientado al análisis de flujos de datos, que proporciona
análisis de datos basados en Spark procedentes de un marco de trabajo para el procesamiento y análisis
diversos lugares. Además, puedes conectar Databricks a de cantidades masivas de datos. HDInsight también
Power BI para crear y mostrar paneles eficaces. puede ejecutar un clúster para Microsoft Machine
Learning Server (anteriormente, Microsoft R Server).
Consulta Canalizaciones de ingesta, ETL y Por último, puedes crear un clúster que ejecute Apache
procesamiento de streaming con Azure Databricks Kafka, que es un sistema de mensajes de suscripción-
para ver una arquitectura de referencia de ejemplo. publicación que se utiliza para desarrollar aplicaciones
con mecanismos de puesta en cola.
EJERCICIO
Consulta Consultas interactivas con HDInsight para
Ejecutar un trabajo de Spark en
Azure Databricks con el portal ver una arquitectura de referencia de ejemplo que usa
de Azure HDInsight.
TUTORIAL
Extraer, transformar y cargar
datos con Apache Hive en
HDInsight
La guía de Azure para 77
desarrolladores
Azure Data Explorer Power BI
Usa Azure Data Explorer para disfrutar de un servicio Power BI es una suite de herramientas de análisis
de análisis de datos rápido, totalmente administrado y empresarial que proporciona conocimientos de toda la
altamente escalable para realizar análisis en tiempo real de organización. Conéctate a cientos de fuentes de datos,
grandes volúmenes de datos en streaming procedentes simplifica la preparación de los datos e impulsa los
de aplicaciones, sitios web, dispositivos IoT, etc. análisis no planificados. Produce magníficos informes
y después publícalos para que la organización los
Azure Data Explorer te permite exportar de forma consuma en la Web y en los dispositivos móviles.
nativa las consultas Kusto que se realizaron en la
interfaz de usuario web a paneles optimizados. Con los servicios de Azure y Power BI, tu aplicación
puede convertir los esfuerzos de procesamiento de datos
en análisis e informes que proporcionen conocimientos
Consulta Análisis interactivos con Azure Data
en tiempo real. Tanto si el procesamiento de datos
Explorer y Streaming mediante HDInsight para
se basa en el cloud como en entornos on-premises,
ver arquitecturas de referencia.
sencillos o complejos, en un solo origen o a escala
masiva, almacenados o en tiempo real, Azure y Power
BI incluyen conectividad e integración de serie para que
Azure Data Studio las iniciativas de business intelligence cobren vida.
Azure Data Studio es una herramienta de base de
Power BI tiene multitud de conexiones de Azure
datos multiplataforma para los profesionales de datos
disponibles, y las soluciones de business intelligence
que utilizan plataformas de datos on-premises y en
permiten la obtención de conocimientos de datos únicos
el cloud en Windows, macOS y Linux.
para la empresa. Usa Power BI para conectarte a un
origen de datos de Azure, o a muchos, y luego dar forma
Azure Data Studio ofrece una experiencia de editor y ajustar los datos para crear informes personalizados.
moderna con IntelliSense, fragmentos de código,
integración de control de código fuente y un terminal Consulta Business intelligence empresarial para ver
integrado. Se ha diseñado pensando en el usuario de la una arquitectura de referencia que usa Power BI.
plataforma de datos, con gráficos integrados de conjuntos
de resultados de consulta y paneles personalizables.
Common Data Model
El código fuente de Azure Data Studio y sus
Common Data Model simplifica la recopilación de
proveedores de datos está disponible en GitHub bajo
datos procedentes de múltiples sistemas y la creación
un CLUF de código fuente que proporciona derechos
de un lenguaje de datos compartido para su uso en
para modificar y utilizar el software, pero no para
aplicaciones empresariales y de análisis. El sistema
redistribuirlo ni alojarlo en un servicio en el cloud.
de metadatos de Common Data Model hace posible
que los datos y su significado se compartan entre
aplicaciones y procesos empresariales, como Microsoft
PowerApps, Power BI, Dynamics 365 y Azure.
La guía de Azure para 78
desarrolladores
En la tabla 4.1 se muestra una comparación de las distintas funciones
ofrecidas por la suite de servicios de análisis de datos de Azure:
* Los servicios con un asterisco tienen un nivel gratuito que puedes empezar a utilizar gratis.
Tabla 4.1: Análisis de datos en Azure
La guía de Azure para 79
desarrolladores
Azure Purview Los directores de datos y los equipos de cumplimiento
pueden obtener una visión general de sus datos,
especialmente los confidenciales, con Purview Data
Insights, para evaluar el uso de los datos en toda la
La creciente cantidad de datos que tienes hoy hace que organización.
sea muy difícil detectar y catalogar los datos. Con Azure
Purview, tienes una ubicación central para tu catálogo Además, Azure Purview permite lo siguiente:
de datos donde puedes registrar orígenes de datos de • Mejor seguimiento y comprensión de los datos
toda la empresa. Esto permite una mejor comprensión a través de metadatos. Los datos permanecen en
de los datos y ofrece una ubicación central que su ubicación de origen, pero se añade una copia de
proporciona un proceso de consumo de datos fluido. los metadatos a Azure Purview con referencia a la
ubicación del origen de datos. Como los metadatos
Ahora que los datos son fundamentales para maximizar están indexados, la búsqueda del origen de datos
el valor empresarial, es esencial administrar y gestionar es sencilla y comprensible para los usuarios.
estos datos en entornos on-premises, multicloud y SaaS.
• Eliminar los silos operativos al permitir a los
analistas de datos empresariales y técnicos,
Azure Purview sienta las bases para una gestión eficaz
científicos de datos e ingenieros de datos
de los datos al ayudar con la detección automatizada
encontrar datos fiables y valiosos.
de metadatos, clasificadores basados en IA y linaje
• Realizar un seguimiento de los datos a través de
de extremo a extremo. Con la ayuda de conectores
su linaje para que puedas ver los movimientos de
integrados y API de Apache Atlas, puedes unificar los
datos de un origen a otro a través de procesos
datos on-premises, de distintos clouds o en aplicaciones
y canalizaciones ETL.
SaaS externas como Dropbox y Slack.
• Proporcionar una mejor comprensión de los
En el centro de Azure Purview se encuentra el mapa cambios en los datos y de cómo se ven afectados
de datos, que proporciona análisis y clasificación por los diferentes procesos y aplicaciones.
automatizados de metadatos a escala del cloud. • Mediante la clasificación y la información de las
etiquetas de confidencialidad, la empresa puede
Los consumidores de datos de la empresa interactúan realizar un mejor seguimiento de la información
con los datos detectados en el mapa de datos mediante confidencial.
el catálogo de datos de Purview. El catálogo de datos
permite la detección sencilla para los consumidores Consulta Gestión de los datos con Profisee y Azure
de datos al ofrecer funciones como la exploración Purview para ver una arquitectura de referencia que
y la búsqueda semánticas, los glosarios empresariales usa Azure Purview.
y el linaje visual de los datos.
La guía de Azure para 80
desarrolladores
Soluciones de IoT Azure IoT Hub
de Azure En el corazón del IoT de Azure se encuentra Azure IoT
Hub, que es una solución de plataforma como servicio
(PaaS) en el cloud flexible para conectar, supervisar y
administrar dispositivos de IoT de forma segura y escalable.
La reciente oleada de dispositivos de IoT, como sensores,
drones y cámaras, está impulsando un importante Puedes utilizar IoT Hub para obtener grandes
crecimiento de los datos en el perímetro. Y la promesa cantidades de mensajes que, por lo general, provienen
del 5G significa aún más datos, procedentes de más de dispositivos de IoT, como los mensajes que
puntos de conexión, en más lugares, lo que proporciona contienen datos de los sensores de temperatura.
aún más necesidad de inteligencia y análisis para Además, IoT Hub establece una comunicación
procesarlos lo más cerca posible de la fuente. bidireccional con los dispositivos y permite la ejecución
de código en ellos.
Estas aplicaciones y características de estos dispositivos
IoT son prácticamente ilimitadas, pero todas suelen Cuando los dispositivos envían un mensaje a Azure IoT
tener una cosa en común: generan muchos datos. Hub, este servicio puede almacenarlo o enrutarlo a otro
En muchos casos, no es práctico reenviar esos datos servicio, como Azure Event Grid, para realizar análisis
a Azure para su procesamiento, y tiene más sentido o una acción.
realizar el procesamiento en el dispositivo, o incluso
más probable, en un dispositivo perimetral específico. También puedes crear túneles de comunicación
bidireccional utilizando flujos de dispositivos. Los
Azure proporciona una plataforma robusta flujos de dispositivos de Azure IoT Hub facilitan la
y escalable para administrar estos dispositivos creación de túneles TCP bidireccionales seguros para
y obtener conocimientos valiosos de ellos. una variedad de casos de comunicación entre el cloud
y los dispositivos.
Consulta la arquitectura de referencia de Azure
IoT para saber cómo funcionan juntas las siguientes
soluciones. Azure IoT Hub Device
Provisioning Service
Azure IoT Hub Device Provisioning Service (DPS)
proporciona a Azure IoT Hub un aprovisionamiento “just-
in-time” y sin intervención de los dispositivos al centro
de IoT adecuado, lo que permite el aprovisionamiento
de dispositivos de una manera segura y escalable.
La guía de Azure para 81
desarrolladores
Es posible ejecutar muchos servicios de Azure en el
Azure IoT Central perímetro para ayudarte en ciertas situaciones, y la lista
Azure IoT Central es una oferta de software como servicio de servicios disponibles sigue aumentando. Por ejemplo,
(SaaS) que permite a los desarrolladores de IoT crear con Azure IoT Edge, es posible enviar los módulos de
aplicaciones de IoT complejas con la ayuda de asistentes. Azure SQL Edge a los dispositivos y obtener la capacidad
de transmitir, recopilar y procesar los datos directamente
en el propio dispositivo perimetral, ya sea en un entorno
No es necesario crear código ni realizar ninguna
conectado, semiconectado o desconectado. En la tabla
configuración complicada: IoT Central se hace cargo de
4.2 se indican solo algunos de ellos:
todo y aprovisiona y configura todo lo que necesites.
Azure IoT Central te permite empezar a crear Usa esto en Azure IoT
Objetivo del servicio
Edge
rápidamente nuevas soluciones de IoT a través de una
serie de plantillas de aplicaciones específicas del sector Desarrollar e implementar
Machine Learning
para el comercio minorista, sector energético, sanitario modelos de IA
y gubernamental. Como alternativa, también puedes Personalizar modelos de
Custom Vision
empezar con una plantilla de aplicación personalizada en visión por ordenador para
Service
blanco para crear una solución totalmente personalizada casos de uso
con Azure IoT Central. A través de plantillas de Procesar flujos de datos
Stream Analytics
aplicaciones, es posible empezar a trabajar muy en tiempo real
rápidamente, sin necesidad de años de experiencia en Procesar eventos con
programación. Sin embargo, si se necesita más control Azure Functions
código sin servidor
y personalización, es posible ajustar la solución de
acuerdo con los requisitos de la solución. SQL Edge Azure SQL Edge
Cumplir con los estándares
de interoperabilidad de la Azure Industrial IoT
Azure IoT Edge Industria 4.0
En las aplicaciones de IoT modernas, el procesamiento Desarrollar lógica Módulo
de datos puede ocurrir en el cloud o en los dispositivos. personalizada personalizado
El procesamiento en los dispositivos se llama
“computación perimetral”. La computación perimetral
Tabla 4.2: Servicios disponibles en Azure IoT Edge
es muy útil en circunstancias en las que no es posible
confiar en una conexión al cloud.
Con Azure IoT Edge, puedes ejecutar algoritmos
de machine learning localmente y proporcionar
Azure IoT Edge se gestiona desde IoT Hub, lo que
comentarios instantáneos sobre sus descubrimientos
te permite trasladar fácilmente partes de tus cargas
a las aplicaciones locales.
de trabajo al perímetro. Esto reduce el tiempo que
invierten los dispositivos en enviar mensajes al cloud
Consulta Almacenamiento y procesamiento de datos
y permite escenarios sin conexión y reacciones más
veloces a los cambios de estado. de IoT Edge para ver una arquitectura de referencia
que usa IoT Edge.
La guía de Azure para 82
desarrolladores
Azure SQL Edge Azure Digital Twins
Microsoft ha llevado al perímetro el motor de Microsoft En el mundo del IoT suele haber muchos dispositivos
SQL más seguro y el machine learning con Azure SQL y sensores del IoT que funcionan en relación con los
Edge. Con Azure SQL Edge, los dispositivos obtienen entornos y los sistemas empresariales. En muchos casos,
la capacidad de: se debe añadir un contexto adicional para intentar
• Transmitir, almacenar y analizar datos de series comprender los datos que capturan los dispositivos
temporales mediante funciones de ventanas IoT. Esto puede incluir el entorno en el que operan los
de tiempo, agregación y filtrado, y conseguir distintos dispositivos.
conocimientos más profundos combinando tipos
de datos como series temporales y gráficos. Por ejemplo, en el caso de un sensor de temperatura,
• Disfrutar de un desarrollo y una administración los datos de temperatura por sí mismos no revelan
coherentes de las aplicaciones, desde el cloud mucha información sin contexto adicional. Cuando los
hasta los centros de datos y los sistemas datos básicos de temperatura se complementan con
perimetrales: desarrolla una vez e implementa datos externos, como en qué estancia se encuentra el
en cualquier lugar. sensor, qué otros dispositivos hay en la sala, cuántas
• Realizar puntuaciones en tiempo real, detectar personas hay en la sala y cómo se mueven por la
anomalías y aplicar la lógica empresarial en el habitación, obtienes una perspectiva mucho mejor
perímetro mediante las funciones integradas de lo que implican los datos de temperatura. Mediante
de machine learning (ML).
el uso de Azure Digital Twins, es posible modelar de
• Procesar los datos en el perímetro antes forma más eficaz el entorno físico en el que residen los
de reenviarlos al centro de datos y al dispositivos de IoT.
almacenamiento en el cloud para optimizar
el ancho de banda y los costes de la red.
Aprovechando su experiencia en la creación de
• Implementar y actualizar desde Azure o el modelos flexibles de Azure Digital Twins, las empresas
portal empresarial para disfrutar de medidas
pueden crear soluciones contextuales. Con las
de seguridad coherentes y administración
soluciones de IoT de última generación de Azure Digital
llave en mano. Con SQL Edge, consigues alta
Twins, los clientes pueden rastrear el pasado, controlar
disponibilidad y recuperación ante desastres,
el presente y predecir el futuro.
así como herramientas de protección de datos
y seguridad líderes del sector.
• Ampliar la cobertura de la arquitectura de
dispositivos para incluir dispositivos basados en
ARM en la arquitectura basada en x64, elegir
Windows o Linux como sistema operativo y
ejecutar SQL Edge en un entorno conectado
o desconectado.
La guía de Azure para 83
desarrolladores
Hay muchos escenarios en los que Azure Digital Twins Windows para IoT
puede ser útil:
Windows 10 IoT forma parte de la familia de Windows
• Predecir las necesidades de mantenimiento
10 y aporta potencia, seguridad y capacidad de
de una fábrica
administración de clase empresarial al Internet de
• Analizar los requisitos energéticos en tiempo las cosas. Aprovecha la experiencia integrada, el
real de una red eléctrica ecosistema y la conectividad en el cloud de Windows,
• Optimizar el uso del espacio disponible en lo que permite a las organizaciones crear su IoT con
una oficina dispositivos seguros que se pueden aprovisionar
• Realizar un seguimiento de la temperatura diaria rápidamente, administrar fácilmente y conectarse sin
en distintas provincias problemas a una estrategia general del cloud.
• Supervisar rutas de drones concurridas
• Identificar vehículos autónomos Windows 10 IoT se distribuye en dos ediciones:
• Analizar los niveles de ocupación de un edificio • Windows 10 IoT Core es el miembro más
• Encontrar la caja registradora más activa en una pequeño de la familia de Windows 10. Aunque
tienda solo ejecuta una sola aplicación, sigue teniendo
la capacidad de administración y seguridad que
Azure Digital Twins te permite gestionar los permisos esperas de Windows 10.
de los datos y los dispositivos en el contexto del entorno • Windows 10 IoT Enterprise es una versión
físico. Con Azure Active Directory (Azure AD), es posible completa de Windows 10 con características
especificar que solo determinados usuarios puedan acceder especializadas para crear dispositivos dedicados
a los datos desde una ubicación física determinada. asociados a un conjunto específico de
aplicaciones y periféricos.
INICIO
RÁPIDO
Cómo encontrar salas disponibles Antes de intentar fabricar un dispositivo, lo mejor es
con Azure Digital Twins crear un prototipo del dispositivo con Windows 10 IoT
Core para saber qué características serán necesarias y
qué configuraciones se necesitarán cuando llegue el
momento de fabricarlo.
Azure Security Center para IoT
Azure Security Center para IoT proporciona Windows Server IoT 2019
prevención y análisis de amenazas para cada
dispositivo, tanto para IoT Edge como para IoT Hub, Windows Server IoT 2019 es una versión completa de
en toda la solución de IoT. Proporciona visibilidad y Windows Server 2019 que ofrece capacidad de gestión
control unificados, además de prevención de amenazas empresarial y seguridad para tus soluciones de IoT.
flexible con funciones integradas de detección y Windows Server IoT 2019 incluye todas las ventajas de
respuesta inteligentes a las amenazas, para las cargas los ecosistemas de Windows y ofrece una experiencia
de trabajo independientemente de dónde residan: en perfecta con herramientas familiares para el desarrollo
el perímetro, on-premises, en Azure o en otros clouds. y la administración.
La guía de Azure para 84
desarrolladores
Adquiere más conocimientos sobre el uso de soluciones Para obtener más información sobre los datos y el
de Azure IoT en la siguiente ruta de aprendizaje gratuita: análisis de datos en Azure, puedes descargar y leer
los siguientes e-books gratuitos:
CENTRO DE
RECURSOS
CENTRO DE
Conectar con seguridad RECURSOS
dispositivos IoT al cloud
Manual de prueba de concepto
Sean cuales sean tus requisitos para administrar los Kit de herramientas de Azure
datos, Azure tiene varias opciones donde elegir. Para Synapse Analytics
almacenar datos, puedes elegir diferentes opciones
de almacenamiento de datos. Para las transacciones,
puedes elegir servicios capaces de manejar datos
estructurados o no estructurados, o ambos. En lo que
respecta al análisis de datos, puedes elegir diferentes
servicios que ofrecen una magnífica experiencia
de ciencia de datos. En IoT, puedes elegir también
diferentes servicios que se pueden adaptar a cualquier
escenario. Lo mejor es que todos estos servicios
incluyen integración de serie con otros servicios de
Azure y ofrecen una experiencia de desarrollo fluida.
Los servicios de datos de Azure te permiten enriquecer
tu aplicación, centrarte en lo importante y desarrollar
más rápido y con mayor calidad.
La guía de Azure para 85
desarrolladores
05 /
Añadir
inteligencia
a tu aplicación
La guía de Azure para 86
desarrolladores
El papel de la IA
en el desarrollo
de aplicaciones
modernas
La inteligencia artificial (IA) incorpora capacidades
como las humanas en el software. La capacidad
de utilizar la IA y usarla bien puede distinguir un
producto de software de sus competidores, optimizar
los procesos de negocio y reducir los costes de mano
de obra manuales.
Las funciones de IA se pueden clasificar en cuatro
grupos: percepción visual, procesamiento del lenguaje
natural, habla y toma de decisiones.
Percepción visual
La percepción visual permite ver a la aplicación. La IA
puede interpretar y procesar imágenes y flujos de vídeo
utilizando servicios de Azure como Custom Vision, Face
y Computer Vision, que pueden automatizar el análisis
de imágenes y vídeo para muchos propósitos, incluida la
seguridad y el cumplimiento normativo. Por ejemplo, la
IA puede identificar a las personas para garantizar que
se encuentran en áreas de trabajo aprobadas, identificar
si llevan un casco en áreas designadas y utilizar análisis
espaciales para garantizar una distancia segura entre
un trabajador y maquinaria peligrosa.
La guía de Azure para 87
desarrolladores
Procesamiento del lenguaje natural Toma de decisiones
El procesamiento del lenguaje natural (NLP) permite La IA de toma de decisiones puede utilizar datos
que una aplicación comprenda el lenguaje escrito de experiencias pasadas para aplicar correlaciones
y hablado. Una de las aplicaciones más comunes de a las situaciones actuales y tomar las medidas
NLP es el software de asistente digital. Además, NLP apropiadas. Utiliza Azure Machine Learning para
también se utiliza en escenarios de chatbots online, desarrollar modelos personalizados o aprovecha el
traducción de idiomas y salida de voz (síntesis). El uso potente motor de inferencia que está disponible en
de los servicios de Azure como Text Analytics, Speech el servicio Anomaly Detector. Por ejemplo, el estado
y LUIS puede mejorar la satisfacción general de los y la eficiencia de los equipos de una fábrica afectan
clientes. Un ejemplo sería la implementación de un directamente a la rentabilidad de una empresa. Por lo
chatbot en el sitio web de la empresa capaz de detectar tanto, la empresa puede utilizar sensores en el equipo
y conversar con un usuario en su idioma preferido. para recopilar telemetría en tiempo real e identificar
También puede identificar la opinión de una interacción las tendencias que producen averías. Estas tendencias
como positiva o negativa para reconocer las posibles se encapsulan en un modelo entrenado y se aplican
áreas de mejora y automatización en el sitio web. al flujo de datos de telemetría entrante de la fábrica.
Esta práctica permite el mantenimiento predictivo, lo
que evitará tiempos de inactividad y gastos imprevistos.
Habla
La IA de habla reconoce la entrada de voz y puede
sintetizar la salida hablada. Cuando se combina con
PLN, permite una interacción hombre-ordenador
que se conoce como IA conversacional. La misma
tecnología del chatbot de sitio web que interpreta texto
del ejemplo anterior se aplica a la palabra hablada.
El servicio Azure Speech proporciona funciones de
voz a texto, texto a voz, traducción de voz, asistentes
de voz y reconocimiento del hablante.
La guía de Azure para 88
desarrolladores
¿Por qué elegir Crítico
Azure AI?
Los servicios de Azure AI permiten a las organizaciones
implementar soluciones de IA críticas con total
confianza y reforzarlas para las cargas de trabajo más
exigentes. Proporciona características para los servicios
ampliamente utilizados y a petición de Microsoft,
Azure AI proporciona servicios cuidadosamente como Office, Xbox y Microsoft Teams. Por ejemplo,
seleccionados basados en décadas de investigación y en el transcurso de unos meses, se transcribieron más
prácticas de IA responsable. Azure AI proporciona las de 1,8 millones de horas de reuniones en tiempo real
herramientas y la tecnología necesarias para ofrecer de con Microsoft Teams. Cada día se consumen más de
manera responsable soluciones de IA críticas acordes 1000 millones de diapositivas de PowerPoint y se
con tus necesidades. proporcionan más de 80 millones de experiencias
personalizadas a diario en Xbox. Funcionar a escala
es uno de los principales objetivos de Azure AI.
A tu medida
Las organizaciones con experiencia en IA/ML pueden
El objetivo de Azure AI es capacitar a los desarrolladores aprovechar MLOps (también conocido como DevOps
con cualquier nivel de conocimientos y permitirles usar para machine learning) para garantizar el desarrollo,
las herramientas y los lenguajes que prefieran. Azure la colaboración, el control de versiones de modelos,
reduce la brecha al poner la inteligencia artificial a la validación, las implementaciones, la supervisión
disposición de todos los conjuntos de conocimientos. y el gobierno a través de canalizaciones eficientes
y reproducibles.
Los científicos de datos pueden usar herramientas
conocidas para analizar datos y entrenar modelos con
Azure Machine Learning. Además, hay bibliotecas
estándar gratuitas como PyTorch, TensorFlow y scikit- Responsable
learn, así como experiencias de cuadernos que utilizan
lenguajes populares como R y Python. Por último, Azure AI tiene un compromiso inquebrantable
con la IA responsable. Azure AI se basa en el cloud
más fiable, Azure. Por consiguiente, Azure cuenta
Las personas sin ninguna experiencia en IA y machine con los mejores controles de privacidad, funciones
learning (ML) pueden elegir entre un conjunto completo de IA responsables y la mayoría de certificaciones de
de modelos previamente entrenados específicos del cumplimiento de cualquier cloud del mundo.
dominio o usar AutoML para determinar la mejor
solución para un determinado problema. Además,
hay herramientas visuales disponibles para facilitar la En este capítulo se ofrece información general sobre los
incorporación de la IA, como el diseñador de Azure servicios de IA y realidad mixta de Azure, incluidos los
Machine Learning, Custom Vision y Form Recognizer. siguientes:
• Servicios de IA aplicada de Azure
Además de admitir los marcos de trabajo de ML más
• Azure Cognitive Services
populares, Azure AI también proporciona portabilidad
de modelos a diversos factores de forma, que abarcan • Azure Machine Learning
desde dispositivos, teléfonos, bases de datos y servicios • Herramientas de inteligencia artificial para
en el cloud. Asimismo, los servicios de IA de Azure desarrolladores
permiten la exportación de modelos en formato ONNX, • Realidad mixta
lo que es óptimo para la distribución de modelos.
La guía de Azure para 89
desarrolladores
Servicios de IA herramienta Bot Framework Composer proporciona un
lienzo visual para crear bots. Azure Bot Service también
aplicada de Azure proporciona integraciones en varios canales/productos
y factores de forma de dispositivo sin que el código del
bot resulte afectado. El uso de la integración nativa con
Azure Cognitive Services ofrece al bot la capacidad de
Azure AI es un conjunto de servicios basados en hablar, escuchar y comprender a los usuarios.
la infraestructura de Azure. Estos servicios están
profundamente integrados en los datos, el desarrollo Los asistentes virtuales digitales se pueden crear con
de aplicaciones y los servicios y herramientas de Power Virtual Agents con poco o ningún código.
procesamiento de Azure. La IA aplicada de Azure incluye Con Power Platform y Azure Bot Service, puedes utilizar
servicios como Azure Bot Service, Azure Form Recognizer plataformas PaaS o SaaS y empezar a desarrollar de una
y Azure Cognitive Search. El objetivo de la IA aplicada manera que tenga sentido para ti. También existe una
de Azure es proporcionar funciones de IA responsables integración perfecta entre Power Virtual Agents y Azure
para modernizar los procesos empresariales existentes Bot Service. Esta integración permite a profesionales de
de forma rápida pero segura. Además, puedes consultar varias disciplinas colaborar en una única solución, con
recursos de Azure para desarrolladores de IA para lo que se democratiza la creación de algunas partes de
obtener recursos de aprendizaje autoguiados. la experiencia conversacional y se acelera la innovación.
Azure Bot Service simplifica la creación de un bot
Azure Bot Service y proporciona las siguientes funciones:
• Proporciona una forma de alojar y administrar
Azure Bot Service proporciona las herramientas y los bots creados con Microsoft Bot Framework.
marcos de trabajo necesarios para crear soluciones de
• Se integra de forma nativa con Cognitive Services.
IA conversacional, como un asistente virtual para un
• Te permite conectar bots a los canales de los
sitio web. La complejidad de interpretar el contexto
clientes (Facebook, Microsoft Teams, Slack, etc.).
de una interacción con cada usuario y proporcionar
respuestas útiles, prácticas y humanas se simplifica • Es un servicio totalmente administrado en Azure.
enormemente con la IA.
EJERCICIO
Bot Framework SDK está disponible para C#, Java,
JavaScript y Python. Desarrollar un bot mediante Crear un bot con Azure Bot
Bot Framework SDK no requiere ningún recurso de Service
Azure, ya que el desarrollo local es posible a través del
SDK y la herramienta Bot Framework Emulator. Si se
desea obtener una experiencia con menos código, la
La guía de Azure para 90
desarrolladores
Azure Form Recognizer Hay muchas opciones disponibles para trabajar con
Azure Cognitive Search y hay muchas fantásticas
Azure Form Recognizer es un servicio de extracción de características que facilitarán las búsquedas a los
datos que aplica ML avanzado para extraer con precisión usuarios, como las siguientes:
texto, pares de clave-valor, tablas y estructuras de
• La búsqueda geográfica permite a los usuarios
documentos. Se pueden entrenar modelos personalizados
explorar datos en función de la proximidad de un
de Azure Form Recognizer etiquetando manualmente
resultado de búsqueda a una ubicación física.
algunos documentos de ejemplo y, a continuación,
implementándolos en un entorno de producción, ya • Los analizadores de lenguaje de Apache
sea on-premises o en el cloud. Azure Form Recognizer Lucene y NLP de Microsoft están disponibles
también proporciona modelos prediseñados para en 56 idiomas.
muchos documentos populares, como recibos, tarjetas • Funciones de búsqueda semántica, basadas en
de visita, facturas y documentos de identidad. modelos de aprendizaje profundo que entienden
la intención del usuario, la muestran y clasifican
los resultados de búsqueda más relevantes.
Azure Form Recognizer ofrece también implementaciones
flexibles y seguras para ingerir datos de documentos en • La supervisión y la presentación de informes
el cloud o en el perímetro. Los datos extraídos se pueden proporcionan información sobre los términos
mejorar mediante la aplicación de índices de búsqueda o de búsqueda y cómo se ejecutó la búsqueda.
de flujos de trabajo de automatización empresarial, entre • Características de experiencia del usuario, como
otras muchas cosas. Al igual que con todos los servicios ordenar y paginar los resultados de búsqueda,
de Azure, Azure Form Recognizer aprovecha la seguridad y el filtrado inteligente.
de nivel empresarial integrada de Azure para proteger los
datos y los activos del modelo.
INICIO
RÁPIDO
Azure Cognitive Search Crea tu primer índice de Azure
Cognitive Search en el portal
Azure Cognitive Search es el único servicio de búsqueda
en el cloud con funciones de IA integradas que enriquecen
todo tipo de información, como visión, lenguaje, voz
o incluso modelos personalizados, para identificar y
explorar fácilmente el contenido relevante a cualquier
escala. Además, Azure Cognitive Search utiliza décadas Azure Metrics Advisor
de experiencia con la pila de lenguaje natural de Microsoft
integrada actualmente en productos de Bing y Office. Azure Metrics Advisor es un servicio de análisis
Por consiguiente, los desarrolladores pueden dedicar de IA que supervisa proactivamente las métricas y
más tiempo a innovar y menos tiempo a mantener una diagnostica problemas en datos de series temporales.
solución de búsqueda en el cloud compleja. El servicio automatiza el proceso de aplicación de
modelos a tus datos. Proporciona un conjunto de
Azure Cognitive Search proporciona a los desarrolladores API y un área de trabajo basada en web para la
una infraestructura, API y herramientas accesibles para ingesta de datos, la detección de anomalías, el análisis
crear una experiencia de búsqueda enriquecida sobre pormenorizado y el diagnóstico sin necesidad de
contenido privado y heterogéneo en aplicaciones web, conocer los conceptos de ML.
móviles y empresariales.
La guía de Azure para 91
desarrolladores
• Reconocer rostros e identificar quién aparece
Azure Metrics Advisor permite crear aplicaciones de AIOps,
en un vídeo y en qué momento. Azure Video
mantenimiento predictivo y supervisión empresarial sobre Analyzer tiene la misma función para el audio:
el servicio. Azure Metrics Advisor puede: reconoce quién habla y cuándo.
• Analizar datos multidimensionales de varias • El servicio reconoce texto visual en un vídeo,
fuentes de datos como el texto de una diapositiva, y lo transcribe.
• Identificar y relacionar anomalías • Azure Video Analyzer puede realizar análisis
• Configurar y ajustar el modelo de detección de intención, que identifica cuándo se dice o
de anomalías que se utiliza en los datos se muestra algo positivo, negativo o neutro.
• Diagnosticar anomalías y ayudar con el análisis
de la causa raíz En la figura 5.1 se muestra el diseño de los resultados
• Proporcionar notificaciones en tiempo real en el servicio Azure Video Analyzer:
a través de enlaces de correo electrónico, web,
Teams y Azure DevOps
PRIMEROS
PASOS
Azure Metrics Advisor
Azure Video Analyzer Figura 5.1: Demostración de los resultados en el portal de Video
Analyzer
Azure Video Analyzer se basa en Azure Media En la figura 5.1 se muestra el resultado de la creación
Services y Azure Cognitive Services. El servicio Azure de una transcripción de audio y vídeo desde un archivo
Video Analyzer puede analizar y extraer datos del multimedia. La transcripción se puede editar y traducir
rostro, de lenguaje, de visión y de voz de archivos de a otros idiomas. Azure Video Analyzer también ha
audio y vídeo mediante un modelo preconfigurado. reconocido el texto de la diapositiva que aparece
detrás de los ponentes y lo ha marcado como “OCR”.
Los archivos multimedia se pueden cargar en el servicio
Azure Video Analyzer ofrece esta funcionalidad para
mediante el portal de Video Analyzer o la API.
aplicaciones individuales integrando el widget de
Entre muchas otras, Azure Video Analyzer tiene las Cognitive Insights.
siguientes funciones principales:
• Transcribir texto de un vídeo. La transcripción PRUÉBALO
resultante se puede refinar manualmente y usarse Carga tu primer vídeo en Azure
para entrenar a Azure Video Analyzer para que Video Analyzer
reconozca términos del sector, como “DevOps”.
La guía de Azure para 92
desarrolladores
Azure Immersive Reader
Azure Immersive Reader es una herramienta inclusiva
diseñada para implementar técnicas probadas para
mejorar la comprensión lectora de nuevos lectores,
estudiantes de idiomas y personas con diferencias de
aprendizaje como la dislexia. Azure Immersive Reader
también admite traducciones a más de 100 idiomas.
Con la biblioteca cliente de Azure Immersive Reader,
puedes utilizar la misma tecnología que se usa en
Microsoft Word y Microsoft OneNote para mejorar
la accesibilidad en aplicaciones personalizadas.
INICIO
RÁPIDO
Realiza tu primera solicitud
de Azure Immersive Reader
En esta sección, hemos visto las herramientas
y los servicios de IA aplicada de Azure. Obtén
más información en Recursos de Azure para
desarrolladores si quieres seguir una ruta de
aprendizaje autoguiada. En la siguiente sección,
analizaremos Azure Cognitive Services.
La guía de Azure para 93
desarrolladores
Azure Cognitive Los servicios personalizados, como Custom Vision y
Language Understanding, proporcionan modelos de
Services ML preconfigurado y una interfaz visual para entrenar
modelos personalizados utilizando datos específicos
del dominio e imágenes específicas de la aplicación
en desarrollo.
Azure Cognitive Services es un conjunto de modelos
de IA previamente entrenados y personalizables
basados en la investigación de IA de Microsoft, que Además de estos servicios, las tecnologías de
permiten acceder a funciones avanzadas de lenguaje, investigación cognitiva contienen API y SDK
visión, toma de decisiones y habla a través de llamadas innovadores para investigadores y desarrolladores
a API sencillas. Azure Cognitive Services no requiere que buscan capacidades cognitivas emergentes. Uno
experiencia previa en ML para la integración. Además, de estos servicios experimentales es Project Gesture,
muchos de estos modelos existentes se pueden que permite al modelo de IA reconocer gestos como
ampliar entrenándolos con datos personalizados para saludar con la mano y utilizarlos como comentarios
adaptarlos a dominios de conocimiento específicos. prácticos en las experiencias de usuario de la aplicación.
Cognitive Services proporciona un sólido conjunto Veamos con más detenimiento algunas de las ofertas
de API para incorporar ML e IA en las aplicaciones. de Cognitive Services.
En la tabla 5.1 se muestra una serie de categorías y una
CENTRO DE
lista de API que están disponibles actualmente. Ten en RECURSOS
cuenta que esta lista sigue creciendo y explicaremos Consigue experiencia práctica
algunos de estos servicios en las secciones siguientes. con IA
Decisión Lenguaje Habla Visión Accede a una ruta de aprendizaje
de cuatro semanas para
Anomaly Language Speech-to- Computer desarrollar tus conocimientos
Detector Understanding Text Vision y obtener la certificación
Content QnA Maker Text-to- Custom
Moderator Speech Vision
Text Analytics
Personalizer Speech Face API
Translator Translation Decisión
Speaker
Recognition En esta categoría, nos fijamos en las ofertas de
Cognitive Services que te ayudan a tomar decisiones
* Todos los servicios tienen un nivel gratuito que puedes utilizar para
empezar. basadas en tendencias en datos; abordaremos los
Tabla 5.1: Un vistazo rápido a las API de Cognitive Services servicios de detectores de anomalías y personalización.
La guía de Azure para 94
desarrolladores
Anomaly Detector Se proporciona una lista de ejemplos de lo que
Anomaly Detector permite la incorporación de puede decir un usuario (enunciados) al servicio LUIS
capacidades de detección de anomalías en las para entrenar un modelo. Estos ejemplos pueden
ser “Reservar un vuelo a Barcelona” o “Cancelar mi
aplicaciones. Por ejemplo, alertas automatizadas,
vuelo a Málaga”. A partir de estos enunciados, se debe
activación de flujos de trabajo de emergencia o una
determinar la intención del usuario. Una intención
señal visual en una interfaz de supervisión para que los
representa una tarea o acción que el usuario quiere
usuarios vean datos de series temporales entrantes y
lograr. Por lo tanto, la intención es el propósito o el
detecten incoherencias.
objetivo del enunciado de un usuario.
El uso de Anomaly Detector no requiere ninguna
experiencia previa en machine learning. La API RESTful Una vez que el servicio LUIS cree un modelo de ML
basado en los ejemplos proporcionados, puede extraer
permite a los desarrolladores integrar el servicio
información del lenguaje natural del usuario.
rápidamente en una aplicación o proceso.
Personalizer PASO
A PASO
Personalizer ayuda a las aplicaciones a elegir el
Crear una nueva aplicación
contenido más relevante que se debe mostrar a un
en el portal de LUIS
usuario en función del comportamiento del usuario, las
tendencias colectivas y la información en tiempo real
proporcionada por el contexto actual.
El contenido puede ser cualquier unidad de Translator
información, como texto, imágenes, URL o correos Translator es un servicio de IA para traducción de texto
electrónicos. La personalización ayuda a aumentar la y documentos en tiempo real y por lotes. Este servicio
usabilidad de las aplicaciones y mejora la satisfacción proporciona traducciones en 90 idiomas y dialectos,
del usuario, ya que el servicio Personalizer se basa en y se basa en las últimas innovaciones en traducción
funciones de aprendizaje de refuerzo. automática neuronal.
Translator admite varios casos de uso, como la traducción
Lenguaje para centros de llamadas, la localización de páginas web
y las comunicaciones empresariales internas.
Azure Cognitive Services también tiene servicios para
ayudarte con el entendimiento y la comprensión lingüística. Con Translator, puedes crear traducciones
personalizables creando modelos personalizados
Servicio Language Understanding (LUIS) que manejen terminología específica del dominio.
Utiliza el servicio LUIS para comprender el significado Translator también ofrece opciones de implementación
semántico de lo que dicen los usuarios en las redes seguras y flexibles, incluida la implementación de
sociales, chatbots o aplicaciones con funciones de voz. Translator como una aplicación en un contenedor.
Veamos, por ejemplo, cómo un usuario puede reservar
un vuelo con LUIS. INICIO
RÁPIDO
Primeros pasos con Translator
La guía de Azure para 95
desarrolladores
En esta sección se examinan los servicios para transcribir Con Text-to-Speech, puedes elegir entre más de
voz a texto y convertir el texto en voz para permitir 250 voces y 70 idiomas y variantes. Diferencia las
experiencias de conversación. Esta funcionalidad está aplicaciones con una voz personalizada y usa voces
disponible en las aplicaciones a través de los SDK de con diferentes estilos de habla y tono emocional
voz disponibles en varios lenguajes de programación con arreglo a casos de uso específicos. La aplicación
y a través de la API REST completa. Al igual que con de Text-to-Speech es común en lectores de texto
muchos servicios de Azure IA, hay disponibles varias y chatbots de atención al cliente.
opciones de implementación de modelos. Cuando
se implementan modelos como contenedor, no es Con el nivel de personalización disponible en Text-to-
necesario que los datos abandonen el cloud para Speech, puedes crear voces realistas que sean exclusivas
procesarse, lo que crea una solución más segura al de una organización.
acercar la eficacia de los servicios de voz a los datos.
INICIO
Speech-to-Text RÁPIDO
Speech-to-Text es un servicio de IA que transcribe Introducción a Text-to-Speech
con precisión audio hablado a texto. Permite una
transcripción de audio rápida y precisa en más de
85 idiomas y variantes.
Speech-to-Text permite la creación de modelos Visión
personalizados para mejorar la precisión de la terminología
específica del dominio. Puede extraer más valor del En esta categoría de Cognitive Services, nos fijamos
audio hablado habilitando búsquedas o análisis en texto en API que te ayudan a extraer información y a crear
transcrito o facilitando una acción basada en la intención. significado a partir de imágenes y vídeos.
INICIO Custom Vision
RÁPIDO El servicio Custom Vision puede entrenar modelos
Introducción a Speech-to-Text personalizados basados en imágenes específicas del
dominio de la aplicación. Crear un modelo de Custom
Vision personalizado es tan sencillo como cargar
y etiquetar algunas imágenes para proporcionar al
Text-to-Speech servicio datos de entrenamiento. Aunque solo se
Text-to-Speech es un servicio de IA que convierte necesitan cinco imágenes para comenzar el proceso
el texto en voz realista. Permite crear aplicaciones de entrenamiento, se pueden cargar y etiquetar más
y servicios que hablen de forma natural a través imágenes para crear un modelo más preciso.
de la síntesis de voz.
La guía de Azure para 96
desarrolladores
Puedes utilizar modelos personalizados realizando
llamadas a la API de Custom Vision y proporcionando
nuevas imágenes: el servicio identificará los objetos que
debe buscar.
El modelo creado con el servicio Custom Vision puede
implementarse en el “perímetro inteligente”, lo que
significa que el modelo y la API pueden ejecutarse
en otro lugar que no sea el cloud, como un servidor
on-premises dentro de un contenedor Docker o en
un dispositivo independiente, como un teléfono. Esta
opción de implementación flexible permite escenarios
desconectados, ya que estos servicios se ejecutan
localmente y no requieren una conexión a Internet.
Una implementación local también tiene una huella
relativamente pequeña: solo hay que implementar
el modelo y la API, no los datos de entrenamiento.
Además de Custom Vision, la API de Computer Vision
ofrece inteligencia integrada para procesar imágenes
y devolver información basada en características
visuales. Asimismo, Computer Vision cuenta con
servicios de IA a petición, como el reconocimiento
óptico de caracteres (OCR), el análisis de imágenes
y el análisis espacial.
INICIO
RÁPIDO
Crea tu propio proyecto
de Custom Vision
En resumen, Microsoft Azure ofrece el conjunto más
completo de ofertas de Cognitive Services. Estos
servicios son modelos de IA previamente entrenados
y personalizables que se basan en la investigación
de IA de Microsoft. Estos servicios no requieren
experiencia previa en machine learning o IA y se
integran en aplicaciones a través de SDK y API REST.
Los modelos entrenados también son portátiles
y consumibles on-premises y en el cloud.
La guía de Azure para 97
desarrolladores
Azure Machine
El proceso del machine learning funciona
de la siguiente manera:
Learning • Los datos que contienen patrones se recopilan
y se preparan para el algoritmo de ML.
• El algoritmo de ML se utiliza para entrenar un
modelo con el fin de identificar estos patrones.
• El modelo entrenado se implementa para que
Azure Machine Learning ofrece a los desarrolladores
pueda utilizarse para reconocer patrones en
y científicos de datos un amplio conjunto de experiencias
nuevos conjuntos de datos.
productivas para crear, entrenar e implementar modelos
• Las aplicaciones utilizan servicios o bibliotecas
de machine learning más rápidamente. También ayuda
para utilizar el modelo entrenado y tomar
a acelerar el tiempo de comercialización y fomenta
medidas basadas en los resultados.
la colaboración en equipo con MLOps (DevOps para
machine learning) líder del sector.
La parte crucial de este proceso es que es un proceso
iterativo. Por tanto, el modelo de machine learning
Primero veamos qué es el machine learning.
se puede mejorar constantemente al entrenarlo con
nuevos datos y ajustando el algoritmo para diferenciar
los resultados correctos de los incorrectos.
¿Qué es el machine learning?
CENTRO DE
El machine learning es un campo de la ciencia
RECURSOS
computacional que proporciona a los ordenadores la Guía para científicos de datos
capacidad de aprender sin recibir programación explícita. sobre la IA de Azure
El machine learning puede conseguirse mediante una o
varias tecnologías algorítmicas, como redes neuronales,
aprendizaje profundo o redes bayesianas.
Servicio Azure Machine Learning
¿Qué implica el ML? En la figura 5.2 se muestra el flujo Azure Machine Learning se aplica a varios escenarios,
de trabajo básico de machine learning: como análisis predictivos, recomendaciones de datos
y clasificación de datos. Esta plataforma es atractiva
para ingenieros de datos y científicos de datos nuevos y
existentes, ya que admite muchos lenguajes populares,
como Python, R y la CLI de Azure, y tecnologías de
código abierto como TensorFlow, PyTorch y scikit-learn.
Además, AutoML y el diseñador de Azure Machine
Learning proporcionan un sistema de entrada con poco
código o sin código para aquellos que necesiten poca
Figura 5.2: Flujo de trabajo básico de ML ayuda para empezar a trabajar con los conceptos de ML.
La guía de Azure para 98
desarrolladores
Azure Machine Learning es un servicio completo que Diseñador de Azure Machine
ofrece funcionalidades de principio a fin. Prepara los
Learning
datos; entrena, prueba e implementa modelos, y realiza
un seguimiento de su ciclo de vida a través del registro El diseñador de Azure Machine Learning es el enfoque
de modelos. Por ejemplo, un científico de datos crea sin código para preparar los datos y entrenar, probar,
un cuaderno para entrenar y registrar un modelo. Este implementar, administrar y controlar los modelos de
cuaderno se puede ejecutar en el área de trabajo de machine learning. No se requiere programación; cada
Azure Machine Learning, Synapse Notebooks o Azure paso se crea visualmente mediante módulos con la
Databricks. A continuación, el científico de datos puede función de arrastrar y colocar.
implementar el modelo en un clúster de contenedores
de Kubernetes en Azure Kubernetes Service. El diseñador de Azure Machine Learning es una
característica del recurso de área de trabajo de Azure
INICIO Machine Learning. Esta área de trabajo actúa como
RÁPIDO un lugar centralizado con el que trabajar y almacenar
Introducción a Azure Machine todos los artefactos relacionados con el ML.
Learning con el portal de Azure
En el diseñador, se empieza creando una canalización
desde cero o con uno de los muchos ejemplos
preconfigurados, incluido uno para predecir
Azure Machine Learning Studio retrasos en los vuelos y otro para la predicción de
administración de relaciones con los clientes (CRM):
Azure Machine Learning Studio es la experiencia del
portal web para desarrolladores y científicos de datos.
Azure Machine Learning Studio combina experiencias
sin código (diseñador) y con código (cuaderno) como
una plataforma de ciencia de datos inclusiva. Los
usuarios pueden elegir su experiencia en función
del tipo de proyecto y su nivel de conocimientos.
Azure Machine Learning Studio también ofrece una
experiencia de ML automatizada en la que se ejecutan
varios experimentos de ML en paralelo para identificar
el algoritmo ideal para un escenario, todo a través
de la interfaz de usuario intuitiva de Studio.
Figura 5.3: Uso de un script de R personalizado para la predicción
de retrasos de los vuelos
La guía de Azure para 99
desarrolladores
En la figura 5.3 se muestra una canalización en el
diseñador de Machine Learning que utiliza un script
de R personalizado para predecir si un vuelo con
pasajeros programado se retrasará más de 15 minutos.
Esta canalización en particular se creó mediante la
canalización de ejemplo “Ejemplo 6: Usar un script de
R personalizado: predicción de retrasos en los vuelos”.
TUTORIAL
Predecir los precios de los
automóviles con el diseñador
AutoML
El machine learning automatizado, también denominado
AutoML, automatiza las tareas iterativas y laboriosas del
desarrollo de modelos de machine learning. El desarrollo
de modelos de machine learning tradicional consume
muchos recursos, lo que requiere un gran conocimiento
del dominio y tiempo para producir y comparar decenas
de modelos. Este proceso se automatiza con AutoML, lo
que da como resultado la obtención de modelos de ML
listos para producción de forma rápida y eficiente.
Durante el entrenamiento, Azure Machine Learning
crea una serie de canalizaciones en paralelo para
analizar diferentes algoritmos y parámetros. Cada
iteración produce un modelo con una puntuación de
entrenamiento. Cuanto mayor sea la puntuación, más
“adecuado” será el modelo para tus datos. AutoML se
detendrá una vez que satisfaga los criterios de salida
definidos en el experimento.
En esta sección, hemos visto las herramientas y las
funciones incluidas en Azure Machine Learning. Azure
Machine Learning puede ahorrar tiempo, mejorar la
precisión de los modelos y permitir implementaciones
fiables al crear modelos personalizados.
La guía de Azure para 100
desarrolladores
Herramientas
de inteligencia
artificial para
desarrolladores Kit de herramientas de IA para
Azure IoT Edge
Al utilizar modelos de machine learning de forma
En esta sección se examinan dos marcos de trabajo
local en los dispositivos (el perímetro inteligente)
principales que pueden ayudar a los desarrolladores
se consigue una ventaja muy importante: te permite
a incluir IA en sus aplicaciones: [Link] y el kit de
usar el potencial de procesamiento de un dispositivo
herramientas de IA para Azure IoT Edge. En primer
desconectado sin depender de la conexión a Internet
lugar, veamos estos marcos de trabajo. ni sufrir la latencia de una llamada al servicio web para
obtener tus resultados.
[Link] El kit de herramientas de IA para Azure IoT Edge
contribuye a este conjunto de herramientas al
[Link] es un marco de trabajo de machine learning de
permitirte crear paquetes de modelos de machine
código abierto multiplataforma compatible con MacOS,
learning con contenedores Docker compatibles con
Windows y Linux. [Link] lleva el machine learning
Azure IoT Edge y a exponer esos modelos como API
a los desarrolladores de .NET para que puedan integrar
REST. Los contenedores Docker se implementan como
el ML en aplicaciones web, móviles, de escritorio, de
un módulo perimetral de IoT en el dispositivo y se
juegos e Internet de las cosas (IoT) nuevas o existentes.
ejecutan en la infraestructura del entorno de ejecución
local de IoT Edge.
[Link] Model Builder proporciona una interfaz visual
fácil de entender para crear, entrenar e implementar
El kit de herramientas de IA para Azure IoT Edge
modelos de machine learning personalizados. No
contiene ejemplos para ayudarte a comenzar, es de
se requiere experiencia previa en machine learning.
código abierto y está disponible en GitHub.
El generador de modelos admite AutoML, que
explora automáticamente diferentes algoritmos y
En resumen, el uso de estos marcos de trabajo permite
configuraciones de machine learning para ayudarte
a los desarrolladores reutilizar todos sus conocimientos
a encontrar el que mejor se adapte a tu escenario.
y habilidades para crear algoritmos y experiencias
inteligentes sin tener que empezar de cero. Con
INICIO [Link] y servicios de Azure como Azure Machine
RÁPIDO
Learning, los desarrolladores pueden ser productivos
Empieza a desarrollar en
de forma rápida y sencilla.
Azure AI
La guía de Azure para 101
desarrolladores
Realidad mixta
Las aplicaciones ya no están limitadas a un entorno Azure Spatial Anchors funciona con aplicaciones
2D. El mundo es ahora el lienzo para las aplicaciones. desarrolladas con Unity, ARKit, ARCore y la Plataforma
Varios sensores de IoT, la realidad mixta y la visión por universal de Windows (UWP), y se puede utilizar con un
ordenador se combinan con la inteligencia espacial dispositivo HoloLens, dispositivos basados en iOS con
para dar vida a los datos en 3D. ARKit y dispositivos basados en Android con ARCore.
Al igual que con todos los servicios de Azure, Azure
Azure Spatial Anchors Spatial Anchors y los datos espaciales se pueden ofrecer
a los usuarios a través de Azure Active Directory.
En el mundo de la realidad mixta, la información
digital se integra en el contexto de un entorno físico.
TUTORIAL
Por ejemplo, se puede representar un holograma del
Empieza a utilizar anclajes
personaje de un juego en la encimera de la cocina. espaciales en sesiones
Con Azure Spatial Anchors, puedes colocar contenido y dispositivos
digital en ubicaciones físicas, que los usuarios pueden
consumir con los dispositivos y plataformas que elijas.
Estos son algunos ejemplos de casos de uso habilitados Remote Rendering
por Spatial Anchors:
• Las experiencias multiusuario permiten Cuando se utilizan modelos 3D en escenarios como
que personas en el mismo lugar participen en revisiones de diseño y planes de procedimientos
experiencias de realidad mixta compartidas. médicos, deben ser lo más detallados posible: cada
• Way-finding es un método para conectar dos detalle es importante.
o más anclajes espaciales, creando una relación
entre ellos. Estos puntos de interés conectados
Con Remote Rendering, los modelos 3D se renderizan
crean una experiencia en la que el usuario debe
en el cloud y se transmiten a los dispositivos en tiempo
interactuar con ellos para completar una tarea.
real, sin renunciar a la calidad visual.
• La persistencia del contenido virtual en
el mundo real puede permitir a un usuario
colocar un objeto (por ejemplo, un calendario)
en la pared de una habitación que las personas
puedan ver utilizando una aplicación para el
teléfono o un dispositivo HoloLens.
La guía de Azure para 102
desarrolladores
Azure Kinect DK
Azure Kinect DK es un kit para desarrolladores con
sensores de IA avanzados que proporciona sofisticados
modelos de visión y voz por ordenador. Kinect contiene
sensores de profundidad, una matriz de micrófonos
espaciales con una cámara de vídeo y un sensor de
orientación como un pequeño dispositivo todo en
uno con varios modos, opciones y SDK.
El entorno de desarrollo de Azure Kinect DK consta
de varios SDK:
• Un SDK de sensor para el acceso de sensores
y dispositivos de bajo nivel
• Un SDK de seguimiento de cuerpos para
el seguimiento de cuerpos en 3D
• Un SDK de servicios cognitivos de voz para
permitir el acceso a los micrófonos y los servicios
de voz basados en el cloud de Azure
En este capítulo se han explicado los numerosos
servicios y herramientas de Azure que pueden ayudar
a crear aplicaciones y servicios inteligentes. La opción
de consumir un modelo prediseñado o desarrollar
un nuevo modelo personalizado está disponible para
todos los niveles de conocimientos. Los servicios de
Azure IA te permiten desarrollar de acuerdo con tus
necesidades e implementar cargas de trabajo críticas
con seguridad y escalabilidad de nivel empresarial.
La guía de Azure para 103
desarrolladores
06 /
Proteger
una aplicación
La guía de Azure para 104
desarrolladores
¿Cómo puede Azure
ayudar a proteger
tu aplicación?
¿Alguna vez has tenido un incidente de seguridad con
una de tus aplicaciones? Puede que hayas tenido alguno
y no te hayas enterado. Con Azure, puedes proteger los
datos, las aplicaciones y la infraestructura con servicios de
seguridad integrados que incluyen inteligencia de seguridad
para ayudarte a identificar rápidamente las amenazas en
constante evolución y poder así responder rápidamente.
Azure también puede ayudarte a implementar una estrategia
de defensa por capas y en profundidad en los ámbitos de
identidad, datos, hosts y redes. Con servicios como Azure
Security Center, podrás ver información general sobre tu
estado de seguridad, protegerte de las amenazas y obtener
recomendaciones sobre cómo mejorar la seguridad.
Y lo más importante: se te notificará en cuanto se detecte
un incidente de seguridad, por lo que siempre sabrás si hay
alguna amenaza. De esta forma, puedes emprender medidas
inmediatas para proteger tus activos.
En este capítulo, abordaremos los siguientes temas
para ayudarte a entender cómo Azure puede ayudarte
a proteger tu aplicación:
• Identidad
• Seguridad de aplicaciones
• Administración del enfoque
• Acceso y conectividad de las aplicaciones
• Registro y supervisión
• Cifrado
La guía de Azure para 105
desarrolladores
Identidad El servicio de identidad empresarial de Azure AD
proporciona el inicio único de sesión (SSO) y la
autenticación multifactor para ayudar a proteger
a tus usuarios del 99,9 por ciento de los ataques
Una parte importante de la seguridad de tu aplicación de ciberseguridad.
es la autenticación de los usuarios antes de utilizarla,
pero la autenticación no es algo fácil de implementar.
Hay que almacenar las identidades y las credenciales
Azure AD Application Proxy
de los usuarios en algún sitio, implementar la Azure AD Application Proxy proporciona SSO y acceso
administración de credenciales, crear un protocolo de remoto seguro para las aplicaciones web alojadas on-
enlace de autenticación seguro, etc. En esta sección,
premises. Las aplicaciones que seguramente querrías
veremos algunos de los servicios y herramientas que
publicar incluyen sitios de SharePoint, Outlook Web
ofrece Azure para que te resulte más fácil autenticar a
Access y otras aplicaciones web de línea de negocio
tus usuarios y proteger tus aplicaciones.
(LOB). Estas aplicaciones web on-premises se integran
con Azure AD, la misma plataforma de identidad y
Plataforma de identidad control que utiliza Microsoft 365. Los usuarios finales
obtienen acceso a tus aplicaciones on-premises de la
de Microsoft misma forma en que obtienen acceso a Microsoft 365
y a otras aplicaciones de software como servicio (SaaS)
La plataforma de identidad de Microsoft (Azure Active integradas con Azure AD.
Directory) proporciona todo lo que se ha mencionado
anteriormente y muchas otras cosas “out of the box”.
Las identidades de los usuarios se guardan en Azure AD Azure AD Identity Protection
y los usuarios se autentican allí, de modo que solo se les
redirige a la aplicación una vez que se han autenticado. Azure AD Identity Protection es una herramienta
Azure AD se encarga de administrar las contraseñas, basada en el cloud que ayuda a las organizaciones
lo que incluye la resolución de situaciones frecuentes a proteger las identidades de los usuarios, así como
como los olvidos de contraseñas. El acceso condicional a detectar e investigar los riesgos basados en identidad.
de Azure AD lleva esto más lejos para permitir a las
La herramienta también permite exportar los datos de
organizaciones establecer políticas inteligentes para el
detección de riesgos a tu herramienta de administración
control de acceso detallado. de eventos e información de seguridad (SIEM).
Dado que millones de aplicaciones usan Azure Azure AD Identity Protection se basa en algoritmos
AD cada día, entre ellas el portal de Azure, inteligentes que analizan 6,5 billones de señales
[Link] y Microsoft 365, es capaz de detectar el diarias de Azure AD, cuentas de Microsoft y cuentas
comportamiento malintencionado y actuar de forma
de Xbox. Este análisis te permite utilizar Azure AD
más ágil mediante Azure AD Identity Protection. Por
Identity Protection para identificar muchos tipos de
ejemplo, si un usuario inicia sesión en una aplicación
riesgo, como credenciales filtradas, dispositivos de
desde una ubicación en Europa y un minuto más tarde
inicia sesión desde Australia, Azure AD marca esto inicio de sesión desconocidos, direcciones IP vinculadas
como un comportamiento malintencionado y pide al malware, viajes atípicos, etc.
al usuario credenciales adicionales por medio de la
autenticación multifactor.
La guía de Azure para 106
desarrolladores
DOCU-
MENTACIÓN Identidades administradas para
Más información sobre Azure AD recursos de Azure
Identity Protection
¿Cómo mantienes las credenciales totalmente fuera del
código? Utilizar Key Vault es un punto de partida, pero
¿dónde almacenas las credenciales para conectarte a Key
Vault? La característica de identidades administradas
Key Vault para recursos de Azure ofrece una solución. Puedes usar
las identidades administradas para muchos servicios de
Dentro de tu arquitectura de seguridad, necesitas un Azure, incluido Azure App Service. Simplemente habilitas
lugar seguro para almacenar y administrar certificados, una identidad administrada con un botón para permitir
claves y otros secretos. Key Vault proporciona esta que tu aplicación adquiera los tokens de Azure AD en
capacidad. Con Key Vault, puedes almacenar los tiempo de ejecución, y después utilizas esas credenciales
secretos que utilizan tus aplicaciones en una única para obtener acceso a otros servicios, como Key Vault,
ubicación segura y central que utiliza el módulo de Azure SQL Database y Azure Storage. La infraestructura se
seguridad de hardware (HSM) validado por FIPS 140- encarga de administrar completamente las credenciales.
2 de nivel 2. Tu aplicación puede autenticarse fácilmente con otros
servicios sin que tú tengas que preocuparte de proteger
DOCU- o rotar las credenciales.
MENTACIÓN
¿Qué es Key Vault? MÁS INFOR-
MACIÓN
Cómo utilizar las identidades
administradas para recursos de
Azure en App Service y Azure
Un ejemplo de uso de Key Vault con una aplicación web Functions
es almacenar de forma segura una cadena de conexión.
Tu aplicación obtendría la cadena de conexión de Key
Vault en lugar de obtenerla del sistema de configuración.
De esta forma, los administradores pueden controlar
los secretos y los desarrolladores no tienen que
preocuparse de ellos. Key Vault también almacena SSL
y otros certificados que se usan para proteger el tráfico
intercambiado por las aplicaciones a través de HTTPS.
La guía de Azure para 107
desarrolladores
Seguridad de Application Gateway
aplicaciones
Application Gateway es un dispositivo virtual
dedicado que proporciona un controlador de entrega
de aplicaciones (ADC) como servicio. Ofrece varias
funciones de equilibrio de carga de nivel 7 para
tu aplicación y permite que los clientes optimicen
La seguridad de las aplicaciones consiste en proteger tus
la productividad de la granja web al descargar la
aplicaciones, sus datos e interacciones entre los diferentes
terminación SSL de uso intensivo de CPU en Application
componentes de tus aplicaciones. En la sección anterior,
Gateway. Application Gateway también proporciona
hemos visto la autenticación de los usuarios. En esta
otras funciones de enrutamiento de nivel 7, tales como la
sección, examinaremos los diferentes servicios de
distribución round-robin de tráfico entrante, la afinidad
Azure que te permiten proteger tus aplicaciones. de sesión basada en cookies, el enrutamiento basado en
rutas URL y la capacidad de alojar varios sitios web detrás
de una sola puerta de enlace de aplicación.
Azure Front Door
Azure Front Door es un punto de entrada global
escalable que utiliza la red perimetral global de
Azure Web Application Firewall
Microsoft para crear aplicaciones web rápidas, Azure Web Application Firewall (WAF) es un servicio
seguras y altamente escalables. Con Azure Front administrado nativo del cloud que proporciona una
Door, puedes transformar tus aplicaciones globales protección eficaz para tus aplicaciones web. Azure
para consumidores y empresas en aplicaciones WAF ayuda a proteger tus aplicaciones web de ataques
modernas robustas y de alto rendimiento con malintencionados y vulnerabilidades web comunes,
contenido que llega a una audiencia global como la inyección de SQL y el scripting entre sitios.
a través de Azure.
Azure WAF detecta ataques malintencionados, tal
Azure Front Door proporciona equilibrio de carga y como se define en el conjunto de reglas básicas
global de nivel empresarial para aumentar la fiabilidad, de OWASP, e impide que dichos ataques lleguen a tu
el rendimiento y la seguridad de tus aplicaciones. Con aplicación. También informa sobre los ataques que se
Azure Front Door, siempre puedes mantener el tráfico en han intentado o están en curso para que puedas ver
la mejor ruta de acceso a tu aplicación, mejorar la escala qué amenazas están tratando de llegar a tu aplicación,
del servicio, reducir la latencia y aumentar el rendimiento lo que ofrece una capa adicional de seguridad.
de los usuarios globales con equilibrio de carga perimetral,
descarga de SSL y aceleración de aplicaciones.
MÁS INFOR-
MACIÓN
Azure Front Door ofrece también una moderna red Más información sobre Azure Web
de distribución de contenido (CDN) con seguridad Application Firewall
integrada. Te protege frente a ataques de red y de
la capa de aplicaciones en el perímetro con Web
Application Firewall, Bot Protection y DDoS Protection.
La guía de Azure para 108
desarrolladores
Azure WAF también se puede considerar un servicio superpuesto
sobre Application Gateway y Azure Front Door. Para ayudarte
a decidir qué servicio debes utilizar para tu escenario, en la
figura 6.1 se muestra un diagrama de flujo sencillo:
Figura 6.1: Árbol de decisiones para elegir el servicio de Azure adecuado en función de tus requisitos
La guía de Azure para 109
desarrolladores
Azure Firewall Azure DDoS Protection
Azure Firewall es un servicio de seguridad de red Lo has oído en las noticias y sin duda no deseas que le
administrado nativo del cloud que protege tus recursos ocurra a tu compañía: aplicaciones que son el blanco de
de Azure Virtual Network. Es un firewall como servicio ataques de denegación de servicio distribuido (DDoS).
con estado completo que incorpora alta disponibilidad Estos tipos de ataques son cada vez más frecuentes
y escalabilidad en el cloud sin restricciones. y pueden desbordar una aplicación hasta el punto
de que nadie pueda usarla. DDoS Protection ofrece
Azure Firewall te permite tener controles de políticas protección contra ataques DDoS en un nivel gratuito
de conectividad centralizados en el nivel de red y de (el nivel Básico) y un nivel de pago (el nivel Estándar).
la aplicación, así como filtros de tráfico basados en
inteligencia. Azure Firewall incorpora la inspección de No tienes que hacer nada para activar el nivel Básico:
TLS para tus aplicaciones cifradas y ofrece la capacidad se activa automáticamente para todos los clientes como
de detectar y bloquear el tráfico malintencionado parte de la plataforma Azure. Este servicio protege tus
a través de un motor de IDPS avanzado. aplicaciones contra los ataques de DDoS más comunes
mediante la supervisión y mitigación en tiempo real,
Puedes utilizar Azure Firewall para proteger las redes y proporciona las mismas defensas utilizadas por
virtuales de Azure en escenarios de conectividad Microsoft Online Services (MOS).
híbrida a través de implementaciones detrás de
puertas de enlace de VPN y ExpressRoute. El nivel Estándar proporciona funciones adicionales
de mitigación que se ajustan específicamente a los
MÁS INFOR- recursos de Azure Virtual Network. Es fácil de activar
MACIÓN y no tienes que cambiar tus aplicaciones: todo se
Más información sobre hace en el nivel de red. Además, con el nivel Estándar
Azure Firewall
puedes personalizar la protección de nivel Básico con
tus propias políticas centradas en tus aplicaciones
y casos de uso específicos.
DOCU-
MENTACIÓN
Azure DDoS Protection
La guía de Azure para 110
desarrolladores
Administración Una evaluación continua ayuda a detectar posibles
problemas de seguridad, tales como sistemas con
del enfoque actualizaciones de seguridad que faltan o puertos
de red expuestos. Una lista de recomendaciones
y descubrimientos por orden de prioridad puede
activar alertas y otros remedios guiados.
Proteger tu aplicación es un desafío constante que
requiere disponer de las herramientas adecuadas para DOCU-
supervisar e investigar las amenazas de forma rápida MENTACIÓN
y eficiente. Aquí es donde necesitarás herramientas Azure Security Center
como Azure Security Center y Azure Defender para tener
una vista centralizada para la supervisión y los controles
de políticas. En función de tus necesidades y de los
requisitos de seguridad de tu organización, es posible que
puedas satisfacer todos tus requisitos con Azure Security Azure Defender
Center o que necesites considerar Azure Defender.
Azure Defender es una herramienta nativa que
proporciona protección contra amenazas para cargas
Azure Security Center de trabajo que se ejecutan en Azure, on-premises
y en otros clouds. Se integra de forma nativa con Azure
Azure Security Center proporciona administración Security Center y puede integrarse con tus flujos de
unificada de la seguridad y protección contra amenazas trabajo de seguridad existentes, como soluciones SIEM
avanzada en todas las cargas de trabajo del cloud y la amplia inteligencia sobre amenazas de Microsoft,
híbrido. Ofrece controles de política centralizados para optimizar la mitigación de amenazas.
para limitar la exposición a amenazas y encontrar
y solucionar las vulnerabilidades de forma rápida. Azure Defender protege tus cargas de trabajo en el
cloud híbrido de las amenazas. Azure Defender ofrece
Además, Security Center es compatible con integración funciones ampliadas de detección y respuesta (XDR)
de soluciones de terceros y puede personalizarse con para proteger tus cargas de trabajo de las amenazas
capacidades de programación y automatización. como ataques por fuerza bruta del protocolo de
escritorio remoto (RDP) e inyecciones de SQL.
Puedes usar Security Center para analizar el estado de la
seguridad de tus recursos de cómputo, redes virtuales,
servicios de almacenamiento y datos, y aplicaciones.
La guía de Azure para 111
desarrolladores
Puedes utilizar Azure Defender para garantizar la
seguridad de tus recursos de Azure. Protege tus datos
en las máquinas virtuales de Azure, on-premises y en
otros clouds, y detecta intentos inusuales de acceder
a cuentas de almacenamiento y cargas de malware en
Azure Storage. Azure Defender también puede analizar
imágenes de contenedores en Azure Container Registry
en busca de vulnerabilidades y proteger las instancias
de Azure Kubernetes Service.
DOCU-
MENTACIÓN
Azure Defender
Proteger tus aplicaciones web
y API con Azure Defender
BLOG
Azure Defender en el proceso
de implementación
La guía de Azure para 112
desarrolladores
Acceso y conec- API Management
tividad de las Las API debe ser seguras. Esto es así tanto para las API
que creas tú mismo como para las de terceros. Para ayudar
aplicaciones a proteger tus API, puedes utilizar API Management.
Es básicamente un proxy que se antepone a las API y que
añade características como el almacenamiento en caché, la
limitación de solicitudes y la autenticación o autorización.
En esta sección, examinaremos los servicios y las
herramientas de Azure que te permiten proteger la Con API Management, puedes proteger una
conectividad y el acceso a tu aplicación. Repasaremos API pidiendo a los usuarios que se suscriban a ella.
las herramientas y los servicios que te ayudan a proteger De esta forma, las aplicaciones necesitan autenticarse
tus API y a conectarte de forma segura a tus máquinas para poder usar tu API. Puedes utilizar varios métodos
virtuales (VM), y veremos cómo puedes conectar de de autenticación, como tokens de acceso, autenticación
forma segura tu red on-premises a Azure. básica y certificados. Además, puedes realizar un
seguimiento para ver quién llama a tu API y bloquear
a los autores de llamadas no deseados.
Azure Bastion
API Management admite varios niveles de precios con
Azure Bastion es una solución PaaS totalmente una garantía de SLA de hasta el 99,95 %. El nivel de
administrada que proporciona acceso RDP y SSH precios de consumo ofrece la posibilidad de que el
seguros y sin interrupciones a tus máquinas virtuales servicio API Management se escale automáticamente
directamente a través del portal de Azure. Azure para administrar la carga.
Bastion se aprovisiona directamente en tu red virtual
y admite todas las máquinas virtuales de tu red virtual Aunque la seguridad es crucial, Azure API Management
mediante SSL (Capa de socket seguro) sin ninguna ofrece otras funciones que pueden ayudar a agilizar
exposición a través de direcciones IP públicas. tu flujo de trabajo de desarrollo y de pruebas, tales
como simulacros de respuesta de datos de prueba,
Con Azure Bastion, puedes limitar la exposición pública de publicación de varias versiones de API e introducción
las direcciones IP de tus máquinas virtuales. La exposición de cambios seguros sin interrupciones con las revisiones,
del host Bastion como el principal punto de acceso público y otorgar a los desarrolladores acceso a la documentación
expuesto ayuda a reducir la exposición pública a Internet autogenerada, catálogo y ejemplos de código de API.
y limita las amenazas como el escaneo de puertos y otros
tipos de malware dirigido a las máquinas virtuales.
TUTORIAL
MÁS
Introducción a API Management
INFOR-
MACIÓN
Más información sobre
Azure Bastion
La guía de Azure para 113
desarrolladores
Azure VPN Gateway zonas DNS privadas de Azure elimina la necesidad de
utilizar soluciones DNS personalizadas que podrían
Una de las diversas opciones para conectar Azure aumentar la superficie de vulnerabilidad con requisitos
a tu red on-premises es VPN Gateway. Esto te permite independientes de administración y actualizaciones.
configurar una conexión VPN cifrada de sitio a sitio (S2S)
entre una red virtual de Azure y tu red on-premises. DOCU-
MENTACIÓN
Como el tráfico está cifrado, es seguro, incluso si viaja por el Más información sobre las zonas
privadas DNS
Internet público. VPN Gateway puede enviar tráfico cifrado
entre las redes virtuales de Azure por la red de Microsoft.
También puedes crear conexiones cifradas de punto
a sitio (P2S) desde tu equipo a Azure. Así, tendrás VPN transversales
tu propia conexión privada y segura a Azure incluso
cuando estés en movimiento. Azure es compatible con dos tipos de conexiones VPN
transversales: VPN P2S y VPN S2S. Una conexión VPN
PRUÉBA- P2S (punto a sitio) te permite crear una conexión segura
LO a tu red virtual desde un equipo de cliente individual.
Empieza a crear una instancia de Este tipo de conexión se establece desde el equipo
Azure VPN Gateway con PowerShell
cliente, lo que resulta útil para los trabajadores remotos
que quieren conectarse a redes virtuales de Azure
desde cualquier ubicación. Una VPN P2S también es útil
cuando solo tienes unos pocos clientes que necesitan
Zonas privadas DNS de Azure conectarse a una red virtual. Por el contrario, se utiliza
una conexión VPN S2S (de sitio a sitio) para conectar
El servicio DNS es responsable de traducir (o resolver) tu red on-premises a una red virtual Azure a través de
un nombre de servicio en su dirección IP. Azure un túnel VPN IPsec/IKE (IKEv1 o IKEv2). Este tipo de
DNS es un servicio de hosting para dominios DNS conexión requiere un dispositivo VPN situado on-
que proporciona resolución de nombres usando la premises que tenga una dirección IP pública al exterior.
infraestructura de Azure. Además de los dominios
DNS con conexión a Internet, Azure DNS ahora admite DOCU-
MENTACIÓN
dominios DNS privados como una función en versión
preview con las zonas privadas de Azure DNS. Los Más información sobre las VPN P2S
beneficios de seguridad de las zonas DNS privadas
incluyen la capacidad de crear una infraestructura
DNS dividida. Esto te permite crear zonas DNS
Más información sobre las VPN S2S
privadas y públicas con los mismos nombres sin
exponer los nombres internos. Además, el uso de las
La guía de Azure para 114
desarrolladores
Azure ExpressRoute
Azure ExpressRoute te permite llevar tus redes
on-premises al cloud de Microsoft a través de una
conexión privada facilitada por un proveedor de
conectividad sin tener que atravesar el Internet público.
Con ExpressRoute, puedes establecer una conexión
privada con los servicios de cloud de Microsoft, como
Azure, Microsoft 365 y Dynamics 365.
Azure Load Balancer
Puedes utilizar los equilibradores de carga para aumentar
la disponibilidad de las aplicaciones. Azure es compatible
con equilibradores de carga internos y externos, que
pueden utilizarse en una configuración interna o pública.
Asimismo, puedes configurar equilibradores de carga para
que sean compatibles con puertos de alta disponibilidad
(HA), en aquellos casos donde una regla de puertos HA
sea una variante de una regla de equilibrio de carga
configurada en el equilibrador de carga interno estándar.
Puedes proporcionar una sola regla para equilibrar la
carga de todos los flujos de TCP y UDP que llegan a todos
los puertos de un equilibrador de carga interno.
MÁS
INFOR-
MACIÓN Más información sobre
el equilibrador de carga
y las reglas de puertos HA
La guía de Azure para 115
desarrolladores
Registro INICIO
RÁPIDO
y supervisión Introducción a Azure Sentinel
Ser capaz de registrar y explorar datos de registro
y supervisión es una parte esencial de cualquier Azure Monitor
estrategia de seguridad. Necesitas herramientas Azure Monitor permite la supervisión básica de los
y servicios que te permitan supervisar e investigar servicios de Azure con la recopilación de métricas,
las amenazas, los problemas y los riesgos conforme registros de actividades y registros de diagnóstico.
surgen. En las secciones siguientes, veremos las Las métricas recopiladas proporcionan estadísticas
herramientas y servicios de Azure que pueden ayudarte de rendimiento para diferentes recursos, incluido el
a recopilar y analizar datos de registro y supervisión. sistema operativo asociado con una máquina virtual.
El registro de actividades mostrará cuándo se crean
Azure Sentinel o modifican nuevos recursos. Puedes ver estos datos
con uno de los exploradores en el portal de Azure
Para obtener una buena información general del y enviarlos a Azure Log Analytics para el análisis de
estado de seguridad de tu organización y todos tendencias y detallado, o puedes crear reglas de alerta
sus usuarios, aplicaciones, servicios y datos, puedes que notifiquen proactivamente los problemas críticos.
usar una plataforma de información de seguridad
y administración de eventos (SIEM) y respuesta
automatizada de orquestación de la seguridad (SOAR). Azure Monitor Logs
Ahora, Azure ofrece un SIEM basado en IA y una
Azure Monitor Logs contiene diferentes tipos de datos
solución SOAR en la forma de Azure Sentinel.
organizados en registros con diferentes conjuntos
de propiedades para cada tipo. Azure Monitor Logs
Puedes usar Azure Sentinel para recopilar datos
es especialmente útil para realizar análisis complejos
de tu organización, incluidos datos sobre usuarios,
en los datos desde una variedad de orígenes.
aplicaciones, servidores y activos de infraestructura
como firewalls y dispositivos que se ejecutan en el
Log Analytics en Azure Monitor te permite escribir,
cloud y on-premises. Es sencillo recopilar datos de tu
ejecutar y administrar consultas de registro de
organización con los conectores integrados. Conforme se
Azure Monitor en el portal de Azure.
recopilan los datos, Azure Sentinel detecta las amenazas
de seguridad y reduce al mínimo los falsos positivos
con sus algoritmos inteligentes de machine learning.
Cuando exista una amenaza, se te avisará y podrás
investigarla con IA, recurriendo a las décadas de trabajo
en ciberseguridad de Microsoft. Puedes responder
a los incidentes con la orquestación de flujos de trabajo
integrada y la automatización de tareas de Azure Sentinel.
La guía de Azure para 116
desarrolladores
Registros de flujo de los grupos Plano técnico de seguridad
de seguridad de red de Azure y cumplimiento de Azure
Los registros de flujo de los grupos de seguridad de El plano técnico de seguridad y cumplimiento
red (NSG) de Azure son una característica de Network de Azure para HIPAA/HITRUST: datos médicos
Watcher que permite ver información acerca del tráfico e IA proporciona herramientas y directrices para
IP entrante y saliente mediante un grupo de seguridad ayudar a implementar un entorno de plataforma
de red. Los registros de flujos pueden analizarse para como servicio (PaaS) que cumpla con los estándares
obtener conocimientos sobre el tráfico de una red y los de la Health Insurance Portability and Accountability
problemas de rendimiento y seguridad relacionados Act (la Ley de Portabilidad y Responsabilidad de
con dicho tráfico. Seguros de Salud, HIPAA) y la Health Information
Trust Alliance (HITRUST).
Aunque los registros de flujos se centran
en NSG, no se muestran de la misma forma que Esta oferta PaaS permite adquirir, almacenar y analizar
otros registros y se almacenan únicamente dentro registros médicos personales y no personales, además
de una cuenta de almacenamiento. de interactuar con ellos, en un entorno seguro de cloud
de varios niveles implementado como una solución
integral. El plano técnico muestra una arquitectura de
Application Insights referencia común que podría aplicarse a otros casos de
uso además del cuidado de la salud, y está diseñado
Application Insights es un servicio extensible de para simplificar la adopción de Azure.
administración del rendimiento de las aplicaciones
(APM) para desarrolladores web que trabajan en DOCU-
MENTACIÓN
distintas plataformas. También incluye potentes
Más información sobre el
herramientas de análisis para diagnosticar problemas Plano técnico de seguridad
y entender qué hacen realmente los usuarios con tu y cumplimiento de Azure
aplicación. Funciona para aplicaciones en diversas
plataformas alojadas en el cloud y on-premises,
incluidas .NET, [Link] y J2EE.
Application Insights se integra con tus procesos de
DevOps y dispone de puntos de conexión con distintas
herramientas de desarrollo. Puede supervisar y analizar
telemetría para aplicaciones móviles al integrarse con
Visual Studio App Center.
La guía de Azure para 117
desarrolladores
Documentación técnica
y arquitectónica de seguridad
de Azure
Azure cuenta con una enorme biblioteca de
documentación técnica sobre seguridad que
complementa la información de seguridad incluida
con los servicios individuales. Se incluyen informes
técnicos, documentos sobre prácticas recomendadas
y listas de verificación en la página de información
de seguridad de Azure.
También se tratan temas de seguridad de cloud
público en distintas áreas, tales como seguridad
de red, seguridad de almacenamiento, seguridad de
computación, administración de acceso e identidades,
registro y auditoría, protección de cargas de trabajo
en el cloud, seguridad PaaS, etc.
Puedes obtener más información sobre la seguridad
de Azure en los siguientes recursos gratuitos:
CENTRO DE
RECURSOS
Más información sobre
la seguridad de Azure
DOCU-
MENTACIÓN
Proteger tus aplicaciones
de cloud en Azure
Referencia de seguridad
de Azure para App Service
La guía de Azure para 118
desarrolladores
Cifrado
• Always Encrypted cifra los datos dentro de
aplicaciones cliente antes de almacenarlos en Azure
SQL Database. Permite delegar la administración de
bases de datos on-premises a terceros, y mantiene
una separación entre quienes son propietarios y
De manera predeterminada, los datos se encuentran pueden ver los datos y quienes los administran
cifrados en Azure cuando se almacenan en Azure pero no deben tener acceso a los mismos.
SQL Database, Azure Synapse Analytics (anteriormente, • Azure Cosmos DB no requiere ninguna acción por
Azure SQL Data Warehouse), Azure Database for tu parte, porque los datos del usuario almacenados
MySQL, Azure Database for PostgreSQL, Azure en Azure Cosmos DB en un almacenamiento no
Storage, Azure Cosmos DB o Azure Data Lake volátil (unidades de estado sólido) están cifrados de
Storage. Este cifrado se realiza automáticamente forma predeterminada y no existen controles para
y no necesitas configurar nada para utilizarlo. modificar esa configuración.
Para ayudar a satisfacer tus requisitos de seguridad Puedes utilizar las siguientes características para cifrar
y cumplimiento, puedes utilizar las siguientes los datos en tránsito:
funciones para cifrar datos en reposo: • Se puede usar una puerta de enlace de VPN
• Azure Disk Encryption cifra volúmenes de datos, para cifrar el tráfico entre la red virtual y la
arranque de máquinas virtuales e infraestructura ubicación on-premises en una conexión pública
como servicio (IaaS) de Windows y Linux utilizando o entre redes virtuales de Azure.
claves administradas por los clientes. • El cifrado TLS/SSL protege los datos cuando
• Azure Storage encryption cifra los datos de viajan entre los servicios en el cloud y los
forma automática antes de almacenarlos en clientes. TLS (Seguridad de la capa de transporte)
Azure Storage, y después descifra los datos proporciona autenticación, privacidad de mensajes
automáticamente cuando los recuperas. e integridad robustas.
• El cifrado del lado cliente de Azure admite • El cifrado SMB 3.0 en máquinas virtuales que
el cifrado de datos dentro de las aplicaciones ejecutan Windows Server 2012 o posterior se
cliente antes de cargarlos en Azure Storage puede utilizar para hacer que las transferencias
u otros puntos de conexión, y después descifra sean seguras cifrando los datos en tránsito
los datos al descargarlos en el cliente. a través de las redes virtuales de Azure.
• Transparent Data Encryption (TDE) cifra los
archivos de datos de SQL Server, Azure SQL En las últimas páginas, hemos echado un vistazo a los
Database y Azure Synapse Analytics. Los diferentes servicios y herramientas que ofrece Azure para
archivos de registro y los datos se cifran utilizando
ayudarte a proteger tu aplicación. Como hemos visto,
algoritmos de cifrado estándar del sector. Las
proteger tu aplicación en Azure es una responsabilidad
páginas en una base de datos se cifran antes de
compartida entre tú y Azure. Azure proporciona un
escribirse en el disco y se descifran al leerlas.
gran número de herramientas eficaces para proteger tu
aplicación y tus datos de forma predeterminada, como
el cifrado “out-of-the-box” y los certificados SSL para
tus aplicaciones. Ahora, te toca a ti utilizar los servicios
y herramientas que hemos analizado en este capítulo
para proteger tu aplicación en Azure.
La guía de Azure para 119
desarrolladores
07 /
Implementar
tus servicios
y optimizar
los costes
La guía de Azure para 120
desarrolladores
¿Cómo puede
ayudar Azure
a implementar
tus servicios y opti-
mizar los costes?
También es posible desarrollar aplicaciones en
contenedores e implementarlas en contenedores,
Azure tiene servicios de cloud para cada tipo on-premises o en el cloud de Azure. Asimismo,
de organización, incluidas aquellas que necesitan puedes crear un script de tu infraestructura completa
Azure para sus centros de datos. Puedes implementar por medio de la infraestructura como código (IaC)
tus aplicaciones en el cloud público de Azure u on- mediante herramientas como las plantillas de
premises, o incluso en otras plataformas de cloud. Azure Resource Manager, Bicep y Terraform.
También puedes administrar tus aplicaciones on-
premises alojadas en máquinas virtuales (VM) o en Vamos a analizar estas opciones con mayor detalle.
Kubernetes fácilmente desde Azure Portal mediante
el uso de Azure Arc. Tú eliges el grado de portabilidad
que deben tener tus aplicaciones.
Con los servicios de aplicaciones habilitados para Azure
Arc, puedes alojar Azure App Services en un clúster de
Kubernetes que se haya incorporado a Arc. Actualmente
en versión preview pública, esto te permite implementar
en destinos como aplicaciones web, aplicaciones lógicas
y funciones dentro de un clúster y administrarlas como
cualquier servicio de aplicaciones desde Azure Portal.
Esto significa que puedes utilizar Kubernetes para las
necesidades de tu aplicación y usar el portal de Azure
para disfrutar de una experiencia de administración
con una única vista. También te permite implementar
y ejecutar servicios de Azure en clústeres de Kubernetes
on-premises o incluso en diferentes clouds, lo que
amplía tu capacidad de implementar y centralizar
la administración en un cómodo lugar centralizado.
La guía de Azure para 121
desarrolladores
Infraestructura Plantillas de Azure Resource
Manager
como código Todos los servicios de Azure presentados en esta guía
se basan en Azure Resource Manager, que puedes
usar para documentar tu entorno de IaC, gracias a las
IaC captura definiciones del entorno como código plantillas de Azure Resource Manager. Estas plantillas son
declarativo, como los documentos JSON, para el archivos JSON que describen lo que se desea implementar
aprovisionamiento y la configuración automatizadas. y especifican los parámetros correspondientes.
Esto te permite utilizar el mismo control de versiones
que usas para el código fuente con plantillas de Es fácil crear plantillas de Azure Resource Manager en
implementación de infraestructura. Visual Studio y Visual Studio Code usando las plantillas
de proyecto de grupo de recursos de Azure. También
El uso de IaC tiene muchas ventajas:
puedes generar plantillas de Azure Resource Manager
• Reduce el potencial de error humano al desde el portal de Azure haciendo clic en el botón Script
implementar y administrar la infraestructura. de automatización, que está disponible en la barra de
• Implementa la misma plantilla varias veces menús de todos los recursos en el portal de Azure.
para crear entornos de desarrollo, pruebas Esto crea la plantilla de Azure Resource Manager para
y producción idénticos. el recurso dado e incluso código para crear el recurso
utilizando la CLI de Azure, PowerShell, .NET y otros.
• Esto significa que el coste de los entornos
de desarrollo y pruebas se puede reducir
Una vez que tengas una plantilla de Azure Resource
creándolos a petición.
Manager, puedes implementarla en Azure usando
Cuanto más automatices y clasifiques con el control PowerShell, la CLI de Azure, Visual Studio y el
de versiones, mayores serán los niveles de confianza en portal de Azure. También puedes automatizar
cuanto a fiabilidad y calidad de tus definiciones de IaC. tu implementación en un proceso de desarrollo
Cuando se consigue coherencia, se reduce el umbral continuo usando Azure DevOps o GitHub Actions.
de riesgo, lo que permite implementaciones más
frecuentes. Esto allana el camino para la aceleración Un buen ejemplo de implementación de recursos
en otras áreas, como las pruebas canary y las en el cloud con Azure Resource Manager es el
implementaciones A/B o blue/green, entre otras. botón Implementar en Azure, que se puede
encontrar en muchos repositorios de GitHub.
La elección de un proveedor de IaC es una decisión
que no debe tomarse a la ligera. Aunque los proveedores
tienen similitudes entre ellos, cada uno puede tener Introducción a Bicep
matices que podrían ayudar (o perjudicar) a tu estrategia
general de automatización. Tus casos de uso particulares Bicep es un nuevo tipo de IaC, desarrollado y publicado
de IaC serán los que te guíen a la hora de elegir la por Microsoft. Utiliza el mismo modelo subyacente de
solución adecuada para tu aplicación. Azure Resource Manager para crear infraestructura, pero
emplea una sintaxis basada en YAML para proporcionar
una mayor legibilidad.
La guía de Azure para 122
desarrolladores
El lenguaje específico del dominio que hay detrás de Terraform con Azure
Bicep define declarativamente los recursos y te permite
disfrutar de una experiencia de creación de primera
clase en Visual Studio y Visual Studio Code. Terraform de Hashicorp es una herramienta de código
abierto para el aprovisionamiento y la administración
Algunos de los beneficios de usar Bicep sobre otros de la infraestructura en el cloud. Los archivos de
métodos de IaC son: configuración basados en plantillas de Terraform te
• Compatibilidad con todos los tipos de recursos de permiten definir, aprovisionar y configurar los recursos
Azure, incluso los que están en versión preview de Azure de una manera repetible y predecible.
• Una sintaxis sencilla que hace que los archivos
Bicep sean más fáciles de leer y administrar Terraform es ideal para implementar la infraestructura
en comparación con JSON en varios proveedores de cloud y on-premises. Permite
• Una experiencia de creación de primera clase, disponer de herramientas uniformes para administrar
incluida la seguridad de tipos enriquecida cada definición de infraestructura en Azure y en otros
e IntelliSense proveedores de cloud.
• Un modelo flexible que permite dividir el código en
módulos reutilizables para que puedas implementar Los archivos de configuración basados en plantillas de
conjuntos de recursos en un solo módulo Terraform te permiten definir, aprovisionar y configurar
• Integración con otros servicios de Azure, como los recursos de Azure de una manera repetible
Policy, especificaciones de plantilla y Blueprints y predecible.
• Un modelo de ejecución sin estado, en el que
no se requiere ningún estado de infraestructura Terraform comparte una gran cantidad de
(ni archivos de estado) funcionalidades con las plantillas de Azure
• Código abierto y gratis Resource Manager. Sin embargo, también incluye
la capacidad de crear módulos reutilizables para la
Aunque todavía está en sus primeras etapas, Bicep implementación y la configuración de la infraestructura.
mantiene su promesa en cuanto a su capacidad de lectura
Estos módulos se pueden compartir en varios proyectos
y composición, especialmente si estás acostumbrado al
de Terraform o incluso usarse varias veces en el mismo
formato YAML con otros tipos de implementación como
proyecto. Esto te permite ahorrar mucho tiempo al
Kubernetes. La naturaleza sin estado de Bicep también
automatizar las implementaciones de infraestructura.
puede ser atractiva para aquellos a quienes no les guste
administrar archivos de estado, especialmente si se
necesita almacenamiento de estado remoto.
Herramientas de IaC adicionales
DOCU-
MENTACIÓN Hay herramientas de IaC adicionales que se pueden
Configurar el desarrollo y la utilizar. Puedes incorporar los conocimientos y las
implementación de Bicep herramientas existentes, tales como Ansible y Chef
para aprovisionar y administrar la infraestructura
Comparar Bicep y JSON en de Azure directamente.
paralelo con Bicep Playground
La guía de Azure para 123
desarrolladores
Azure Blueprints
Es fácil utilizar las plantillas, los grupos de recursos, las
identidades de usuarios y los derechos y políticas de
acceso de Azure Resource Manager para diseñar y crear
una infraestructura completa. Pero ¿cómo se mantienen
todas estas cosas en conjunto? ¿Y cómo se controla en
qué entornos se ha implementado cada infraestructura
y qué versión del artefacto está implementada ahora?
Organiza todos tus artefactos de infraestructura con
Azure Blueprints. Azure Blueprints proporciona un
mecanismo que te permite crear y actualizar artefactos,
asignarlos a entornos y definir versiones. Puedes
almacenar y administrar estos artefactos, además de
administrar sus versiones y relacionarlas con entornos.
Esto te ayudará a organizar tu infraestructura y crear un
contexto para las plantillas de Azure Resource Manager,
las identidades de usuarios, los grupos de recursos y las
políticas.
Azure Blueprints te permite simplificar las implementa-
ciones de Azure a gran escala mediante el empaquetado
de los principales artefactos de entorno en una única
definición de proyecto. A continuación, puedes aplicar
fácilmente el proyecto a nuevas suscripciones y entornos,
incluido el control y la administración con ajuste preciso
mediante el control de versiones.
INICIO
RÁPIDO
Empieza a definir y asignar un
plano técnico de Azure en el
portal de Azure
La guía de Azure para 124
desarrolladores
Seguimiento del Puedes usar el portal de Azure o las distintas API de
automatización de la exportación para integrar los
uso de Azure datos de coste con sistemas y procesos externos.
También están disponibles la exportación automatizada
de datos de facturación y los informes programados.
Con los productos y servicios de Azure, solo pagas
TUTORIAL
por lo que creas y los recursos de Azure que utilizas.
Es importante realizar un seguimiento de lo que estás Optimizar los costes a partir
de las recomendaciones
utilizando y de los costes.
Azure Cost Management
and Billing Azure Advisor
Con Azure Cost Management and Billing, Azure Cost Management funciona también con
puedes supervisar y controlar el gasto de Azure Azure Advisor para proporcionar recomendaciones
y optimizar el uso de los recursos de Azure. Azure de optimización de costes. Azure Advisor te ayuda
Cost Management te ofrece las herramientas para a optimizar y mejorar la eficiencia mediante la
planificar, analizar y reducir tus gastos con el fin identificación de recursos inactivos e infrautilizados.
de maximizar tu inversión en el cloud.
Azure Advisor, por ejemplo, supervisa el uso de la
Los informes de Azure Cost Management muestran los máquina virtual durante siete días y, a continuación,
costes basados en el uso consumidos por los servicios identifica las máquinas virtuales infrautilizadas. Las
de Azure y las ofertas de Azure Marketplace de terceros. máquinas virtuales cuya utilización de la CPU sea
Los costes se basan en precios negociados y en el factor del cinco por ciento o inferior y cuyo uso de red sea
de reserva, así como en los descuentos de la Ventaja de siete MB o menos durante cuatro días o más se
híbrida de Azure. En conjunto, los informes muestran consideran máquinas virtuales infrautilizadas.
los costes internos y externos de uso y cargos de Azure
Marketplace.
La guía de Azure para 125
desarrolladores
Crear una alerta
de facturación
Las alertas de Azure Cost Management se pueden Las alertas de costes se pueden ver fácilmente en el
utilizar para supervisar el uso y el gasto de Azure. portal de Azure. Todas las alertas mostrarán el tipo de
Las alertas de costes se generan automáticamente alerta. Una alerta de presupuesto muestra el motivo
en función de cuándo se consumen los recursos por el que se generó y el nombre del presupuesto al
de Azure. Las alertas muestran todas las alertas de que se aplica. Cada alerta muestra la fecha en que se
gestión de costes y facturación activas en un solo lugar. generó, su estado y el ámbito (suscripción o grupo de
administración) al que se aplica.
Cuando el consumo alcanza un umbral determinado,
Azure Cost Management genera alertas. Hay tres tipos El estado posible de las alertas son “activa”
de alertas de costes: y “descartada”. Un estado activo indica que
• Las alertas de presupuesto te envían una la alerta sigue siendo relevante. Un estado
notificación cuando el gasto, basado en el uso descartado indica que alguien ha marcado
o el coste, alcanza o excede el importe definido la alerta para establecerla como no relevante.
en la condición de alerta del presupuesto. Los
presupuestos de Azure Cost Management se Selecciona una alerta de la lista para ver sus detalles.
crean mediante el portal de Azure o la API de Los detalles de las alertas muestran más información
consumo de Azure. sobre la alerta. Si hay una recomendación disponible
para una alerta de presupuesto, también se muestra
• Las alertas de crédito te envían una notificación
un enlace a la recomendación. También puedes acceder
cuando se consumen tus compromisos moneta-
al análisis de costes, en el que puedes explorar los
rios de crédito de Azure. Los compromisos mo-
costes relacionados con el ámbito de la alerta.
netarios son para organizaciones con contratos
empresariales. Las alertas de crédito se generan
automáticamente cuando el saldo de crédito de
Azure alcanza el 90 % y el 100 %. Cada vez que
se genera una alerta, esto queda reflejado en las
alertas de costes y en el correo electrónico envia-
do a los propietarios de la cuenta.
• Las alertas de cuota de gastos de departamento
te envían una notificación cuando el gasto del
departamento alcanza un umbral fijo de la cuota.
Las cuotas de gasto se configuran en el portal de EA.
La guía de Azure para 126
desarrolladores
Cómo usar las API
de facturación
de Azure
Las API de facturación de Azure se pueden utilizar para
insertar datos de uso y recursos en tus herramientas de
análisis de datos preferidas. Estas API se implementan
como un proveedor de recursos y forman parte de la
familia de API expuestas por Azure Resource Manager.
Hay tres API de facturación de Azure disponibles:
• API de uso: se utiliza para obtener datos
de consumo de una suscripción de Azure.
• API de RateCard: se utiliza para obtener información
de metadatos de los medidores (también conocidos
como “recursos”) junto con los precios.
• API de facturas: se utiliza para descargar facturas.
Las API de facturación de Azure se exponen como API
REST y se pueden integrar en escenarios de aplicaciones
personalizadas. Se pueden utilizar para obtener más
información sobre el gasto en el cloud durante el mes
y el consumo estimado, entre otras cosas. Se pueden
consultar y almacenar en una base de datos para su
uso posterior, o se pueden integrar en soluciones
de informes como Power BI para ofrecer una mayor
flexibilidad al acceder y mostrar datos de facturación.
Como hemos visto a lo largo de este capítulo, hay
muchas opciones disponibles no solo para servicios en
el cloud, sino también para codificar configuraciones
mediante IaC a través de varios proveedores diferentes.
Con herramientas nativas de la plataforma como Azure
Cost Management y Azure Advisor, puedes obtener una
imagen clara de tus gastos, así como la capacidad de
dimensionar tu capacidad correctamente. Se pueden crear
alertas para supervisar tendencias de gasto específicas,
y es muy fácil elaborar informes gracias a las API de
facturación de Azure integradas.
La guía de Azure para 127
desarrolladores
08 /
Microsoft
Azure en
acción
La guía de Azure para 128
desarrolladores
Navegar por el Esto abre el cuadro de búsqueda de Azure Marketplace,
donde lo encontrarás todo, desde aplicaciones web
portal de Azure a servidores Linux, como se muestra en la figura 8.1:
En esta sección, aprenderás a desarrollar tu primera
aplicación web y base de datos en Azure. Para aquellos
que no tienen experiencia en Azure, hemos ofrecido
un recorrido rápido por Azure, comenzando por
el portal de Azure.
El portal de Azure es una consola web unificada
que proporciona una alternativa a las herramientas
de línea de comandos. Puedes administrar tu
suscripción a Azure con el portal de Azure y crear,
administrar y supervisarlo todo, desde aplicaciones web
sencillas hasta implementaciones complejas en el cloud.
Te permite crear paneles personalizados para una vista
organizada de los recursos y configurar opciones de
accesibilidad para disfrutar de la mejor experiencia.
Los paneles proporcionan una vista detallada de
los recursos de tu suscripción que más te interesan.
Inicialmente se proporciona el panel predeterminado.
Puedes personalizar este panel para incorporar los
recursos que utilizas con frecuencia en una sola vista.
Cualquier cambio que hagas en la vista predeterminada
afectará solo a tu experiencia. Sin embargo, puedes
crear paneles adicionales para tu propio uso o publicar
paneles personalizados y compartirlos con otros Figura 8.1: Panel de Azure Marketplace
usuarios de tu organización.
Puedes encontrar y añadir servicios en el portal de
Azure de diversas formas. Para crear nuevos servicios,
selecciona + Crear un recurso en la pantalla de inicio
de Azure o haz lo mismo en el menú de navegación de
la izquierda, que se puede expandir seleccionando el
icono de hamburguesa en la esquina superior izquierda
del portal de Azure.
La guía de Azure para 129
desarrolladores
El panel de Azure Marketplace aparece relleno con
servicios populares agrupados en categorías. Si esta
lista no incluye lo que estás buscando, puedes usar el
cuadro Buscar servicios y marketplace para escribir
una palabra clave de búsqueda. Cuando encuentres
el servicio que deseas en los resultados de búsqueda,
tendrás que seleccionarlo; un asistente te guiará por
el proceso de configuración e implementación.
Para obtener más información sobre cómo navegar
por el portal de Azure, usa Azure Quickstart Center, una
experiencia guiada en el portal de Azure disponible para
cualquier persona que desee mejorar sus conocimientos de
Azure. Para las organizaciones que no tienen experiencia en
Azure, es la forma más rápida de incorporar y configurar un
entorno de cloud.
Echa un vistazo a este tutorial de inicio rápido y a otros
recursos adicionales.
TUTORIAL
Crear una máquina virtual Linux
en el portal de Azure
Empieza a usar Azure
Seminario web semanal: demostración
de Azure con sesión de preguntas
y respuestas en directo
Ahora, vamos a usar el portal de Azure para crear una
nueva máquina virtual.
La guía de Azure para 130
desarrolladores
Desarrolla tu Por ejemplo, si un usuario crea un nuevo elemento de
tareas pendientes con el texto “cena familiar próximo
primera aplicación viernes a las 21:00 h”, la aplicación creará un elemento
de calendario para ese viernes específico a las nueve
web y amplíala de la tarde con el tema “cena familiar”.
con Logic Apps
Esto se puede configurar con la característica Logic
Apps de Microsoft Azure App Service y Language
Understanding (LUIS), de la siguiente manera:
y Cognitive Services • La aplicación .NET Core escribe la lista de tareas
pendientes en la base de datos SQL.
• La aplicación lógica se activa por cada nueva fila
que se crea en la base de datos.
Utilizaremos este tutorial para desarrollar e implementar
• La aplicación lógica toma el texto de la lista
una aplicación de lista de tareas en Azure. Aprenderás
de tareas pendientes y lo pasa a LUIS.
a crear una aplicación .NET Core y una base de datos
SQL en Azure, a conectar la aplicación con la base de • LUIS analiza el texto y crea un elemento de
datos y a implementarla en Azure App Service. También calendario en tu calendario de Microsoft 365,
aprenderás a actualizar el modelo de datos y a volver si el texto contiene una fecha y una hora.
a implementar la aplicación, transmitir registros de
diagnóstico desde Azure y administrar la aplicación No tienes que cambiar la aplicación de ninguna forma
en el portal de Azure. para añadir esta funcionalidad. Logic Apps y Cognitive
Services son servicios adicionales que simplemente
Para prepararte para este tutorial, necesitarás que analizan los datos que ya existen.
Git v2 o superior, .NET Core y Visual Studio Code
estén instalados en tu dispositivo.
Creación de LUIS
Ampliar las aplicaciones con Logic Primero, crearás LUIS para poder usarlo después
Apps y Cognitive Services en tu aplicación lógica.
Una vez que la aplicación y la base de datos se hayan Puedes utilizar el portal de LUIS para crear un modelo
implementado en Azure, puedes empezar a añadir de lenguaje. En primer lugar, debes añadir algunas
características adicionales. Una característica eficaz de entidades, que son elementos del texto que el servicio
tu aplicación es la capacidad de analizar el contenido reconocerá. A continuación, especificas los enunciados,
de las tareas pendientes y luego crear automáticamente que son textos de muestra que representan la intención
citas en el calendario para las tareas que requieren una que quieres detectar.
fecha específica.
La guía de Azure para 131
desarrolladores
A continuación, se muestra un ejemplo de un enunciado:
“cena familiar el próximo viernes a las 21:00 h”
INICIO
RÁPIDO
Cómo crear LUIS
Creación de la aplicación lógica
A continuación, para integrar LUIS en la aplicación, crea
una aplicación lógica de Azure. Dentro de la aplicación
lógica, se puede usar el conector de LUIS para añadir
acciones e integrar LUIS con tus aplicaciones.
Cuando se utilizan acciones de LUIS, se introduce
la clave de API para el servicio de LUIS para que
la aplicación lógica se pueda conectar e integrar con
el servicio Language Understanding. A continuación,
configurarás la aplicación lógica para que pase
el texto del enunciado a LUIS y lo use para reconocer
los enunciados.
Por ejemplo, se podría añadir una acción “LUIS: obtener
predicciones” a una aplicación lógica que se conecte
a una base de datos SQL que se active cuando se cree
una nueva fila. La aplicación lógica podría pasar el texto
recuperado de la fila de la base de datos a LUIS para
que pueda realizar el reconocimiento de enunciados.
A continuación, la aplicación lógica podría volver
a guardar el resultado en la base de datos o utilizarlo
para ejecutar acciones adicionales para realizar tareas
basadas en esos resultados.
La guía de Azure para 132
desarrolladores
Listo para
Hay ranuras de implementación para el ensayo, las
pruebas de carga y la producción (que es siempre
producción
el servicio de aplicaciones original y, en nuestro caso,
la aplicación web de .NET Core). De hecho, puedes
tener tantas ranuras de implementación como
desees sin que se apliquen costes adicionales.
Hasta ahora, hemos estado enviando código desde Todas las ranuras de implementación se ejecutan
nuestro repositorio local de Git a Azure. Esto está en el mismo plan de App Service, que es el que se
bien si se trabaja solo, pero si se trabaja en un equipo, paga. Tener ranuras de implementación adicionales
se necesitará otro tipo de control del código fuente, en un plan de App Service consumirá recursos como
como Azure DevOps Repos, uno de los servicios CPU y memoria, por lo que debes considerar cómo
de Azure DevOps o GitHub. las ranuras adicionales podrían afectar a la producción.
Puedes crear nuevas ranuras de implementación desde
Configuración de la entrega el elemento de menú Ranuras de implementación de
continua con GitHub la aplicación web. Debes ejecutar la aplicación web
en el nivel de precios Estándar o Premium, ya que el
Con tu aplicación ejecutándose en Azure, podrías plan gratuito no incluye ranuras de implementación
usar un repositorio de GitHub para enviar el código adicionales.
y después enlazarlo a tu aplicación web para que los
cambios se implementen automáticamente en una En cada ranura de implementación que crees,
canalización de entrega continua. puedes configurar las opciones de implementación
como lo hicimos antes para implementar el código
La entrega continua se puede configurar con la automáticamente. Puedes incluso trabajar en diferentes
característica Centro de implementación de Web ramas de código fuente para distintos entornos
Apps a través del portal de Azure. Esta característica e implementar automáticamente ramas concretas
te permite elegir la ubicación de tu código, así como en ranuras de implementación específicas.
opciones de creación e implementación en el cloud.
Además, puedes probar la versión final en una ranura
de implementación y después intercambiarla con
Configuración de entornos la versión en la ranura de producción. Esto prepara
de ensayo la aplicación antes del intercambio, lo que se traduce
en una implementación sin tiempo de inactividad.
Con las aplicaciones web de Azure App Service,
puedes configurar una ranura de ensayo para probar
nuevas versiones de tu aplicación mediante ranuras de
implementación. Las ranuras de implementación son
servicios de aplicaciones con los que puedes probar
el código antes de llevarlo a la siguiente ranura.
La guía de Azure para 133
desarrolladores
Escalado de la aplicación web Configuración de alertas
y supervisión
Cuando tu aplicación web reciba mucho tráfico y los
usuarios realicen muchas actividades en ella, puedes Azure Monitor Application Insights proporciona
ampliarla para dar cabida al aumento del tráfico. Por otra forma eficaz de hacer un seguimiento de las
el contrario, cuando tu aplicación web esté inactiva, aplicaciones. Esta herramienta de supervisión facilita
puedes reducir su capacidad para recortar costes. información sobre tu aplicación, como cuántos
Puede hacer esto con suma facilidad gracias a la visitantes la han usado, el número de excepciones
característica de escalado automático de Azure App que se han producido y en qué parte del código se
Service. Lo mejor de esta característica es que solo produjeron. A diferencia de los registros de diagnóstico,
se tarda unos segundos en ajustar la configuración Application Insights requiere una tarifa nominal.
de escalado, y ni siquiera necesitas realizar cambios
en el código ni volver a implementar la aplicación.
Añadir una capa de sockets seguros
Para usar esta característica, debes ejecutar las
aplicaciones web en el nivel de precios Estándar Cuando una aplicación está lista para la
o Premium. Otra opción es usar el nivel gratuito para producción, debes confirmar que es segura.
ejecutar una sola instancia de una aplicación web. Además de la autenticación y la autorización,
suministrar la aplicación web a través de HTTPS
Puedes obtener más información sobre cómo escalar es una de las medidas de seguridad más importantes
tu aplicación en Azure App Service aquí. que puedes tomar. El motivo es que, sin HTTPS, los
intrusos podrían ver el tráfico entre tus recursos
y utilizar esta información con fines malintencionados,
Uso de registros de diagnósticos como iniciar sesión en tu aplicación. Además, HTTPS
es obligatorio para características avanzadas como los
Una forma eficaz de supervisar la aplicación es trabajos de servicio.
usar registros de diagnóstico para ver el registro de
diagnóstico en directo de la aplicación web. Puedes Suministrar tráfico a tu aplicación web a través de Capa de
incluso insertar los registros en la ventana de la consola. sockets seguros (SSL) es posible mediante la importación
Para ello, ejecuta el siguiente comando en Cloud Shell: de un certificado SSL en Web Apps y su enlace con uno de
tus nombres de dominio personalizados. Puedes importar
az webapp log tail --name <app_name> tu propio certificado SSL o comprar uno nuevo a través de
--resourcegroup <myResourceGroup>
Certificados de Azure App Service. Este servicio facilita la
compra y validación de certificados. Después de importar
Podrás ver los registros de diagnóstico cuando utilices el certificado, debes asociarlo a uno de los enlaces de
la aplicación en la aplicación web para generar tráfico. nombres de dominio de tu aplicación web. Puedes
hacer todo esto desde la configuración de TLS/SSL de la
aplicación web.
La guía de Azure para 134
desarrolladores
Notificar a los usuarios las
nuevas versiones
Tu empresa puede aprovecharse de que los usuarios
conozcan los nuevos lanzamientos de productos.
Al ampliar el proceso de integración/entrega continua
(CI/CD) en las versiones de Azure, puedes usar un
flujo de trabajo de Logic Apps para gestionar la
comunicación en redes sociales, como la difusión de
tweets o las publicaciones con notas de la versión.
Se podría instrumentar una canalización de Azure
para desencadenar la ejecución de la aplicación
lógica después de que una canalización de
publicación haya terminado de publicar nuevos
cambios en la aplicación. Como alternativa, la
característica Eventos de la aplicación web de App
Service podría configurarse para desencadenar
una aplicación lógica basada en eventos emitidos
por Azure App Service, por ejemplo, cuando se
intercambian las ranuras de implementación.
Obtén más información sobre cómo diseñar soluciones
de Azure con estos recursos gratuitos:
CENTRO DE
RECURSOS
Azure para arquitectos
Crear soluciones fantásticas con
la ruta de aprendizaje de Azure
de Microsoft Learn
La guía de Azure para 135
desarrolladores
09 /
Resumen
En esta guía, hemos analizado el poder que Azure
puede aportar a tus aplicaciones. Con Azure, puedes
hacer cosas increíbles con tus aplicaciones, incluido el
hosting y el escalado de tus aplicaciones web, el uso
y recursos
de contenedores y el uso de la IA en tus aplicaciones,
mientras que solo pagas por lo que utilizas.
Ya has descubierto que Azure tiene servicios para
casi todos los casos, por lo que puede serte útil
independientemente del lenguaje de programación
que uses o de la plataforma para la que escribas las
aplicaciones. Antes de terminar, te proporcionaremos
algunos recursos valiosos para ayudarte a embarcarte
en tu viaje de Azure.
La guía de Azure para 136
desarrolladores
Sigue aprendiendo Certificaciones de Azure
Consigue certificaciones que demuestren que estás al
con Azure día con las funciones técnicas y los requisitos actuales.
Comunidades y encuentros de Azure
Únete a nuestras reuniones organizadas por la
Con tu cuenta gratuita de Azure podrás conseguir comunidad, donde aprenderás de tus compañeros
todo esto y no te cobraremos nada hasta que decidas a solucionar problemas conocidos, conocerás proyectos
actualizar tu cuenta: divertidos y obtendrás las novedades de Microsoft Azure.
• 12 meses de servicios populares gratis
• Un crédito de 200 USD para explorar cualquier
Microsoft Learn
Obtén nuevos conocimientos y descubre el potencial
servicio de Azure durante 30 días
de los productos de Microsoft Azure con instrucciones
• Más de 25 servicios siempre gratuitos
paso a paso.
Consejos y trucos de Azure Learn TV
Explora una colección de ideas útiles para aumentar Inicia tu viaje hoy mismo explorando nuestras rutas
tu productividad con Azure. y módulos de aprendizaje de Azure, incluido Learn TV,
que incorpora el contenido digital más reciente para
Azure Friday mantenerte siempre al día de los últimos anuncios,
Echa un vistazo a los servicios y características de características y productos.
Azure con el equipo de ingenieros de Microsoft.
[Link]
Recibe un resumen periódico de contenido técnico
relevante, eventos y cursos. Aprende nuevas tecnologías
y descubre oportunidades para ponerte en contacto
con otros desarrolladores online y localmente.
La guía de Azure para 137
desarrolladores
Multitud de
• Empieza a trabajar con Kubernetes: con la
colección Kubernetes, obtendrás múltiples
recursos gratuitos
recursos que te ayudarán a obtener los
conocimientos y la experiencia práctica
necesarias para empezar a trabajar con
Kubernetes, todo en un solo lugar.
• Análisis en el cloud con Microsoft Azure:
Además de esta guía, hay muchos otros recursos gratuitos
maximiza el impacto de BI reuniendo los datos de
relacionados con Azure, incluidos los siguientes:
todos tus orígenes con Azure Synapse Analytics.
• Azure para desarrolladores: una lista
• Presentación de Microsoft SQL Server
de recursos para desarrolladores para
2019: descubre las novedades de Microsoft
el desarrollo de aplicaciones.
SQL Server 2019, una plataforma para la
• Azure para arquitectos: una guía completa
administración de datos moderna, segura
para arquitectos de Azure.
y conforme a las normativas.
• Guía de estrategia e implementación de Azure:
• Libro de instrucciones de redes de Azure:
obtén una introducción paso a paso sobre el uso de
configura, administra, supervisa y soluciona
Azure para tu infraestructura de cloud y aprende
los problemas de las red más eficazmente con
a crear una buena estrategia de adopción del
las soluciones de redes de Azure.
cloud con las nuevas innovaciones, funciones
• Creación de aplicaciones inteligentes en el
y características de seguridad de Microsoft Azure.
cloud: crea e implementa modelos escalables
• Aprende Azure durante las comidas de un mes:
de machine learning y aprendizaje profundo
un método práctico para aprender Azure desde
mediante arquitecturas sin servidor con Azure.
cero a la hora de comer durante un mes.
• Azure Proof of Concept Guide for Developers: Gracias a la amplia variedad de soluciones
comprueba si un concepto funciona o no antes preconfiguradas en Azure, se acabaron los días en que
de que tu organización realice una inversión tenías que escribir complicadas secuencias de código.
importante. Aprende a crear y ejecutar una Libérate de trabajo para centrarte en las cosas que
prueba de concepto para desarrollar aplicaciones importan aprovechando todo lo que Azure tiene que
en Azure, desde un plan bien diseñado hasta ofrecerte. Esperamos que sigas consultando esta guía
resultados de pruebas cuantificables. para familiarizarte un poco más con la amplia gama de
• Libro de instrucciones de la computación sin servicios de Azure y para determinar cuáles se ajustan
servidor de Azure: encuentra casos de uso, mejor a tus necesidades.
recetas prácticas y tutoriales para configurar
rápidamente tu propio entorno sin servidor.
La guía de Azure para 138
desarrolladores
Acerca de los Ha sido reconocido como MVP de Microsoft por sus
contribuciones a la comunidad tecnológica. Puedes
autores seguir a Jack en Twitter en
@jlee_consulting.
Josh Garverick
Has Altaiar Josh Garverick es MVP de Microsoft en Azure
Has es un entusiasta y galardonado tecnólogo con más de y administración del ciclo de vida de las aplicaciones
15 años de experiencia profesional en grandes organismos con más de 15 años de experiencia en desarrollo de
corporativos, gubernamentales y digitales. En su trabajo, software. Tiene experiencia en el uso de prácticas
Has se ha centrado en los datos, IoT, IA y DevOps. Ha recomendadas de DevOps, así como en el diseño
realizado con éxito muchos proyectos seguros, escalables y la modernización de aplicaciones para permitir la
y galardonados para diversos ámbitos, incluidos servicios adopción de Azure. Es autor del libro Migración a Azure:
médicos, financieros y servicios públicos. Has también transformación de aplicaciones heredadas en soluciones
es MVP de Microsoft MVP (Profesional Más Valioso) escalables basadas en el cloud, publicado por Apress.
y organizador y ponente habitual en conferencias Puedes seguir a Josh en Twitter en @jgarverick o en
locales e internacionales. Puedes seguirle en LinkedIn LinkedIn en [Link]
@altaiar o en Twitter @hasaltaiar.
Mustafa Toroman
Ingrid Babel Mustafa Toroman es un arquitecto de soluciones centrado
Ingrid Babel es directora sénior de productos técnicos en aplicaciones nativas del cloud y en la migración de
de Microsoft Azure. Su objetivo es ayudar a los sistemas existentes al cloud. Está muy interesado en los
desarrolladores a utilizar todo el potencial del cloud procesos de DevOps y la ciberseguridad, y también es un
creando contenido accesible para cualquier persona entusiasta de la infraestructura como código y embajador
y en cualquier nivel. Puedes seguirla en LinkedIn en del DevOps Institute. Mustafa participa a menudo en
[Link] conferencias internacionales sobre tecnologías de cloud.
Ha sido MVP de Microsoft Azure desde 2016 y C# Corner
Jack Lee MVP desde 2020. Mustafa también ha escrito varios libros
Jack Lee es consultor sénior certificado de Azure y director sobre Microsoft Azure y la computación en el cloud.
de prácticas de Azure; tiene pasión por el desarrollo
de software, el cloud y las innovaciones de DevOps. Vahe Minasyan
Es un colaborador activo de la comunidad tecnológica Vahe Minasyan es director de proyectos técnicos del
de Microsoft y ha realizado presentaciones ante varios equipo de marketing de productos de Microsoft Azure.
grupos de usuarios y en conferencias, también en el Su pasión es ayudar a los desarrolladores a usar la
Global Azure Bootcamp en Microsoft Canadá. Jack potencia de Azure para sus necesidades de desarrollo
es un mentor y juez experimentado en hackathons de software. Puedes contactar con Vahe en LinkedIn
y también es el presidente de un grupo de usuarios que [Link] y
se centra en Azure, DevOps y el desarrollo de software. también puedes encontrarlo en GitHub.
Es coautor de Azure para arquitectos, Guía de estrategia
e implementación de Azure y Análisis en el cloud con
Microsoft Azure, publicados por Packt Publishing.
La guía de Azure para 139
desarrolladores
Autores de ediciones anteriores
Michael Crump Barry Luijbregts
Michael Crump trabaja en Microsoft en la plataforma Barry Luijbregts es un arquitecto de software
Azure y es programador, bloguero y ponente independiente, desarrollador apasionado del
internacional sobre diversos temas relacionados cloud y autor de cursos de Pluralsight.
con el desarrollo en el cloud. Le encanta ayudar
a los desarrolladores a entender los beneficios Puedes comunicarte con Barry en Twitter @AzureBarry,
del cloud de una forma clara y sencilla. y a través de su sitio web en [Link]
Puedes contactar con Michael en Twitter, @mbcrump,
y seguir su transmisión de programación en directo en
[Link]
Chris Pietschmann
Chris Pietschmann es arquitecto jefe de soluciones de
DevOps y de cloud en Solliance y MVP de Microsoft con
Azure e IoT. Le apasiona ayudar a las personas y a los
equipos a ser más productivos en el cloud.
Sigue su blog en [Link]
PUBLICADO POR Microsoft Press, una división de Microsoft Corporation
One Microsoft Way, Redmond, Washington 98052-6399
Copyright © 2021 Microsoft Corporation. Todos los derechos reservados.
El contenido de este libro no puede transmitirse de ninguna forma ni por
ningún medio sin la autorización previa por escrito de la editorial.
Este libro se proporciona “tal cual” y expresa los puntos de vista y opiniones de los
autores. Los puntos de vista, las opiniones y la información vertidos en este libro,
incluidas las direcciones URL y otras referencias a sitios web de Internet, pueden
cambiar sin previo aviso. Algunos ejemplos recogidos en este libro tienen un
carácter únicamente ilustrativo y son ficticios. No debe suponerse ni derivarse
ninguna asociación o conexión real.
Microsoft y las marcas comerciales enumeradas en [Link] en la página
web de marcas comerciales, son marcas comerciales del grupo empresarial Microsoft.
Todas las demás marcas son propiedad de sus respectivos titulares.
The Developer’s
La guía de AzureGuide
para to Azure 140
desarrolladores