
Este libro proporciona la información más importante sobre los servicios clave de la plataforma Azure para desarrolladores y profesionales de TI sin experiencia previa en tecnología de nube. Se proporcionan instrucciones detalladas paso a paso para ayudar al lector a aprender los conceptos básicos del trabajo con todos los servicios importantes.
El material será útil no solo para principiantes en el desarrollo de Azure, sino también para especialistas que necesitan restaurar el material en la memoria, así como para personas familiarizadas con solo algunos de los temas discutidos. Los capítulos del libro son independientes: para comprender el contenido de un capítulo, no es necesario estudiar ejemplos de capítulos anteriores.
Hoy publicamos parte del primer capítulo de este libro. Puede descargar la versión completa de forma gratuita
aquí .
Tabla de contenidos
- Presentación de Azure - 1;
- Servicio de aplicaciones de Azure y aplicaciones web: 32;
- Máquinas virtuales: 70;
- Servicio de almacenamiento - 101;
- Redes virtuales de Azure: 133;
- Bases de datos - 157;
- Azure Active Directory - 181;
- Herramientas de gestión - 206;
- Servicios adicionales Azure - 231;
- Casos de uso - 238
Introduciendo Azure
¿Qué es azur?
Azure es una plataforma en la nube de Microsoft.
Tecnología en la nube - General
La computación en la nube es una alternativa moderna a los conocidos centros de datos locales. Todas las tareas de adquisición y mantenimiento de equipos son responsabilidad exclusiva del proveedor de servicios de nube pública. Proporciona a los clientes acceso a diversos servicios de plataforma. Los clientes alquilan recursos de hardware y software que solo necesitan de vez en cuando. Entonces transforman los costos de capital de la compra de equipos en costos operativos. Además, este enfoque permite a los clientes alquilar el acceso a recursos de hardware y software, cuya compra sería demasiado costosa. Solo los dispositivos que ofrece el proveedor de la plataforma en la nube están disponibles para los clientes, pero solo pagan a medida que se usan.
Los portales web se utilizan para administrar entornos en la nube (sus recursos informáticos, almacenamiento, redes y aplicaciones). Por ejemplo, en Azure Portal, un usuario puede crear una configuración de máquina virtual (VM) en la que se definirán las siguientes características: configuración de máquina virtual (procesador, RAM y discos locales), sistema operativo, software preinstalado, configuración de red y ubicación de la máquina virtual. Después de eso, el usuario puede implementar una máquina virtual basada en esta configuración y comenzar a trabajar con ella en unos minutos. Anteriormente, sería necesario implementar una máquina física, cuya compra sola podría llevar varias semanas, por lo que la posibilidad de una implementación rápida parece muy atractiva.
Hablamos de nubes públicas. También hay nubes privadas e híbridas. Una nube privada es un entorno de nube creado en el propio centro de procesamiento de datos de la empresa, y los usuarios (empleados de la empresa) cuentan con herramientas para el uso independiente de sus recursos. Los usuarios trabajan con dicho entorno de la misma manera que con una nube pública, pero todas las tareas relacionadas con la compra y mantenimiento de equipos, la selección de recursos de hardware y software son completamente responsabilidad de la empresa. Una nube híbrida es un entorno que combina una nube pública y privada. Este enfoque le permite elegir la opción más adecuada para colocar cargas de trabajo. Por ejemplo, si la carga en un sitio web varía ampliamente, puede colocarse en una nube pública y conectarse a una base de datos segura en su nube privada (o en un centro de datos local).
Las soluciones de Microsoft admiten nubes públicas, privadas e híbridas. La plataforma Microsoft Azure a la que se dedica este libro es una nube pública. Microsoft Azure Stack es una extensión para Windows Server 2016 que le permite implementar muchos servicios básicos de Azure en un centro de datos local y proporcionar a los usuarios un portal de autoservicio. Estos componentes se pueden integrar con una nube híbrida a través de una red privada virtual (VPN).
Entorno local y comparación de Azure
Con la infraestructura local, los componentes de hardware y software que implementa están completamente bajo su control. Por lo tanto, al comprar equipos, generalmente apuntaban al escalado vertical (es decir, intentaban comprar un servidor con una gran cantidad de núcleos para proporcionar el rendimiento requerido). Si usa Azure, solo puede usar los dispositivos que ofrece Microsoft. En este caso, para aumentar la productividad, se utiliza el escalado horizontal: simplemente despliega nodos informáticos adicionales. Esta característica debe tenerse en cuenta al diseñar la arquitectura de los sistemas de software, sin embargo, como lo ha demostrado la práctica, el escalado horizontal (despliegue de dispositivos de bajo costo) es mucho más rentable que el vertical (compra de dispositivos de alto rendimiento).
Al momento de escribir este artículo, los centros de datos de Microsoft Azure están abiertos en más de 22 regiones del mundo: desde Melbourne hasta Amsterdam, desde São Paulo hasta Singapur. Además, Microsoft ha firmado un acuerdo con 21Vianet, y ahora la plataforma Azure está disponible en dos regiones de China. Microsoft ha anunciado el despliegue de Azure en ocho regiones más. Solo las corporaciones más grandes del mundo pueden abrir centros de datos con tal alcance. Por lo tanto, con la ayuda de Azure, las empresas de cualquier escala pueden implementar sus servicios en las áreas donde sus clientes se concentran en cualquier región de la Tierra. Y todo esto, ¡sin siquiera salir de la oficina!
Azure permite a las empresas jóvenes comenzar con costos muy bajos y escalar rápidamente su infraestructura a medida que llegan nuevos clientes. Ejecutar una o más máquinas virtuales nuevas no requiere grandes pagos iniciales. Las empresas jóvenes de hoy tienden a escalar rápidamente y aprender rápidamente de sus errores. El uso de la tecnología en la nube es totalmente coherente con estos principios.
Azure lo ayuda a lanzar de manera rápida y flexible nuevos entornos de desarrollo y prueba. Puede usar scripts para implementar estos entornos. Entonces, si es necesario, puede ejecutar el entorno de desarrollo o prueba, realizar pruebas y eliminarlo. Como resultado, la compañía ahorra mucho y casi no gasta dinero en el soporte de la infraestructura.
Otra ventaja de Azure es la capacidad de probar nuevas versiones de software sin reemplazar el hardware local. Suponga que necesita saber cómo cambiará su aplicación cuando cambie de Microsoft SQL Server 2014 a Microsoft SQL Server 2016. Para hacer esto, simplemente cree una instancia de SQL Server 2016 e inicie una copia de sus servicios conectándola a una nueva base de datos; no es necesario que seleccione equipo ni cables elásticos. O puede iniciar una máquina virtual que ejecute Microsoft Windows Server 2012 R2 en lugar de Microsoft Windows Server 2008 R2.
Oferta en la nube
Los servicios en la nube generalmente se dividen en una de tres categorías: SaaS, PaaS o IaaS. Sin embargo, con el desarrollo de tecnologías en la nube, la frontera entre ellas se está volviendo menos clara.
SaaS: software como servicio
El software, que está alojado en un entorno centralizado y administrado en nombre del cliente, se llama SaaS (software como servicio). Normalmente, este enfoque utiliza una arquitectura de múltiples inquilinos, es decir, todos los clientes reciben la aplicación de la misma versión. Se puede escalar en varias instancias para proporcionar un rendimiento óptimo independientemente de la ubicación. Para las licencias SaaS, se suelen utilizar tarifas de suscripción mensuales o anuales.
Un ejemplo de SaaS es Microsoft Office 365. Los usuarios pagan una suscripción mensual o anual y obtienen acceso a varios productos: Exchange como servicio (cliente web de Outlook y / o aplicación de escritorio), almacenamiento como servicio (OneDrive) y otros componentes del paquete de Microsoft Office (versiones de escritorio y / o web). Al mismo tiempo, los suscriptores siempre reciben la versión más actual del producto. De hecho, puede tener a su disposición un servidor Microsoft Exchange sin la necesidad de comprarlo, instalarlo y brindarle soporte; otros se encargarán de administrar el servidor Exchange, incluida la instalación de parches y actualizaciones. Esta opción es mucho más barata y fácil en términos de mantenimiento que instalar el paquete de software de Microsoft Office y actualizarlo anualmente.
Otros ejemplos de productos SaaS son Dropbox, WordPress y Amazon Kindle.
PaaS: una plataforma como servicio
Como parte del enfoque de PaaS, implementa su aplicación en un entorno de alojamiento de aplicaciones dedicado alojado por el proveedor de servicios en la nube. El desarrollador crea la aplicación, y el proveedor de PaaS proporciona la capacidad de implementarla y ejecutarla. Como resultado, los desarrolladores no necesitan lidiar con el mantenimiento de la infraestructura, lo que significa que pueden dedicar todo su tiempo al desarrollo.
Dentro de Azure, hay varias ofertas de PaaS disponibles, que incluyen el componente de aplicación web de los servicios de aplicaciones de Azure, así como los servicios en la nube de Azure (rol web y rol de trabajo). En todos los casos, los desarrolladores tienen muchas formas de implementar la aplicación sin tener que comprender los detalles de la infraestructura de soporte. Los desarrolladores no tendrán que crear máquinas virtuales, ni conectarse a ellas mediante el Protocolo de escritorio remoto (RDP), ni instalar la aplicación. Es suficiente para ellos simplemente hacer clic en el botón (o realizar otra acción igualmente simple), y las herramientas de Microsoft prepararán las máquinas virtuales, las implementarán e instalarán la aplicación en ellas.
IaaS: infraestructura como servicio
El proveedor de servicios en la nube de IaaS monitorea y mantiene granjas de servidores que ejecutan sistemas de software de virtualización. En estos sistemas, los clientes crean máquinas virtuales que operan en la infraestructura del proveedor. El cliente crea una máquina virtual que ejecuta Windows o Linux (las opciones disponibles dependen del proveedor de servicios) e instala todo lo necesario en él. Azure le permite configurar redes virtuales, equilibradores de carga y almacenamiento, y usar muchos otros servicios que se ejecutan en este entorno. El cliente no puede controlar dispositivos de virtualización o sistemas de software, pero casi todo lo demás está en su totalidad
eliminación Con este enfoque (a diferencia de PaaS), el software controla al cliente.
Azure Virtual Machines (oferta IaaS de Azure) es una herramienta muy popular para migrar servicios a Azure, porque esencialmente le permite migrar fácilmente sus soluciones. Puede crear una máquina virtual similar a la infraestructura de su centro de datos, en la que se ejecutan los servicios ahora, y transferirle sus aplicaciones. En algunos casos, se pueden requerir pasos adicionales (por ejemplo, cambiar las URL para que apunten a nuevos servicios o tiendas), pero este enfoque le permite mover muchas aplicaciones.
Los conjuntos escalables de máquinas virtuales de Azure (VMSS) basados en máquinas virtuales de Azure le permiten crear rápidamente un clúster de máquinas virtuales idénticas. Además, VMSS admite el escalado automático (implementación automática de nuevas máquinas virtuales según sea necesario). Debido a esto, VMSS es una plataforma ideal para hospedar clústeres informáticos basados en microservicios de nivel superior: por ejemplo, para Azure Service Fabric y Azure Container Services.
Servicios de Azure
La plataforma en la nube de Azure incluye muchos servicios. Consideremos algunos de ellos.
- Servicios de informática. Esta categoría incluye máquinas virtuales Azure (ejecutando Linux y Windows), servicios en la nube, servicios de aplicaciones (aplicaciones web, aplicaciones móviles, aplicaciones lógicas, aplicaciones API y aplicaciones de funciones), un servicio por lotes (para realizar grandes tareas de cómputo paralelo y por lotes ), RemoteApp, Service Fabric y Azure Container Services.
- Servicios de datos. Esto incluye Microsoft Azure Storage (que incluye los servicios de blob, cola, tabla y archivos de Azure), Azure SQL Database, DocumentDB, StorSimple y Redis Cache.
- Servicios de solicitud. Esta categoría incluye servicios utilizados para crear y ejecutar aplicaciones, incluido Azure Active Directory (Azure AD), un bus de servicio para conectar sistemas distribuidos, HDInsight para procesar grandes datos, Azure Scheduler y Azure Media Services.
- Servicios de red. Este grupo incluye servicios de Azure como redes virtuales, ExpressRoute, DNS de Azure, el administrador de tráfico de Azure y la red de entrega de contenido de Azure.
Al migrar una aplicación, es importante comprender qué servicios están disponibles como parte de Azure, ya que este conocimiento ayudará a simplificar la migración de la aplicación y a aumentar su flexibilidad. Es imposible describir en detalle todos los servicios disponibles en el marco de este libro, por lo que seleccionamos algunos de los más interesantes. El Capítulo 9 (Servicios avanzados de Azure) proporciona una lista de estos servicios y una breve explicación de sus capacidades.
Nuevo mundo: Azure Resource Manager
Azure Resource Manager es un nuevo enfoque para implementar recursos.
Que es esto
El modelo de implementación de Azure Service Management (ASM) se ha utilizado para implementar servicios desde el lanzamiento de la versión de evaluación pública. Los servicios administrados por ASM en Azure Portal se denominan clásicos. En 2015, Microsoft presentó el modelo de implementación utilizando Azure Resource Manager (un reemplazo moderno y más funcional para ASM), que se recomienda para administrar nuevas cargas de trabajo.
Estos modos de implementación a menudo se denominan "planos de control" porque se usan no solo para implementar servicios, sino también para administrarlos. No deben confundirse con "planos de datos", herramientas de gestión de datos utilizadas por el servicio.
La infraestructura en Azure generalmente contiene muchos recursos, algunos de los cuales están interconectados: por ejemplo, se requieren servicios de componentes para ejecutar una aplicación web. Supongamos que necesita dos máquinas virtuales que ejecutan una aplicación web. Para almacenar datos, se utilizará una base de datos ubicada en la misma red virtual. Resource Manager le permite implementar todo esto en un solo grupo de recursos que se pueden administrar como un todo. La implementación, actualización y eliminación de todos los recursos que pertenecen al mismo grupo se realiza en una sola acción.
En este ejemplo, el grupo de recursos contendrá lo siguiente:
- Máquina virtual 1
- Máquina virtual 2
- Red virtual
- Cuenta de almacenamiento
- Azure SQL Database
Además, puede crear una plantilla que describa con precisión todos los recursos en el Administrador de recursos relacionados con la implementación. Después de eso, es suficiente realizar una operación en el plano de control para implementar esta plantilla de Resource Manager como un grupo de recursos. Al mismo tiempo, Azure Resource Manager se asegurará de que todos los recursos se implementen correctamente. Además, Resource Manager admite varias capacidades para trabajar con recursos desplegados: seguridad, auditoría y etiquetado.
¿Cuáles son los beneficios de Resource Manager?
El uso de Resource Manager ofrece una serie de beneficios. Le permite desplegar recursos más rápido, porque realiza operaciones no secuencialmente (como ASM), sino en paralelo. El modelo de implementación que usa Azure Resource Manager permite que cada servicio trabaje con su proveedor de servicios y, si es necesario, lo actualice independientemente de otros servicios. El almacenamiento de Azure tiene un proveedor de servicios, las máquinas virtuales tienen otro, etc. Cuando se usaba el modelo ASM, todos los servicios debían actualizarse al mismo tiempo, por lo que si un servicio completaba la actualización antes que los demás, aún tendría que esperar a que se liberaran los demás. Estos son algunos beneficios más importantes del modelo de implementación con Azure Resource Manager:
Capacidad para implementar usando plantillas- Puede crear una plantilla JSON y reutilizarla para implementar todos los recursos para una solución de una sola vez. Ya no necesita comenzar a crear una máquina virtual a través del portal, esperar a que se complete el proceso, comenzar a crear la siguiente, y así sucesivamente.
- Puede volver a implementar los mismos conjuntos de recursos utilizando la plantilla. Supongamos que configura recursos en un entorno de prueba y se da cuenta de que no se ajustan a sus necesidades. Puede eliminar este grupo de recursos (esto eliminará automáticamente todos los recursos que están incluidos en él), cambie la plantilla e intente nuevamente. Para modificar el conjunto de recursos implementados, simplemente cambie la plantilla y reinicie su implementación: Resource Manager cambiará los recursos para que coincidan con la nueva plantilla.
- Con la plantilla, puede crear rápidamente varias versiones de la infraestructura: por ejemplo, un entorno intermedio y un entorno de trabajo. Se pueden parametrizar varios campos (por ejemplo, nombre de máquina virtual, nombre de red, cuenta de almacenamiento, etc.) y luego descargar la plantilla varias veces con diferentes valores de parámetros.
Resource Manager puede detectar dependencias en plantillas y le permite especificar dependencias adicionales. Por ejemplo, implementar una máquina virtual antes de crear una cuenta de almacenamiento para archivos VHD que almacenan discos con el sistema operativo y los datos es una mala idea.Seguridad- Para controlar el acceso a los recursos del grupo, puede usar un nuevo mecanismo llamado Control de acceso basado en roles (RBAC). Por ejemplo, puede asignar al usuario el rol de "propietario", y luego tendrá derechos de administrador completos en relación con los recursos de este grupo, pero no con otros recursos de suscripción. También se proporcionan otros roles, por ejemplo, "lector" (le permite leer todo excepto datos secretos) y "participante" (le permite realizar casi cualquier operación, excepto agregar y eliminar el acceso).
Facturación- Para organizar todos los recursos de un grupo para una facturación conveniente, puede asignar etiquetas a cada recurso y luego recibir datos de pago por el uso de recursos con una etiqueta específica.
, , - , . , .
Nota , . .
Microsoft .
- PowerShell (CLI) . , , , , .
- . , , PowerShell DSC -. .
- PowerShell Azure CLI (, ).
- . . , ? . .
. , . :
, , . , .
, .
. . , . . 5 (« Azure») Vnet . , Azure.
, . , , , , , . .
. , .
JSON. «mystorage» « » (West US). ; newStorageAccountName ( ) location (). , .
{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "newStorageAccountName": { "type": "string", "defaultValue": "mystorage", "metadata": { "description": " DNS- , ." } }, "location": { "type": "string", "defaultValue": "West US", "allowedValues": [ "West US", "East US" ], "metadata": { "description": " , Premium." } } }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "name": "[parameters('newStorageAccountName')]", "apiVersion": "2015-06-15", "location": "[parameters('location')]", "properties": { "accountType": "Standard_LRS" } } ] }
Modelo de implementación clásico
Hablemos un poco sobre lo que sucedió antes del Administrador de recursos. Ahora tales recursos se llaman clásicos. Por ejemplo, un cliente puede tener cuentas de almacenamiento, máquinas virtuales y redes virtuales que se administran utilizando el modelo de implementación clásico. El modelo clásico y el modelo de implementación con Azure Resource Manager no son compatibles: los recursos de Resource Manager no pueden interactuar con los recursos clásicos y viceversa. Por ejemplo, el componente PaaS Azure Cloud Services es clásico, por lo que solo puede trabajar con él a través de cuentas de almacenamiento clásicas. Hay una excepción a esta regla: puede alojar máquinas virtuales de Resource Manager en cuentas de almacenamiento clásicas. Esta característica simplifica la migración de máquinas virtuales del modelo de implementación clásico al modelo de implementación mediante Azure Resource Manager.
Tenga en cuenta: durante dicha migración, es posible que deba iniciar sesión en el portal clásico de Azure, que muestra recursos clásicos, pero carece de recursos de Resource Manager, y viceversa.
Nota Hay dos versiones del portal. El actual es el portal de Azure, disponible en portal.azure.com . La mayoría de las características se han trasladado al portal de Azure, pero hay algunas excepciones, como Azure Active Directory (Azure AD). La versión anterior del portal se llama el "portal clásico de Azure" (https://manage.windowsazure.com). Ahora se puede usar para administrar los servicios de Azure AD, así como para configurar y escalar recursos clásicos (como los servicios en la nube).
Puede transferir sus recursos del modelo de implementación clásico al modelo de implementación con Azure Resource Manager.
- Los archivos, las tablas y los blobs se pueden migrar de una cuenta de almacenamiento clásica a una nueva cuenta de almacenamiento de Resource Manager con AzCopy. Tenga en cuenta que las tablas deben exportarse desde una cuenta clásica y luego importarse a la cuenta de Resource Manager.
- Las máquinas virtuales se pueden migrar de la siguiente manera: desconéctelas, copie el archivo VHD a la nueva cuenta de almacenamiento de Resource Manager y luego vuelva a crear la máquina virtual utilizando el archivo VHD.
- Las redes virtuales se pueden crear como objetos Vnet en Resource Manager.
- Además, se lanzó el servicio de migración (ahora se encuentra en la etapa de una versión de evaluación pública). Por el momento, no se recomienda usarlo para cargas de producción. Vea el artículo para más detalles.
Consideración del modelo de implementación de PowerShell
El Capítulo 8 (“Herramientas de administración”) analiza varias herramientas de Azure, incluidos los cmdlets de Azure PowerShell y la CLI de Azure.
Al desarrollar el modelo de implementación mediante el Administrador de recursos, los especialistas de Azure buscaron crear cmdlets de PowerShell que funcionarían solo para el modelo de implementación mediante el Administrador de recursos. En lugar de la palabra Azure, el nombre AzureRm se indica en el nombre de dichos cmdlets. Por ejemplo, para crear una cuenta de almacenamiento clásica, puede usar el cmdlet New-AzureStorageAccount. Para crear una cuenta de almacenamiento en Resource Manager, debe ejecutar el cmdlet New-AzureRmStorageAccount.
Esto se hace para que el usuario pueda comprender de inmediato qué tipo de recurso está creando. Además, esto proporciona la capacidad de ejecutar correctamente los scripts creados previamente. Cada vez que implementa un recurso de Resource Manager, debe especificar el grupo de recursos en el que desea ubicarlo. Además, algunos cmdlets de Resource Manager (por ejemplo, el cmdlet para crear una máquina virtual) admiten parámetros más detallados que los cmdlets del modelo clásico.
Una nota final: solo los cmdlets de PowerShell asociados con cuentas de almacenamiento que se relacionan con el plano de administración se ven afectados por los cambios (por ejemplo, cmdlets para crear, eliminar y enumerar cuentas de almacenamiento). Para los cmdlets de PowerShell, que se usan para acceder al contenido de los repositorios (blobs, tablas, colas y archivos), nada ha cambiado. Simplemente páselos a la cuenta de almacenamiento deseada y estarán listos para usar.
Puede descargar la versión completa del libro de forma gratuita y estudiarla en el siguiente enlace.
→
Descargar