Documentos de Académico
Documentos de Profesional
Documentos de Cultura
desarrolladores
03 / 46 /
Introducción Trabajar y comprender IoT
06 / 47
48
Azure IoT Hub
Azure IoT Central
Aceleradores de soluciones de Azure IoT
Introducción a Azure 48
48 Azure IoT Edge
07 49 Obtener más información acerca de Azure IoT
Ejecuta lo que quieras en Azure
07 50 ¿Qué se usa en cada caso?
Seleccionar los servicios adecuados de Azure
13 Crear aplicaciones más rápidas
14
18
Dónde almacenar los datos
Análisis de Azure Data
51 /
22 Tutorial 1: La experiencia de Azure Portal Dónde y cómo implementar los
servicios de Azure
27 / 52 Infraestructura como código
Proteger una aplicación 53 Azure Service Fabric
53 Contenedores de Azure
28 Azure Active Directory 54 Azure Stack
28 Azure API Management 55 Dónde y cuándo implementar
28 Azure AD Application Proxy
56 /
28 Azure Key Vault
29 Managed Service Identity
29 Cifrado
29 Azure Security Center
Microsoft Azure en acción
30 Protección de Azure contra ataques de denegación de servicio
57 Tutorial 1: Desarrollar una aplicación web y una base de
distribuidos
30 datos en Azure
Azure Application Gateway
62 Tutorial 2: Expandir las aplicaciones con Azure Logic Apps y
30 Firewall de aplicaciones web de Azure
30 Cognitive Services
Azure Network Watcher
68 Tutorial 3: Listo para producción
31 Grupos de seguridad de red
74 Tutorial 4: Usar Azure API Management para controlar las
31 Zonas privadas DNS de Azure
31 API y generar documentación
Redes privadas virtuales en varios sitios
31 Azure ExpressRoute
31
32
Equilibradores de carga
Registro y supervisión
78 /
32 Documentación técnica y arquitectónica de seguridad de Azure
Resumen y siguientes pasos
33 /
Agregar inteligencia a tu aplicación
34 Búsqueda de Azure
34 Azure Cognitive Services
39 Azure Bot Service
39 Azure Machine Learning Studio
41 Azure Maps
41 Herramientas para desarrolladores de inteligencia artificial
42 Usar eventos y mensajes en una aplicación
Agosto Introducción 3
2018
Azure Storage Hasta 99,99 % si se utiliza almacenamiento georreplicado de acceso de lectura (RA-GRS)
estén donde estén. Eso también significa que Documentación y guías que resumen la
puedes guardar los datos donde más te convenga. información general de todo lo que incluye Azure
Y algo igual de importante: al utilizar recursos y proporcionan información detallada gracias a la
del cloud, puedes volver a reducir la escala de tus documentación específica de cada característica.
servicios y recursos cuando disminuya la demanda.
Comunidad de soporte, que contiene respuestas
Además de una gran escalabilidad, servicios a las preguntas de la comunidad y ofrece un lugar
inteligentes listos para usar y la eficiencia del pago para dialogar con la comunidad de Azure.
por uso, el cloud ofrece mayor seguridad. Todos los
días, millones de personas alrededor del mundo @AzureSupport en Twitter, que es operado por
usan el cloud. Por supuesto, también es un blanco hábiles ingenieros de Azure que responden con
habitual de ataque. Los proveedores de prestigio rapidez a los problemas que les presentas por Twitter.
y con experiencia en el cloud como Microsoft
Azure Friday, que da un vistazo a los servicios
reconocen los patrones de uso de los usuarios y características de Azure con el equipo de
normales y los de las personas malintencionadas. ingenieros de Microsoft.
Esto quiere decir que sabemos cómo proteger
frente a los ataques, tanto los más frecuentes como Azure Advisor, que hace recomendaciones de los
los más inusuales. Las herramientas de supervisión recursos de Azure de forma automática, incluido lo
inteligentes, los algoritmos de machine learning y la que necesitas hacer para lograr mayor seguridad
inteligencia artificial permiten a los proveedores y disponibilidad, mejorar el rendimiento y reducir
del cloud detectar los ataques en tiempo real los costes.
y detenerlos en seco. Las décadas de experiencia
Azure Service Health, que te ofrece una
en seguridad y tráfico de gran escala, combinados
visualización personalizada de la salud de tus
con una excepcional experiencia en la seguridad del
servicios de Azure.
sector, convierten el cloud en un entorno mucho más
seguro que cualquier centro de datos on-premises. Stack Overflow, que ofrece respuestas a preguntas
sobre Azure e incluye muchos mensajes activos de
Para obtener más información sobre cómo Azure
miembros de los equipos de ingeniería de Azure.
protege tus aplicaciones y datos, consulta la
documentación oficial de seguridad de Azure y la
información general de seguridad de Azure.
Introducción
Te uniste a la comunidad de Azure y ahora
quieres comenzar a desarrollar aplicaciones.
¿Qué necesitas? Realmente, no mucho. Lo más
Ejecuta lo que quieras Azure App Service consta de los siguientes elementos:
1. Recupera el código fuente más reciente desde Entorno de App Service: En una aplicación web
el repositorio indicado de varios niveles, a menudo se tiene una base de
datos o servicios utilizados por una aplicación en
2. Compila el código según la plantilla elegida
Aplicación web. Lo deseable es que esos servicios
(ASP.NET, Node.js, etc.)
solo estén expuestos a la aplicación y no a Internet.
3. Implementa la aplicación en un entorno de Desde luego, la propia aplicación está a menudo
ensayo y realiza una prueba de carga expuesta a Internet porque proporciona el punto
de acceso para los usuarios.
4. Implementa la aplicación en producción
después de la aprobación (puedes indicar si Para aislar estos servicios de soporte de Internet,
quieres utilizar una ranura de implementación) puedes utilizar una Azure Virtual Network. Este
servicio empaqueta tus servicios de soporte y los
Se conecta a recursos on-premises: Puedes conecta a tu aplicación en Aplicación web de tal
conectarte a recursos externos, tales como modo que los servicios de soporte solo están
almacenes de datos a tus App Services. No es expuestos a la aplicación, no a Internet. En este
necesario que estos recursos se encuentren en Azure; artículo se describe este servicio con más detalle
pueden estar en cualquier sitio, como on-premises, y se muestra cómo usarlo.
en tu propio centro de datos. Puedes conectarte
a servicios on-premises a través de muchos A veces, puedes querer tener aun más control. Tal
mecanismos, en función de tus necesidades. Puedes vez quieres que tu aplicación esté contenida en una
usar Conexiones híbridas de Azure, Azure Virtual red virtual para poder controlar el acceso. Quizás
Networks y Azure ExpressRoute para conectarte a los quieras que otra aplicación la invoque en Aplicación
recursos on-premises. web y que forme parte de tu back-end. En tal caso,
puedes usar un Azure App Service Environment.
Dominios personalizados y certificados de Azure Esto te proporciona una escala muy alta y te da
App Service: Cuando activas una app en Azure control sobre el aislamiento y el acceso a la red. Sin
App Service, expone una URL; por ejemplo, https:// embargo, debes tener en cuenta que App Service
myazurewebsite.azurewebsites.net. Es muy probable Environment solo está disponible para App Services
que quieras usar tu propio dominio personalizado. en el nivel de precios premium.
Para ello, tienes que asignar ese nombre de dominio
a App Services. Así es como lo haces. Nota: Actualmente, App Service Environment no
funciona para Web App for Containers.
Además, puedes asegurarte de que la aplicación
se sirve a través de HTTPS usando un certificado Azure Functions
de capa de sockets seguros (SSL). Puedes traer tu Con Azure Functions, solo tienes que escribir el código
propio certificado o comprar uno directamente que necesitas para una solución sin preocuparte por
desde el Azure Portal. Cuando compras un crear una aplicación completa o la infraestructura
certificado SSL desde el Azure Portal, compras para ejecutarla. Una función es una unidad de lógica
un certificado de Azure App Service, que puedes de código desencadenada por una solicitud HTTP, un
configurar para usarlo en los enlaces de los evento de otro servicio de Azure o una programación.
dominios personalizados. Los enlaces de entrada y de salida conectan el
código de la función con otros servicios, como Azure recursos del cloud y on-premises. Logic Apps tiene
Storage, Azure Cosmos DB y Azure Service Bus, disponibles muchos conectores con las API, como
e incluso servicios externos como Twilio y SendGrid. el que permite conectar con Azure SQL Databases,
Con Functions, puedes crear funciones con rapidez SalesForce, SAP, etc. También puedes exponer tus
y hospedarlas en un entorno versátil que realiza el propias API o funciones de Azure como conectores
para usarlas en una aplicación lógica, lo que te
escalado de forma automática.
permitirá realizar fácilmente acciones en sistemas
externos en tu flujo de trabajo o hacer que uno de
Otro aspecto que hace especial a Azure Functions
ellos active tu aplicación lógica.
es que puedes optar por pagar únicamente por las
funciones que se ejecuten sin tener que mantener
Al igual que las funciones de Azure, las
las instancias de computo en ejecución todo el mes.
aplicaciones lógicas no tienen servidor, se escalan
Esto se denomina también sin servidor porque solo
automáticamente y solo se paga por ellas cuando se
tienes que crear tu aplicación sin preocuparte por
ejecutan.
los servidores ni por el escalado de los mismos.
El siguiente ejemplo muestra un flujo de trabajo de
Puedes escribir funciones de Azure en C#, F#, Logic Apps:
JavaScript y en una lista creciente de lenguajes.
1. La aplicación lógica se activa mediante un
correo electrónico que contiene un pedido de
Un ejemplo de una aplicación que usa Functions es
envío que llega a Office 365.
una que activa una función cada vez que se carga un
nuevo archivo de imagen en Azure Blob Storage. Al 2. Con los datos del correo electrónico, la
hacerlo, la función ajustaría el tamaño de la imagen aplicación lógica comprueba la disponibilidad
y la escribiría en otra cuenta de Blob Storage. del artículo pedido en SQL Server.
Los datos de Blob que desencadenaron la función 3. La aplicación lógica envía un mensaje de texto
se pasan a la función como el parámetro myBlob, al teléfono del cliente utilizando Twilio (el
que incluye la dirección URL del Blob. Puedes número de teléfono estaba también en el correo
usar el parámetro de enlace de salida outputBlob electrónico), y en él se indica que el pedido se ha
para especificar el Blob en el que quieres escribir recibido y el artículo se ha enviado.
el resultado. No necesitas escribir el código para
Introducción a Azure Logic Apps
conectar a Blob Storage, solo configurarlo.
Contenedores
Crea tu primera función de Azure usando Azure
Portal Los contenedores son similares que las máquinas
virtuales, pero mucho más ligeras, y puedes
Azure Logic Apps iniciarlas y detenerlas en solo unos segundos.
Puedes organizar la lógica de negocio con Logic Los contenedores también ofrecen tremenda
Apps, automatizar un proceso de negocio o portabilidad, lo cual los hace ideales para
integrar con aplicaciones de software como servicio desarrollar una aplicación localmente y luego
(SaaS). Al igual que en el caso de Azure Functions, hospedarla en el cloud, en pruebas y, más adelante,
Logic Apps se puede activar desde una fuente en producción. Incluso puedes ejecutar los
externa; por ejemplo, un nuevo mensaje en una contenedores on-premises o en otros clouds. El
cola de Azure Storage. Puedes enlazar llamadas de entorno que usas en tu equipo de desarrollo viaja
la API a conectores para crear un flujo de trabajo con el contenedor, por lo que tu aplicación se
(posiblemente complejo) en el que participen ejecuta siempre en el mismo ecosistema.
Agosto Introducción a Azure 11
2018
Al igual que las máquinas virtuales, los contenedores El objetivo de AKS es proporcionar un entorno de
te proporcionan mucho control sobre tu entorno. hosting de contenedor con el uso de tecnologías
Puedes instalar lo que necesites para ejecutar tus y herramientas de código abierto. Por ello, AKS
aplicaciones. Pero, de nuevo, serás responsable de expone los puntos de conexión Kubernetes API
aplicar las revisiones y mantener el SO que se ejecuta estándar. Mediante el uso de estos criterios de
en el contenedor, así como de otros elementos valoración estándar, puedes utilizar cualquier
auxiliares, como los programas antivirus. software que sea capaz de hablar con un racimo de
Kubernetes, como kubectl, helm o borrador.
Hosting de contenedores con Azure Container
AKS reduce la complejidad y la sobrecarga
Instances operativa de administrar un clúster de Kubernetes
Puedes hospedar tu contenedor usando Azure delegando gran parte de esa responsabilidad a
Container Instances. Azure Container Instances Azure. Como un servicio hospedado de Kubernetes,
proporciona capacidad de cómputo aislado y
Azure administra por ti tareas críticas, tales como
rápido para atender el aumento repentino de health monitor y mantenimiento. Además, solo
tráfico sin la necesidad de administrar servidores. pagas por los nodos de agente dentro de los
Por ejemplo, Azure Container Service (ACS) puede clústeres, no por los maestros. Como un servicio
usar Virtual Kubelet para aprovisionar pods dentro gestionado de Kubernetes, AKS proporciona
de ACI que comienzan en segundos. Esto permite actualizaciones de versiones y parches de
que ACS se ejecute con suficiente capacidad para Kubernetes de forma automática, fácil escalamiento
una carga de trabajo promedio. Al agotarse la de clústeres, plano de control hospedado de
capacidad en tu clúster de ACS, puedes escalar autorreparación (maestros), y ahorro de costes
con pods adicionales en ACI sin administrar ningún porque solo pagas por los nodos que se ejecutan
servidor adicional. del conjunto de agentes.
Dado que Azure se hace cargo de la administración
El servicio Azure Container Instances se factura
de los nodos en tu clúster de AKS, hay muchas
por segundo, por CPU virtual, por gigabyte o por
tareas que no tienes que realizar manualmente,
memoria.
como las actualizaciones de clústeres. Y como
Para obtener más información sobre Container
Azure se hace cargo de estas importantes tareas
Instances, consulta Introducción sobre Azure de mantenimiento, AKS no ofrece acceso directo
Container Instances (como en SSH) al clúster.
Escala y orquesta contenedores con Azure Para aprender más sobre AKS, consulta
Kubernetes Service Empieza ahora con Azure Kubernetes Serivce
Tabla 2-1: ¿Qué servicios de Azure son los más adecuados para qué tipos de aplicaciones?
web
Aplicaciones
Containers
Web Apps for
Mobile Apps
Functions
Logic Apps
Machines
Virtual
Kubernetes
Servicio de
Service Fabric
contenedor
Instancias de
Batch
Aplicaciones
monolíticas y X X X* X X
N-Tier
App de
arquitectura de X X X
microservicios
Orquestación y
flujos de trabajo
X X
de procesos de
negocio
Tareas intensivas
X
de cómputo
Ejecutar la
aplicación en
cualquier lugar X X X X
(incluso on-
premises)
porque es excelente para ejecutar componentes Figura 2-2: Azure Traffic Manager dirige el tráfico al punto
de aplicaciones con gran rendimiento y muy alta de conexión con mayor rendimiento desde el punto de vista
geográfico.
disponibilidad, al tiempo que las orquesta.
También puedes implementar aplicaciones a Azure Azure Traffic Manager escala en las regiones, lo
Service Fabric y administrarlas con tus herramientas cual ayuda a reducir la latencia y a proporcionar a
favoritas, como Visual Studio y Visual Studio Team los usuarios una experiencia de alto rendimiento,
Services. Además, Service Fabric recientemente sin importar dónde estén. Traffic Manager es
pasó a ser código abierto. un mecanismo de enrutamiento inteligente que
se antepone a, por ejemplo, las aplicaciones de
¿Qué se usa en cada caso? Aplicación web en todo el mundo. Aplicación web
Algunos de los servicios que ejecutan tu aplicación actúa como punto de conexión, y Azure Traffic
en Azure pueden funcionar bien conjuntamente en Manager supervisa el estado y el rendimiento.
una solución, mientras que otros son más adecuados Como se muestra en la Figura 2-2, cuando un
para diferentes propósitos. Esto puede dificultar la usuario accede a tu aplicación, Traffic Manager lo
elección de los servicios que en realidad necesitas. La dirige a la aplicación de Aplicación web que es más
Tabla 2-1 puede ayudarte a identificar qué servicios eficaz en su proximidad.
en Azure son los mejores para tu situación.
Incluir Traffic Manager en tu arquitectura es una
forma excelente de mejorar el rendimiento de tu
Crear aplicaciones más aplicación.
rápidas
Azure Content Delivery Network
Uno de los servicios de Azure que pueden ayudarte
Una vez que la aplicación esté funcionando en
a hacer tu aplicación más rápida es Azure Content
Azure, quieres que su rendimiento sea lo más alto
Delivery Network. Sube tus archivos estáticos
posible. Azure proporciona una gama de servicios
(vídeos, imágenes, JavaScript, CSS e incluso archivos
que pueden ayudarte con eso.
estáticos HTML) a un almacén de datos como Azure
Blob Storage y luego asocia Azure Content Delivery
Azure Traffic Manager
Network. Content Delivery Network replicará a
Muchas aplicaciones modernas tienen usuarios
continuación esos archivos estáticos en cientos de
en todo el mundo. Proporcionar una experiencia
puntos de presencia (PoP) repartidos por todo el
de alto rendimiento para todo el mundo es, como
mundo. Solo tienes que cambiar la referencia a los
poco, un reto. El problema más obvio al que tendrás
archivos estáticos en tu aplicación a una dirección
que enfrentarte es la latencia. La latencia es el
URL diferente. Por ejemplo, donde la referencia era
tiempo que tarda una señal o una solicitud en viajar
~/images/image.png, ahora sería https://example.
hasta un usuario. Entre más lejos estén los usuarios
de tu aplicación, más latencia experimentarán
Agosto Introducción a Azure 14
2018
azureedge.com/image.png. Es algo muy fácil de Cache. La ventaja de la caché es que almacena los
hacer y mejora el rendimiento de la aplicación de datos en un formato sencillo como clave-valor.
las siguientes formas: No necesitas ejecutar una consulta compleja para
obtener estos datos, basta con conocer la clave para
• Reduce el contenido suministrado desde la recuperar el valor. Esto puede mejorar mucho el
aplicación. Ahora lo suministra Content Delivery rendimiento de la aplicación. Así funciona este flujo
Network, lo que libera ciclos de procesamiento de trabajo:
en la aplicación
1. La aplicación necesita algunos datos e intenta
• Lleva el contenido estático físicamente más recuperarlos de la caché.
cerca de tus usuarios distribuyéndolo a puntos
2. Si los datos no están, los obtiene de la base de
de presencia repartidos por todo el mundo
datos y los almacena en la caché.
Content Delivery Network puede resultarte útil en
3. La próxima vez que la aplicación busque esos
aplicaciones web, pero también en aplicaciones datos, los encontrará en la memoria caché, lo
móviles y de escritorio. que evitará un viaje a la base de datos.
Un ejemplo de uso de Content Delivery Network es Azure proporciona caché como servicio con Redis
servir vídeos para una aplicación móvil. Los vídeos Cache. Esto se basa en el proyecto de código
abierto Redis y cuenta ahora con el respaldo de
pueden ser grandes y no deseas almacenarlos en el
los mejores SLA del sector. Es muy eficaz e incluye
dispositivo móvil (tampoco lo desean los usuarios).
opciones avanzadas como la agrupación en
Con Content Delivery Network, se sirven desde
clústeres y la replicación geográfica.
el punto de presencia, lo que también mejora el
rendimiento, ya que está cerca del usuario.
Introducción a Azure Redis Cache
SQL
Bases de datos
MySQL
PostgreSQL
MariaDB
Cosmos DB
Blob
Tabla
Cola
Archivo
Disco
Warehouse
SQL Data
Datos relacionales X X X X X X
Datos no estructurados X X X
Datos semiestructurados X X
Mensajes en cola X
Archivos en disco X
• Ajuste automático de base de datos, que supervisa Figura 2-3: Información general de los servicios de Azure
el rendimiento de tu base de datos y la ajusta Storage
• Dominios personalizados
Introducción a Azure Queue Storage
y moverlos. A continuación se muestran las cuando se sabe qué informes se van a mostrar a
principales características de Azure Data Lake: los usuarios y cuál es el esquema de datos de esos
informes. En ese caso, puedes crear esquemas en
• Capacidad de almacenamiento ilimitada. Un
SQL Data Warehouse y rellenarlos con los datos para
archivo puede tener más de un petabyte: 200
veces más de lo que ofrecen otros proveedores que los usuarios pueden examinar dichos datos.
del cloud.
Crea un Azure SQL Data Warehouse
• Rendimiento escalable para permitir grandes
cantidades de análisis en paralelo.
Análisis de Azure Data
• Puedes almacenar datos en cualquier formato
sin un esquema. Casi tan importante como almacenar datos es obtener
Este es un enfoque muy diferente al del almacén de conocimientos al analizarlos. Azure proporciona
datos tradicional, en el que los esquemas de datos muchos servicios para escenarios de análisis de datos,
se definen de antemano. lo que le permite obtener conocimientos valiosos
y útiles de sus datos, no importa qué tan grandes,
Por ejemplo, podrías utilizar Data Lake Store para pequeños o complejos sean.
almacenar todos los datos que obtienes de los
dispositivos del Internet de las cosas (IoT) que Data Factory de Azure
están recopilando datos de temperatura. Puedes Mover y transformar datos no es una tarea trivial.
dejar los datos en el almacén y luego filtrarlos y Azure Data Factory puede ayudarte a hacerlo.
crear una vista de los datos por hora o por semana. Dentro de Data Factory puedes crear un proceso
Almacenar los datos en Data Lake Store es bastante integral que realice todo el proceso de extracción,
económico, así que se pueden guardar años de transformación y carga (ETL).
datos en él a un coste muy bajo.
Data Factory puede mover los datos de forma
Introducción a Azure Data Lake Store con
Azure Portal
confiable de on-premises al cloud, dentro del cloud
o a on-premises. No importa dónde se encuentren
Azure SQL Data Warehouse las fuentes de tus datos. Data Factory también
Puedes usar Azure SQL Data Warehouse si necesitas ofrece muchos conectores que puedes utilizar
una solución de almacenamiento de datos tradicional para conectarse fácilmente con tus fuentes de
totalmente administrada, escalable en tamaño, datos, tales como SQL Server, Cosmos DB, Oracle y
segura y de alto rendimiento. Los datos se almacenan muchos más.
en esquemas predefinidos y se consultan usando el
lenguaje SQL de SQL Server ya conocido. Cuando mueves datos, también puedes filtrarlos
antes de enviarlos a un destino final, limpiarlos o
Dado que SQL Data Warehouse se ejecuta en Azure, transformarlos con una actividad en el proceso, tal
permite el uso de características avanzadas como como Apache Spark Activity. Además, Azure Data
la detección automática de amenazas, que utiliza Factory ofrece estas útiles características:
Machine Learning para entender los patrones de la • Procesos programados
carga de trabajo y servir como sistema de alarma
para avisar de posibles incumplimientos.
Un ejemplo de uso de SQL Data Warehouse es
Agosto Introducción a Azure 19
2018
• Migración mediante lift-and-shift de tus Utilizas Azure Data Lake Analytics al crear y enviar
paquetes SQL Server Integration Services (SSIS) tareas que consultan datos, los analizan o los
a Azure Data Factory transforman. Puedes escribir estas tareas en U-SQL,
que es un lenguaje tipo SQL, y expandir U-SQL con
Microsoft R y Python.
Crear una fábrica de datos con Azure Portal
Azure Time Series Insights Azure Data Lake Store. Databricks también funciona
Puedes utilizar Azure Time Series Insights para con datos de Azure SQL Data Warehouse, Azure
obtener información rápida sobre grandes SQL Database y Azure Cosmos DB. Además, puedes
cantidades de datos típicos de IoT. Este servicio conectar Databricks a Power BI para crear y mostrar
obtiene datos desde Azure Event Hub, IoT Hub y tus paneles de gran calidad.
propias entradas de referencia, y conserva dichos
datos por un tiempo, aproximadamente un año. Ejecuta una tarea de Spark en Azure Databricks
con Azure Portal
Azure Databricks está completamente integrado con Puedes crear un clúster Apache Storm, que está
Azure Active Directory, lo cual permite implementar diseñado para analizar streams de datos, como Azure
seguridad granular. Con Databricks, realiza análisis Stream Analytics. Además, puedes tener un clúster
de datos basados en Spark con datos que provienen Apache Spark, que ofrece un marco para procesar y
de muchos lugares, tales como Azure Storage y analizar enormes cantidades de datos.
Agosto Introducción a Azure 21
2018
HDInsight también puede ejecutar un clúster Hay más tipos de clúster, así como herramientas que
para Microsoft Machine Learning Server puedes usar dentro de los clústeres. Puedes realizar
(anteriormente, servidor Microsoft R). Esto te permite casi cualquier tarea de análisis y procesamiento de
ejecutar tareas basadas en R para analizar datos. datos con una combinación de estos clústeres, y
Por último, puedes crear un clúster que ejecute todos se administran en el cloud.
Apache Kafka, el cual es un sistema de mensajes
de suscripción-publicación que se utiliza para Extrae, transforma y carga datos con Apache
desarrollar aplicaciones con mecanismos de cola. Hive en Azure HDInsight
Analysis Services
Stream Analytics
Azure Databricks
Azure HDInsight
Transformar datos X X X X X X X
01 /
Ahora que has adquirido una noción general de los
servicios disponibles en Azure, profundicemos un
poco con breve tutorial.
experiencia de
central de Azure, en la que puedes hacer todo lo
que quieras con Azure. La mayoría de las cosas que
se pueden hacer en Azure Portal se pueden hacer
Crear una nueva máquina virtual de tamaño para las máquinas virtuales: algunas
Vamos a usar Azure Portal para crear una nueva son pequeñas y otras increíblemente grandes.
máquina virtual (VM). Después de crearla, te Puedes usar el asistente para seleccionar cuántos
mostraremos cómo apagarla y eliminarla para no núcleos y cuánta memoria quieres, y elegir las
seguir pagando por ella. opciones en función de eso. Además, hay otras
características que tienen opciones de tamaño:
Una nota sobre los grupos de recursos
La máquina virtual se implementará en un grupo a. Tipo de disco duro (SSD o disco duro normal).
de recursos. Todos los recursos de Azure residen b. Cantidad máxima de IOPS (operaciones
en grupos de recursos. Un grupo de recursos es de entrada/salida por segundo). Esto
un contenedor lógico que alberga los recursos. determina en gran medida el rendimiento
Puedes administrar la seguridad de un grupo de de la máquina virtual, especialmente si las
investigación y ver lo que cuestan los recursos del aplicaciones ejecutadas leen y escriben
grupo. Es una práctica habitual agrupar los servicios mucho en el disco duro.
relacionados en un grupo de recursos para facilitar c. Cantidad de unidades de datos que se
su protección y para poder determinar fácilmente lo pueden instalar en la máquina virtual.
que cuestan. d. Capacidad para equilibrar la carga.
e. Tarjeta gráfica que se instala en la máquina
1. En Azure Portal, en la esquina superior izquierda, virtual. Esto resulta útil si necesitas hacer
haz clic en el botón Crear un nuevo servicio. mucha representación de gráficos o si hay
cargas de trabajo computacionales altas.
2. En el cuadro de búsqueda, escribe Linux
virtual machine. 6. Después de seleccionar el tamaño, puedes
configurar ajustes adicionales como la red
3. Haz clic en Windows Server 2016 Datacenter.
virtual, la dirección IP y las extensiones en la
4. Haz clic en Crear. Se abre el Asistente para crear máquina. Por ahora, déjalo todo como está y
máquinas virtuales. haz clic en Aceptar.
a. Elige un nombre para la máquina virtual. 7. Repasa el resumen, acepta los términos y haz
b. Elige el tipo de unidad. SSD proporciona clic en Crear.
una máquina virtual más rápida, pero
Ahora se implementará la máquina virtual.
también es más caro. Para este tutorial,
Generalmente se tarda solo unos minutos. ¡Después
elige SSD.
c. Escribe un nombre de usuario. de esto tendrás una máquina virtual ejecutándose
d. Selecciona Contraseña en tipo de en Azure! Cuando navegas a la máquina virtual
autenticación. en el portal de Azure, puedes ver su estado,
e. Escribe una contraseña y confírmala. configurarla e iniciar sesión con RDP.
f. En el cuadro Grupo de recursos, escribe
Para iniciar sesión en la máquina virtual con
un nuevo nombre.
g. Elige la ubicación de la máquina virtual RDP, haz clic en el botón Conectar en la hoja de
y haz clic en Aceptar. información general de la máquina virtual en el
portal de Azure (Figura 2-10). Esto activará una
5. Elige el tamaño de la máquina virtual. descarga del archivo RDP, el cual puedes abrir
y utilizar para conectarte a la máquina virtual.
El rendimiento de la máquina virtual determina
lo que se paga por ella. Hay muchas opciones
Agosto Introducción a Azure 26
2018
Proteger una
La seguridad es uno de los aspectos más
importantes de cualquier aplicación y no es fácil
gestionarla bien. Afortunadamente, Azure ofrece
De esta forma, los administradores pueden • Azure Disk Encryption cifra volúmenes
controlar los secretos y los desarrolladores no de datos, arranque de máquinas virtuales
tienen que ocuparse de ellos. e infraestructura como servicio (IaaS)
de Windows y Linux utilizando claves
Key Vault también almacena certificados, como administradas por los clientes.
capa de sockets seguros (SSL), que se usan
• Azure Storage Service Encryption cifra los
para proteger el tráfico intercambiado por las
datos de forma automática antes de persistir
aplicaciones a través de HTTPS.
en Azure Storage, y después descifra los datos
automáticamente cuando los recuperas.
Introducción a Azure Key Vault
• Azure Client-Side Encryption es compatible
Managed Service Identity con cifrado de datos dentro de las aplicaciones
¿Cómo evitas que las credenciales sean localizables cliente antes de cargar a Azure Storage u otras
dentro del código? Utilizar Azure Key Vault es un terminales, y después descifra los datos al
comienzo, pero ¿dónde almacenas las credenciales descargarlos al cliente.
para conectarte a Key Vault? Azure Managed • SQL Transparent Data Encryption (TDE) cifra
Service Identity proporciona una solución. los archivos de datos de SQL Server, Azure
SQL Database yAzure SQL Data Warehouse.
Puedes utilizar Managed Service Identity desde Los archivos de registro y los datos se cifran
muchos servicios en Azure, incluido Azure App utilizando algoritmos de cifrado estándar de
Service. Simplemente habilitas Managed Service la industria. Las páginas en una base de datos
Identity con un botón para inyectar las credenciales se cifran antes de escribirse en el disco y se
a tu aplicación en el momento de ejecución y descifran al leerlas.
después utilizas esas credenciales para obtener
acceso a otros servicios, como Azure Key Vault. • SQL Always Encrypted cifra los datos dentro de
Toda la autenticación entre los servicios se realiza aplicaciones cliente antes de almacenarlos en
en el nivel de infraestructura. Tu aplicación no tiene Azure SQL. Permite delegar la administración
que ocuparse de eso y puede simplemente usar de bases de datos on-premises a terceros, y
otros servicios. mantiene una separación entre quienes son
propietarios y pueden ver los datos y quienes la
administran pero no deben tener acceso a los
Cómo utilizar Azure Managed Service Identity mismos.
(preview pública) en App Service y Azure Functions
• Azure Cosmos DB no requiere ninguna
Cifrado acción de tu parte porque los datos del
Cifrado predeterminado de datos: De manera usuario almacenados en Cosmos DB en un
predeterminada, los datos se encuentran cifrados almacenamiento no volátil (unidades de estado
en Azure cuando se almacenan en Azure SQL sólido) están cifrados de forma predeterminada
Database, Azure SQL Data Warehouse, Azure y no existen controles para modificar esa
Database for MySQL, Azure Database for configuración.
PostgreSQL, Azure Storage, Azure Cosmos DB o
Azure Security Center
Azure Data Lake Store.
Azure Security Center proporciona una
Este cifrado se realiza automáticamente y no administración de la seguridad unificada y una
protección avanzada frente a las amenazas en
necesitas configurar nada para utilizarlo. Para
cargas de trabajo en el cloud híbrido. Ofrece
ayudar a satisfacer tus requerimientos de seguridad
controles de política centralizados para limitar la
y cumplimiento, puedes utilizar las siguientes
exposición a amenazas y encontrar y solucionar
funciones para encriptar datos en reposo:
Agosto Proteger una aplicación 30
2018
equilibrar la carga de todos los flujos de TCP y UDP los usuarios con tu aplicación. Funciona para
que llegan a todos los puertos de un equilibrador de aplicaciones en diversas plataformas hospedadas
carga interno. en el cloud y on-premises, incluidas .NET, Node.js y
J2EE. Application Insights se integra con tu proceso
Obtén más información sobre equilibradores
de carga y reglas de puertos de HA DevOps y tiene puntos de conexión con una variedad
de herramientas de desarrollo. Puede supervisar y
Registro y supervisión analizar telemetría para apps móviles al integrarse
Azure Log Analytics: Azure Log Analytics te ayuda con Visual Studio App Center y HockeyApp.
a recopilar y analizar datos generados por recursos
en tus entornos de cloud y on-premises. Proporciona Azure Blueprint: El proyecto de seguridad y
conocimiento en tiempo real mediante paneles cumplimiento de Azure: IA y datos médicos HIPAA/
personalizados y de búsqueda integrada para HITRUST proporciona herramientas y orientación
analizar millones de registros en todas las cargas de para ayudar a implementar un entorno PaaS que
trabajo y servidores sin importar su ubicación física. cumpla con los estándares de la Health Insurance
Portability and Accountability Act (HIPAA) y la Health
Azure Monitor: Azure Monitor permite la
Information Trust Alliance (HITRUST). Esta oferta
supervisión básica de los servicios Azure al permitir
PaaS permite adquirir, almacenar y analizar registros
la recopilación de métricas, registros de actividades y
médicos personales y no personales, además de
registros de diagnóstico. Por ejemplo, el registro de
interactuar con ellos, en un entorno seguro de
actividades te indicará cuándo se crean o modifican
cloud de varios niveles implementado como una
nuevos recursos. Existen métricas que proporcionan
solución integral. El plan muestra una arquitectura
estadísticas de rendimiento para diferentes recursos,
de referencia en común que podría aplicarse a otros
incluidos el sistema operativo asociado con una
casos de uso además del cuidado de la salud, y está
máquina virtual. Puedes ver estos datos con uno
diseñado para simplificar la adopción de Azure.
de los exploradores en el portal Azure y enviarlos a
Azure Log Analytics para el análisis de tendencias
y detallado, o puedes crear reglas de alerta que Obtén más información sobre Proyecto de
seguridad y cumplimiento de Azure: IA y datos
notificarán proactivamente los problemas críticos. médicos HIPAA/HITRUST
Agregar
Hospedar tu aplicación y tus datos y lograr que sea
escalable y segura y que tenga un alto rendimiento
está muy bien, pero ¿no sería estupendo poder
a tu aplicación
Agosto Agregar inteligencia a tu aplicación 34
2018
• Características de experiencia del usuario, como Cognitive Services proporciona una manera
ordenar y paginar los resultados de búsqueda, excepcionalmente fácil de incorporar machine
filtrado inteligente y sugerencias de búsqueda. learning e inteligencia artificial en tu aplicación:
simplemente invocando API. Hay muchas API en las
• Búsqueda cognitiva, que es un enfoque de categorías de visión, habla, lenguaje, conocimiento
prioridad de IA a la comprensión del contenido. y búsqueda. La Tabla 4-1 muestra qué API hay
La búsqueda cognitiva se basa en Búsqueda de disponibles por el momento, pero considera que
Azure con servicios cognitivos incorporados. siempre hay nuevas API para agregar a la lista.
Agosto Agregar inteligencia a tu aplicación 35
2018
Computer Vision Servicios de Habla Text Analytics QnA Maker Bing Web Search
Face • Voz a texto Texto de traducción Custom Decision Bing Visual Search
Video Indexer • Texto a voz Bing Spell Check Bing Entity Search
Content Moderator • Traducción de voz Content Moderator Bing News Search
Custom Vision Speaker Recognition Comprensión del Bing Custom Search
lenguaje Bing Image Search
Bing Autosuggest
Bing Video Search
Cada categoría contiene diversos servicios que predefinido. No tienes que crearlo; lo único que
puedes usar al invocar una API. Algunas categorías debes hacer es alimentar el servicio con tus datos.
contienen servicios personalizados, como el servicio
Custom Vision, el servicio Language Understanding Por ejemplo, quizá quieras crear un modelo que
y el servicio Bing Custom Search. Estos servicios pueda detectar los tipos de nubes en el cielo, como
personalizados ofrecen algoritmos preconfigurados cúmulos y estratos, a partir de una imagen. Para
de machine learning, al igual que los demás servicios, crear este modelo, subes imágenes de diferentes
y te permiten utilizar tus propios datos para entrenar tipos de nubes al portal de Custom Vision. Este
el modelo. portal está disponible cuando comienzas a usar
Además de estos servicios, puedes utilizar los el servicio Custom Vision. Después de subir las
servicios en los laboratorios de Cognitive Services. imágenes, las etiquetas para que el servicio sepa
Los laboratorios contienen servicios experimentales cómo entrenar el modelo. Así que etiquetas una
que Microsoft está probando para ver si encajan imagen con “cúmulo” o “estrato”.
bien con los casos de uso de los clientes. Uno de
esos servicios experimentales es Project Gesture, Puedes entrenar el modelo después de cargar
que permite detectar gestos (como un movimiento suficientes imágenes. Entre más imágenes
de la mano) e integrarlos en tu experiencia de etiquetadas cargues y entre más entrenamiento
usuario. realices, el modelo será más preciso y dará mejores
resultados.
Experimenta con Cognitive Services
Cuando tengas un modelo que funcione bien,
Veamos con más detenimiento algunos de los puedes empezar a utilizarlo. Puedes usar tu modelo
Cognitive Services. si invocas la API Custom Vision y alimentas nuevas
imágenes. Cuando cargas una nueva imagen, el
Custom Vision servicio te dirá si la reconoce como uno de los tipos
Con el servicio Custom Vision, puedes detectar de nubes. La Figura 4-1 muestra un ejemplo de la
cosas en imágenes con base en tus propios datos de apariencia de un punto de conexión de API.
entrenamiento. Custom Vision funciona de forma
similar a otros Cognitive Services en el sentido en
que incluye un algoritmo de machine learning
Agosto Agregar inteligencia a tu aplicación 36
2018
Esto otorga gran flexibilidad porque no necesitas Como muestra la variedad de estas funcionalidades,
una conexión activa a Internet para utilizar las Video Indexer combina muchos Cognitive Services,
capacidades del servicio Custom Vision. También como conversión de voz y reconocimiento del
puedes ejecutarlo localmente para lograr el mejor hablante. En conjunto, estos servicios ofrecen
rendimiento. Además, el modelo que ejecutas poderosas capacidades para que tu contenido sea
en terminal inteligente no es tan grande. Es de más valioso, más accesible y puedas encontrarlo
aproximadamente decenas de megabytes, dado con mayor facilidad.
que solo implementas el modelo y la API, no los
datos de entrenamiento (que se utilizaron para Puedes cargar archivos multimedia a Video Indexer
crear el modelo). mediante el portal de Video Indexer o la API. La
Figura 4-2 muestra los resultados de un vídeo Azure
Friday que se cargó al servicio Video Indexer.
Crea tu propio proyecto de Custom Vision
clic en él; Video Indexer ofrece esta funcionalidad Finalmente, solo pagas por el hosting de QnA
para aplicaciones individuales al integrar el widget Maker, no por cuántas veces los usuarios consultan
Cognitive Insights. el servicio resultante.
{
“_type”: “Suggestions”,
“instrumentation”: null,
“queryContext”: {
“originalQuery”: “what should I search for”
},
“suggestionGroups”: [
{
“name”: “Web”,
“searchSuggestions”: [
{
“url”: “https://www.bing.com/search?q=what+should+i+search+for&FORM=USBAPI”,
“urlPingSuffix”: null,
“displayText”: “what should i search for”,
“query”: “what should i search for”,
“searchKind”: “WebSearch”
},
{
“url”: “https://www.bing.com/search?q=what+should+i+search+for+on+bing&
FORM=USBAPI”,
“urlPingSuffix”: null,
“displayText”: “what should i search for on bing”,
“query”: “what should i search for on bing”,
“searchKind”: “WebSearch”
},
{
“url”: “https://www.bing.com/search?q=what+should+i+search+for+on+the+internet&
FORM=USBAPI”,
“urlPingSuffix”: null,
“displayText”: “what should i search for on the internet”,
“query”: “what should i search for on the internet”,
“searchKind”: “WebSearch”
},
{
“url”: “https://www.bing.com/search?q=what+should+i+search+for+today&
FORM=USBAPI”,
“urlPingSuffix”: null,
“displayText”: “what should i search for today”,
“query”: “what should i search for today”,
“searchKind”: “WebSearch”
},
{
“url”: “https://www.bing.com/search?q=what+should+i+search+for+in+dna+raw+data&
FORM=USBAPI”,
“urlPingSuffix”: null,
“displayText”: “what should i search for in dna raw data”,
“query”: “what should i search for in dna raw data”,
“searchKind”: “WebSearch”
}
]
}
]
}
El proceso de machine learning funciona de la exponer modelos con servicios web. Studio es un
siguiente manera: portal que puedes utilizar desde tu navegador web.
• Los datos que proporcionas tú o alguien más
(Microsoft, por ejemplo) contienen patrones. En Studio, puedes comenzar de cero o con uno de
Quizás conozcas algunos de los patrones, como los muchos experimentos que se encuentran en la
los hábitos de compra de los usuarios. También galería, incluido uno para predecir la duración de
es probable que no conozcas muchos patrones las estancias en los hospitales y otro para detectar
en los datos. anomalías en streams de datos en tiempo real.
Puedes utilizar estos experimentos como base de
• El algoritmo de machine learning es la parte un modelo de machine learning o para aprender
inteligente del software que te permite sobre cómo pueden resolverse esos casos.
encontrar esos patrones en los datos. Este
algoritmo es algo que tú creas con técnicas Un experimento de machine learning en Machine
como aprendizaje profundo o aprendizaje Learning Studio consta de varios pasos que
supervisado. Encontrar patrones en los datos manipulan datos y ejecutan algoritmos de machine
utilizando el algoritmo de machine learning learning en ellos. Puedes crear estos pasos desde
también se llama “entrenar un modelo de cero, incluido el algoritmo, o puedes usar pasos
machine learning”. predefinidos disponibles en Studio.
Puedes utilizar Azure Maps para agregar a tus • Diseñando con Azure Maps
aplicaciones poderosas capacidades geoespaciales,
como la información de ubicaciones. Azure Maps es • Búsqueda en Azure Maps
un conjunto de servicios y controles de JavaScript que
• Novedades de Búsqueda en Azure Maps
facilitan el desarrollo de aplicaciones que manejan
mapas, tráfico, rutas, ubicaciones y husos horarios. • Husos horarios en Azure Maps
Azure Maps proporciona los siguientes servicios:
• Tráfico en Azure Maps
• Servicio de trazado que puedes utilizar para • Trazado de rutas con Azure Maps
trazar mapas de alta calidad en tu aplicación.
• Visualización de datos con Azure Maps Web
• Servicio de ruta que te permite calcular rutas Map Control
entre ubicaciones y mejorarlas agregando
modos de viaje, tales como viaje en automóvil, Lanza un mapa de búsqueda interactivo con
bicicleta o transporte de materiales peligrosos Azure Maps
(Figura 4-5).
Herramientas para
• Servicio de búsqueda que te permite
buscar lugares por dirección, nombre y otra desarrolladores de
información geográfica. inteligencia artificial
• Servicio de huso horario que te permite
obtener información histórica y actual sobre Además de los servicios que agregan inteligencia
husos horarios y correlacionarla con las a su aplicación, Azure proporciona poderosas
ubicaciones. herramientas que puede utilizar para trabajar con
esos servicios y crear e implementar recursos como
• Servicio de tráfico que puedes utilizar para modelos de machine learning.
obtener información sobre el flujo de tráfico
actual y los incidentes en un área determinada.
Herramientas de Visual Studio para IA
Las herramientas de Visual Studio para IA son
una extensión gratuita de Visual Studio. Puedes
utilizarlas para obtener acceso a diversos servicios
y marcos de trabajo de IA, tales como Microsoft
Cognitive Toolkit (CNTK), Google TensorFlow,
Keras y Caffe2.
Al desacoplar los sistemas, la aplicación web puede Tabla 4-2: Una comparación de características entre las colas
de Service Bus y las colas de Azure Storage
funcionar a una velocidad diferente del servicio
web, y ambos pueden escalarse por separado para
Colas de Azure Service Colas de Azure Storage
ajustarse a las necesidades de las aplicaciones. Bus
La cola de Service Bus es un mecanismo sencillo. Duración del mensaje Duración del mensaje
> 7 días < 7 días
Varias aplicaciones pueden poner mensajes en
la cola, pero un mensaje de la cola solo puede
Orden garantizado Tamaño de la cola
procesarse en una aplicación cada vez. Incluye (el primero en entrar es > 80 GB
algunas características inteligentes para trabajar el primero en salir)
con los mensajes de la cola, como la detección de
duplicados y una subcola de mensajes fallidos a Detección de Registros de transacciones
duplicados
la que se transfieren los mensajes cuando no se
pueden procesar correctamente. Tamaño del mensaje Tamaño del mensaje
≤ 1 MB ≤ 64 KB
coches. Tiene muchas de las mismas propiedades Da servicio dentro y fuera de los eventos de
que Event Hubs, como la capacidad de retener publicación de Azure (por ejemplo, cuando se
mensajes hasta un máximo de siete días y de agrega un nuevo Blob o cuando se agrega un nuevo
reproducirlos. usuario a una suscripción de Azure). Azure Event
Grid puede detectar estos eventos y hacer que estén
Lo que hace único a IoT Hub es que, además de disponibles para los controladores de eventos y
recibir mensajes de los dispositivos, puede enviarles servicios que se han suscrito a los eventos (Figura
mensajes. Tiene la capacidad de administrar toda 4-6). Los controladores de eventos pueden ser cosas
la infraestructura de IoT. Puedes usar IoT Hub para como Azure Functions o Azure Logic Apps, que
registrar dispositivos e informar de su estado y para pueden actuar sobre los datos del evento.
administrarlos protegiéndolos y reiniciándolos y
enviándoles datos. Otro aspecto importante de Event Grid es que es
un servicio sin servidor. Esto significa que, al igual
que Azure Logic Apps y Azure Functions, Event
Conecta tu dispositivo a tu centro de IoT
Grid ajusta su escala automáticamente y no es
necesario implementar una instancia. Solo tienes
que configurarlo y usarlo. Y solo se paga por lo que
Azure Event Grid
se usa, no por el hecho de que esté ahí.
Azure Event Grid ofrece un tipo diferente de
mensajería. Event Grid ofrece un servicio de
Aquí puedes ver un ejemplo de uso de Azure Event
publicación/suscripción totalmente administrado,
Grid: Quieres recibir una notificación por correo
que conecta con casi todos los servicios de Azure
electrónico cada vez que se agrega o elimina un
y puede conectar con suscriptores y publicadores
usuario de tu lista de correos en MailChimp. Azure
personalizados.
Event Grid se utiliza para activar una aplicación en
Azure Logic Apps y está configurado para escuchar
Esto es diferente de trabajar con las colas y los
los cambios que se producen en la lista de correo
temas de Service Bus, donde solo se necesita
de MailChimp. El siguiente paso es enviar un correo
sondear la cola o el tema para extraer nuevos
electrónico que contiene el nombre del usuario
mensajes. Event Grid envía automáticamente los
que se ha agregado o eliminado y la acción que
mensajes a los suscriptores, lo que lo convierte en
un servicio de eventos reactivo en tiempo real.
Blob Storage
Azure Functions
Grupos de recursos
Aplicación lógica
Suscripciones a Azure
Azure Automation
Event Hubs
WebHooks
Temas personalizados
se realizó (agregar o eliminar). Ahora, cuando un podría utilizar SignalR para actualizar la oferta
nuevo usuario se agrega a la lista de correo, Event más reciente tan pronto ocurra, sin necesidad de
Grid transmite una señal a Logic Apps, que envía un actualización toda la página ni tener que sondear
correo electrónico. por nueva información.
Supervisa los cambios de las máquinas
virtuales con Azure Event Grid y Logic Apps Hospedar un servidor de SignalR no es una tarea
sencilla y puede ser difícil escalar y protegerlo
Azure SignalR Service adecuadamente. Cuando utilizas el servicio Azure
Puedes utilizar Azure SignalR Service para SignalR completamente administrado, es fácil
añadir funcionalidades web en tiempo real a tus de configurar, y la seguridad, disponibilidad,
aplicaciones. El servicio se basa en ASP.NET Core rendimiento y escalabilidad son también
SignalR y se ofrece como un servicio totalmente completamente administrados.
administrado y autónomo en Azure.
Crea una sala de chat con SignalR
SignalR puede actualizar las aplicaciones
conectadas en tiempo real mediante HTTP,
¿Qué se usa en cada caso?
sin necesidad de que las aplicaciones busquen
Azure proporciona numerosas opciones para
actualizaciones o envíen nuevas solicitudes
realizar mensajería y para desacoplar aplicaciones.
HTTP. Esto te permite crear experiencias web
¿Cuál se debe utilizar y cuándo? La Tabla 4-3
transparentes que actualizan la información sobre
resume las diferencias para ayudarte a elegir.
la marcha. Por ejemplo, una aplicación de subastas
Tabla 4-3: Determinación de qué servicio de Azure utilizar para mensajes o eventos
SignalR Service
Event Grid
Event Hubs
IoT Hub
Temas
Bus
Colas de Service
Colas de Storage
Ingesta de eventos X X X
Administración de
X
dispositivos
Mensajería X X X X X X X
Varios consumidores X X X X X
Varios remitentes X X X X X X X
Trabajar y
Cada día, el mundo se conecta más y más. El
software se integra con el mundo físico mediante
los dispositivos inteligentes que conforman el
reiniciarlos, de ser necesario. Además, la compañía Este es un ejemplo de una plantilla de solución:
enruta los datos de sus aparatos GPS mediante
Azure Stream Analytics, así que solo conserva los
datos de cambios en los GPS. Esto reduce en gran
medida la acumulación de datos, dado que los
aparatos envían su ubicación cada segundo.
Para situaciones como estas, puedes utilizar Azure • IoT Hub expone interfaces específicas para
IoT Edge. Azure IoT Edge funciona con base en IoT supervisar y administrar de forma remota
Hub, lo cual te permite mover partes de tu carga dispositivos IoT Edge disponibles mediante
de trabajo a la periferia para reducir el tiempo que Azure Portal, Azure CLI o SDK.
invierten los dispositivos en enviar mensajes al cloud,
permitiendo así reacciones más veloces a los cambios Estos tres componentes funcionan conjuntamente
de estado. en el dispositivo y en el cloud para ejecutar tus
cargas de trabajo en la periferia inteligente.
Azure IoT Edge tiene tres componentes:
Actualmente, puedes ejecutar muchos servicios
• IoT Edge Modules son contenedores que
de Azure en la periferia para ayudarte en ciertas
ejecutan servicios de Azure, servicios de
situaciones, y la lista de servicios disponibles sigue
terceros y tu propio código. Se implementan
aumentando. La Tabla 5-1 enumera solo algunos
en dispositivos de IoT Edge y se ejecutan
de ellos.
localmente en esos dispositivos.
• El tiempo de ejecución de IoT Edge se ejecuta Cuando comiences a utilizar la periferia, podrás
crear soluciones increíblemente rápidas que
en cada dispositivo de IoT Edge y administra los
ejecuten algoritmos de machine learning
módulos implementados en cada dispositivo.
localmente y ofrezcan comentarios instantáneos
sobre sus descubrimientos.
Tabla 5-2: ¿Qué servicio de Azure IoT se debe usar en cada caso?
Aceleradores
Azure IoT Azure IoT
Azure IoT Hub de soluciones
Central Edge
de Azure IoT
* Necesitas Azure IoT Hub para administrar implementaciones y dispositivos de Azure IoT Edge.
Agosto Dónde y cómo implementar los servicios 51
2018 de Azure
Dónde y cómo
Los servicios de Azure con los que elijas trabajar
determinan tus opciones de implementación y
viceversa. Por tanto, es importante entender las
los servicios de
Azure
Agosto Dónde y cómo implementar los servicios 52
2018 de Azure
Tabla 6-1: Elegir el servicio de Azure que se debe usar para los contenedores
Servicio de Azure
Azure Service Web App para Contenedores
Kubernetes Container
Fabric contenedores en Azure Batch
Azure Instances
El mayor beneficio que se deriva de los Puedes ejecutar cosas como Azure App Service y
contenedores es que un contenedor es siempre Azure Virtual Machines en Azure Stack. Todo es
igual. Un contenedor se ejecuta localmente al exactamente igual que en el cloud público, pero
desarrollar la aplicación y se utiliza la misma ahora se ejecuta on-premises. Y si decides cambiar
configuración del contenedor en el cloud o en al cloud público, solo tienes que transferir los
cualquier otro lugar. Tu equipo utiliza exactamente servicios de Azure Stack a Azure.
la misma configuración de contenedor, así que
sabes que la infraestructura es la misma para todo Ejemplo de Azure Stack
el mundo y en producción. Con los contenedores, la Una empresa que ofrece vacaciones en crucero de
excusa típica de los desarrolladores, “en mi equipo lujo ha desarrollado diversos software para ayudar
sí funciona”, ahora significa que también funcionará con las tareas de los cruceros. Por ejemplo, una
en producción. app para administrar los camarotes, una app para
administrar a los pasajeros, etc. De hecho, todo el
Hay muchas tecnologías para ejecutar contenedores; crucero depende de estas aplicaciones.
una de ellas es Docker. Azure puede ejecutar y
administrar los contenedores con Azure Container Anteriormente, las aplicaciones todavía se
Instances y Azure Kubernetes Service, e incluso ejecutaban en servidores a bordo de los cruceros.
en Services Fabric y Azure App Service en Linux. La empresa estaba obligada a hacerlo así porque
Además, puedes ejecutar contenedores en Azure los cruceros no tenían conexión a Internet durante
todo el trayecto.
App Service Web App para contenedores y en
Azure Batch. La Tabla 6-1 muestra qué servicio La empresa descubrió que ejecutar sus
podrías elegir en cada caso cuando trabajas con aplicaciones on-premises implicaba demasiada
contenedores. carga, dado que tenía que mantener las máquinas
virtuales y sistemas operativos al mismo tiempo
Nota: Recuerda que, al usar contenedores, utilizas que debía lidiar con importantes problemas
un producto de infraestructura como servicio (IaaS) de disponibilidad. Ahora la empresa ejecuta
y eres responsable del sistema operativo (SO), las sus aplicaciones en Azure Stack, que se ejecuta
revisiones, el equilibrio de carga, etc. on-premises en los cruceros. Azure Stack ofrece
los mismos servicios que Azure, así que la
implementación y administración de aplicaciones
Azure Stack
es mucho más fácil. La compañía también utiliza
Si necesitas que tus aplicaciones y datos
App Service para ejecutar sus aplicaciones, lo cual
permanezcan on-premises, pero quieres aprovechar
permite enfocarse en las aplicaciones en lugar de
la capacidad de Azure, Azure Stack es el producto en mantener las máquinas virtuales y los sistemas
que necesitas. Azure Stack, único en el sector, es una operativos. Por último, los usuarios disfrutaron de
extensión de Azure que se hospeda en el entorno del la mayor disponibilidad que, al ser parte de Azure,
usuario. Esencialmente, es Azure en una caja. es también parte de Azure Stack.
Tabla 6-2: Comparación de opciones de implementación de Azure • Service Fabric (cuando utiliza contenedores,
dado que Service Fabric también se ejecuta en
Azure IoT Hub Azure IoT Central el cloud público)
Microsoft Azure
Ahora que ya sabes lo que es Azure y conoces los
servicios que ofrece, vamos a empezar a utilizarlo.
en acción
datos en Azure
Agosto Microsoft Azure en acción 58
2018
2. Busca Aplicación web. Se abre la hoja de 3. Se abre la hoja de creación de la base de datos
Aplicación web. Haz clic en Crear para comenzar. SQL.
Nivel de precios: S1
Región: Centro de 5. Copia la cadena de conexión a algún lugar
Estados Unidos
seguro. La necesitarás más adelante en este
tutorial.
Agosto Microsoft Azure en acción 59
2018
Core localmente
Vamos a ejecutar la app localmente antes
de ejecutarla en Azure. La aplicación puede
ejecutarse localmente debido a que, de forma
predeterminada, utiliza una base de datos SQLite, la
cual es un motor de base de datos SQL autónomo.
1. En Azure Portal, dirígete hasta Azure Cloud c. Utiliza la URL para ejecutar el siguiente
Shell. Puedes hacerlo si haces clic en el botón comando:
en la barra superior que tiene la siguiente
apariencia: git remote add azure
<deploymentLocalGitUrl>
4. Abre la línea de comandos en tu equipo local. ¡Ya está! Ahora tienes una aplicación funcional que
se ejecuta en Azure.
5. Agrega un remoto de Azure a tu repositorio
Git local. Puedes hacerlo si utilizas la dirección
URL remota de Git, que tiene este formato:
https://<username>@<app_name>.scm.
azurewebsites.net/<app_name>.git
02 /
Una característica de gran alcance de nuestra
aplicación es la capacidad de analizar el contenido
de las tareas pendientes y luego crear una cita
automáticamente en el calendario para las tareas
que requieren atención en una fecha específica, si
Expandir las
texto “cena familiar siguiente viernes 7:00 PM”, la
aplicación creará un elemento de calendario para
ese viernes específico a las 7:00 PM con el tema
con Azure
Configuraremos esta características utilizando
una aplicación lógica de Azure y Language
Understanding Cognitive Service. Esto funcionará
¡Manos a la obra!
Agosto Microsoft Azure en acción 63
2018
a. De ser necesario, inicia sesión con el botón Figura 7-4: Entidades reconocidas
a partir del texto de una expresión
Iniciar sesión en la esquina superior
derecha.
Agosto Microsoft Azure en acción 64
2018
13. Ahora que tenemos un servicio funcional, 3. Se abre la hoja de creación de aplicación lógica.
necesitamos publicar el modelo para que
producción pueda utilizarlo. Haz clic en a. Escribe un nombre.
Publicar en el menú (junto al botón Entrenar). b. Selecciona el grupo de recursos que
Esto muestra la página Publicar: creaste cuando creaste el servicio de
Language Understanding.
a. De forma predeterminada, ofrece varios c. Elige una ubicación.
espacios de publicación. Deja los espacios d. Haz clic en Crear.
marcados como Producción.
b. Haz clic en Publicar. 4. Ahora se creará la aplicación lógica. Después de
c. El modelo se publicará a producción. crearla, verás una página de inicio rápida que te
Desplázate para ver Recursos y claves. preguntará si quieres crear la aplicación lógica
Aquí, copia la cadena clave, ya que la a partir de una plantilla, como en la Figura 7-5.
necesitaremos en nuestra aplicación lógica.
Elige Aplicación lógica en blanco para que
podamos comenzar desde cero.
¡Ya está! Ahora necesitamos crear la aplicación
lógica que utiliza el servicio Language
Understanding
5. Ahora podemos empezar a crear un 6. Haz clic en el signo de más en la tarea SQL y
desencadenador para la aplicación lógica. Es después selecciona Agregar una acción para
una acción que inicia el proceso. agregar la siguiente acción (Figura 7-7).
a. Busca SQL.
b. Selecciona la tarea Cuando se crea un
elemento. Pedirá la conexión a la base de
datos SQL de Azure (Figura 7-6).
campo luisPredictionObject.
12. Dirígete a la URL de la aplicación de tareas, que
10. Todavía en el cuadro si verdadero, crea una
es la URL de tu aplicación web de Azure del
nueva acción. Busca Office 365 y selecciona la
tutorial anterior.
acción Crear evento V2. Esta puede crear un
evento en tu calendario de Office 365. 13. Crea un nuevo elemento pendiente con el texto
a. Requiere una conexión a Office 365. “cena familiar siguiente viernes 7 PM.” Esto
Haz clic en agregar nueva conexión y deberá crear un evento en tu calendario.
aparecerá un cuadro de diálogo de inicio
de sesión. Inicie sesión con tus credenciales 14. Además de comprobar tu calendario, puedes
de Office 365. Después de hacerlo, la ver cómo se ejecutó la aplicación lógica si
aplicación lógica mantendrá la conexión en revisas el Historial de ejecuciones. Puedes
tu suscripción de Azure. obtener acceso al historial de ejecuciones al
b. Selecciona el Calendario para crear un abrir la aplicación lógica desde el portal de
evento. Azure. A partir de ahí, puedes incluso reenviar
c. En los campos Hora de finalización y el valor para ejecutarlo nuevamente a través de
Hora de inicio, selecciona el Valor de la aplicación lógica.
entidad de la acción donde filtraste la
entidad datetimeV2.
Agosto Microsoft Azure en acción 67
2018
03 /
Con tu aplicación ya creada y en ejecución, ahora
puedes utilizar Azure para mejorarla y hacerla más
fácil de actualizar.
Tutorial: Listo
para producción
Agosto Microsoft Azure en acción 69
2018
Hasta ahora hemos estado enviando código desde c. Ejecuta el siguiente comando para insertar
nuestro repositorio local de Git a Azure. Esto está el código en GitHub:
bien si se trabaja solo, pero si se trabaja en un equipo
Con eso, el código está en GitHub y se puede
se necesita otro tipo de control del código fuente, compartir con el equipo. A continuación, vamos a
como Visual Studio Team Services o GitHub. configurar CD. Usaremos la característica Opciones
de implementación de Aplicación web a través
Vamos a usar GitHub para transferir nuestro código de Azure Portal. Ten en cuenta que también
y después enlazarlo a nuestra aplicación web para podríamos haber usado la característica Entrega
que los cambios se implementen automáticamente continua de Aplicación web, pero eso requiere una
en un proceso de entrega continua (CD). cuenta de Visual Studio Team Services y hemos
preferido simplificar el proceso.
1. Crea un nuevo repositorio en GitHub yendo
a https://github.com/new. (Necesitarás iniciar 1. En Azure Portal, ve a la aplicación web que
sesión). hospeda la aplicación de tareas de .NET Core.
La nueva versión está ya en la ranura de ensayo y Verás un registro cuando utilices la aplicación en la
no en la aplicación web original (lo que llamamos aplicación web para generar tráfico.
ranura de producción). Puedes comprobarlo yendo
a la dirección URL de la aplicación web de .NET Core
y a la dirección URL de la ranura de ensayo (que Configuración de alertas y
puedes encontrar en la hoja Información general supervisión
de la ranura, al igual que en la hoja Información
general de la aplicación web).
Application Insights proporciona otra poderosa forma
Vamos a poner la nueva versión en producción. de dar seguimiento al rendimiento de las aplicaciones.
Esta herramienta de supervisión de Azure puede
1. En Azure Portal, ve a la aplicación web de .NET
mantenerte informado de muchas cosas en tu
Core.
aplicación, desde cuántos visitantes la han usado al
2. En la barra de menús, haz clic en Ranuras de número de excepciones que se han producido y el
implementación para abrir la hoja Ranuras de punto del código en el que ocurrieron. A diferencia
implementación. de los registros de diagnóstico, Application Insights
3. Haz clic en el botón Intercambiar para abrir la requiere una tarifa nominal.
hoja Intercambiar.
Puedes configurar Application Insights en Azure
a. Deja todos los ajustes como están.
Portal desde la aplicación web.
b. Haz clic en Aceptar para iniciar el
intercambio. 1. Ve a Azure Portal y a la aplicación web que
hospeda la aplicación de .NET Core.
Después de finalizar el intercambio, la nueva versión
de la aplicación web de .NET Core se encontrará en 2. En la barra de menús, haz clic en Application
producción. (Puedes probarla si te diriges a la URL Insights.
de la aplicación web de Node.js.) Usar las ranuras
3. Selecciona Crear recurso nuevo.
de implementación de este modo es altamente
beneficioso porque permite probar la nueva a. Escribe un nombre y selecciona una
versión antes de que entre en producción. Después, ubicación para la instancia de Application
puedes implementarla en producción sin tiempo de Insights.
inactividad. b. Haz clic en Aceptar. Application Insights se
implementará y empezará a recopilar datos
Uso de registros de para la aplicación.
diagnósticos Es necesario configurar la aplicación para que
empiece a enviar datos a Application Insights. Para
Cuando se ejecuta la aplicación, es vital saber cómo
nuestra aplicación de ejemplo de .NET Core, haz lo
está funcionando. Una forma excelente de supervisar
siguiente:
la aplicación es usar registros de diagnóstico para ver
el registro de diagnóstico en directo de la aplicación 4. Escalar una aplicación web a través de Azure
web. Puedes incluso insertar los registros en la Portal
ventana de la consola. Para ello, ejecuta el siguiente
comando en la Azure Cloud Shell: 5. En el menú VS Code, selecciona Proyecto >
Agregar telemetría de Application Insights…
az webapp log tail --name <app_name> 6. Esto abrirá el asistente de Application Sights.
--resource-group <myResourceGroup>
Inicia sesión con tu cuenta de Azure.
Agosto Microsoft Azure en acción 72
2018
7. Selecciona un plan de precios de Application Ten en cuenta que debes ejecutar la aplicación web
Insights. en el nivel de precios Estándar o Premium para
utilizar esta función.
8. Haz clic en Registro. Esto automáticamente
agrega todo al proyecto de .NET Core y crea el
La aplicación web tiene un elemento de menú
recurso de Application Insights en Azure.
denominado Escalar horizontalmente, como
9. Desarrolla el proyecto e inserta los cambios se muestra en la Figura 7-12. Puedes usarlo para
en GitHub para que puedan implementarse ampliar la escala manual o automáticamente.
en la aplicación web. Una vez terminada la
implementación, la aplicación enviará datos a
Application Insights.
04 /
Hoy en día, la mayoría de las empresas necesitan
interactuar con servicios online de alguna forma.
La compañía podría desarrollarlos y mantenerlos
o se podrían consumir como servicios de terceros.
Ofrecer funcionalidad es el objetivo genuino,
Tutorial: Usar pero hay otras tareas incluidas en publicar una API
(por ejemplo, pruebas de seguridad y control de
Azure API
versiones) que deben existir para garantizar que
una aplicación sea segura y confiable.
para controlar
conversión de unidades a crecer. La API web se
implementará en Azure y utilizaremos los servicios
de Azure API Management para:
Lanzamiento de versiones
de la API web
Figura 7-13: Botón Implementar en Azure
1. Selecciona el servicio de API Management
2. Tu navegador te redirigirá a la página de que has creado. A continuación, crea un nuevo
configuración de Implementación de Azure proxy API al seleccionar APIs del menú en el
API. Sigue las instrucciones del asistente para panel izquierdo.
completar el proceso de publicación de API. El
2. Se te presentarán algunas opciones, tales
proceso de implementación debe tomar unos
como especificación de OpenAPI, WADL,
minutos.
WSDL y aplicaciones lógicas. Para este tutorial,
3. Después de implementar la API, entra al portal crearemos una API en blanco.
de Azure y dirígete al grupo de recursos que
3. Completa el formulario que se presenta:
creaste. Después, verifica que la aplicación web
esté en ejecución. a. Define el nombre como API de conversión
de unidades de medida.
4. Asegúrate de guardar la recién creada URL de b. Define el nombre interno como API-
API web. La necesitarás más adelante cuando conversión-unidades-medida.
configures el servicio de API Management. c. Establece el esquema de URL como
Ambos.
d. Para habilitar el control de versiones, marca
la bandera de ¿Versiones de esta API?
Agosto Microsoft Azure en acción 76
2018
Revisar la documentación
de API generada
automáticamente
Figura 7-15 Obtener acceso a la API de conversión desde un
navegador Ahora que hemos configurado nuestros puntos de
entrada y back ends de la API , echemos un vistazo a
Ahora es momento de limitar la cantidad de la documentación que nuestro servicio de Azure API
solicitudes anónimas de un cliente específico para Management ha creado automáticamente.
asegurar que a nuestra versión de evaluación no se
le de un uso indebido.
Desde la hoja de Información general de API, puedes
1. Regresa a la información general del servicio obtener acceso fácilmente al portal del desarrollador
Medidas de API Management. al hacer clic en el botón Portal del desarrollador
en la barra superior o en el enlace etiquetado como
2. Haz clic en el menú Producto y después URL del portal del desarrollador.
selecciona Versión de evaluación de la lista de
productos. La documentación generada es un recurso útil
para que los desarrolladores estudien nuestra
3. En la página de detalles de la versión de
API, aprendan sobre cómo desarrollar solicitudes
evaluación, haz clic en Políticas del menú a la
de prueba y vean ejemplos de comunicación en
izquierda.
distintos lenguajes, tales como Ruby, C# y JavaScript
4. Define la configuración de cuota de la política (Figura 7-17).
entrante:
Resumen y
En esta guía, hemos analizado las capacidades que
Azure puede aportar a tus aplicaciones. Con Azure,
puedes hacer cosas increíbles con tus apps: utilizar
Los autores
de este libro
se apasionan
por Azure y te Michael Crump trabaja en
Microsoft en la plataforma
Barry Luijbregts es un
arquitecto de software
invitan a que
Azure y es programador, independiente y desarrollador
bloguero y orador apasionado del cloud.
internacional sobre diversos También es uno de los autores
temas relacionados con de Pluralsight. Ha trabajado
con ellos si
beneficios del cloud de una sus conocimientos con la
forma clara y sencilla. comunidad. Tiene un extenso
conocimiento de la oferta
de Microsoft, con especial
tuvieses cualquier
Puedes comunicarte con
énfasis en la tecnología web
Michael en Twitter @mbcrump
y el cloud. Barry colabora
o siguiendo su blog en https://
con un grupo de usuarios
www.michaelcrump.net.
pregunta
centrado en los conocimientos
tecnológicos y de software
llamado .NET Zuid (South) y
actualmente imparte cursos
sobre los beneficios del cloud.
Vive en los Países Bajos con
su preciosa esposa y su hija
pequeña y le encanta jugar
con sus dos huskies siberianos.
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.
Sigue
Regístrate para obtener una cuenta gratuita de
Azure y recibe:
http://www.azure.com/gratis