Curso: Microsoft Azure INA. Tema03: Módulo 05: Elección de las mejores herramientas para administrar y configurar el entorno de Azure

https://docs.microsoft.com/es-mx/learn/modules/management-fundamentals/

Unidad 1: Introducción

Mediante las herramientas de administración de Azure, los administradores y desarrolladores pueden interactuar con el entorno de nube para realizar tareas como:

  • Implementar decenas o cientos de recursos a la vez.
  • Configurar servicios individuales mediante programación.
  • Ver informes enriquecidos relativos al uso, el mantenimiento, los costos y mucho más.

Microsoft Azure proporciona una colección de opciones de herramientas de administración entre las que se puede elegir en función de la situación.

Tailwind Traders, un minorista con tiendas físicas tradicionales, ahora está experimentando un crecimiento explosivo al vender productos en línea. La compañía atribuye gran parte del éxito a una capacidad de administrar de forma rápida y eficaz su entorno en la nube. Cuando Tailwind Traders en un principio comenzó su recorrido a la nube, tuvo que elegir las herramientas de administración adecuadas para sus necesidades empresariales.

En este módulo, explorará la matriz de herramientas de administración de Azure y los criterios de decisión que los expertos usan para seleccionar las adecuadas para sus escenarios específicos.

Unidad 2: Identificación de las opciones de producto

A grandes rasgos, hay dos categorías amplias de herramientas de administración: herramientas visuales y herramientas basadas en código.

Las herramientas visuales proporcionan acceso completo y visualmente sencillo a toda la funcionalidad de Azure. Sin embargo, las herramientas visuales pueden ser menos útiles para configurar una gran implementación de recursos con interdependencias y opciones de configuración.

Al intentar instalar y configurar rápidamente los recursos de Azure, la mejor opción suele ser usar una herramienta basada en código. Aunque al principio comprender los comandos y parámetros correctos puede conllevar más tiempo, una vez escritos se pueden guardar en archivos y usar de forma repetida según sea necesario. Además, el código que realiza la instalación y la configuración se puede almacenar, versionar y mantener junto con el código fuente de la aplicación en una herramienta de administración de código fuente, como Git. Este enfoque para administrar los recursos de hardware y en la nube, que usan los desarrolladores para escribir código de aplicaciones, se conoce como infraestructura como código.

Hay dos enfoques a la infraestructura como código: código imperativo y código declarativo. El código imperativo detalla cada uno de los pasos que debe realizarse para lograr un resultado deseado. Por el contrario, el código declarativo solo detalla un resultado deseado, y es el intérprete quien debe decidir cuál es la mejor forma de lograr dicho resultado. Esta distinción es importante, porque las herramientas basadas en código declarativo pueden proporcionar un enfoque más sólido para implementar decenas o cientos de recursos de forma simultánea y fiable.

Opciones de productos

Microsoft ofrece una variedad de herramientas y servicios para administrar el entorno en la nube, cada uno de ellos dirigido a distintos escenarios y usuarios. En el vídeo siguiente se describen algunas de estas opciones

Video

  • Al aumentar su experiencia en la nube ta vez requiera administrar diferentes aspectos de la nube
  • Veamos los diferentes tipos de administración de actividades que tal vez desee emprender y cual herramienta es la mejor
  • Cuando la tarea es simple tal vez la mejor opción es Azure portal, ya que podrá ver aspectos de su cuenta individual, opciones de pago, y reportes
  • También lo puede utilizar para publicar y configurar sus servicios de Azure
  • Sin embargo si necesita repetir constantemente la tarea tal vez tenga más sentido utilizar Azure PowerShell y crear un script que lo haga por usted
  • Azure PowerShell utilizar Azure Management API para automatizar tareas idénticas como actualizar sus MV’s con una path
  • También se puede utilizar para construir una aplicación personalizada que administre o supervise aspectos de su ambiente en la nube utilizando algún API de Python, Node, otro lenguaje de programación conocido
  • Podría tener una Interfaz de usuario personalizada que haga las tareas más comunes con un simple click
  • Además si usted requiere realizar tareas complejas y seguras para crear sus servicios o administrar diferentes roles tal vez quiera utilizar Azure ARM Templates
  • ARM templates son scripts que pueden desplegar múltiples servidores que tal vez requieren conectarse entre ellos basados en la arquitectura del sistema y necesitan publicarse en un orden específico

El Portal de Azure

Mediante Azure Portal, una interfaz de usuario basada en web, puede acceder a prácticamente todas las características de Azure. Azure Portal dispone de una UI gráfica sencilla en la que se pueden ver todos los servicios que se están usando, crear servicios nuevos, configurar los servicios y ver informes. Azure Portal es la primera experiencia para la mayoría de los usuarios de Azure. Aunque a medida que crece el uso Azure, es más probable que elijan un enfoque más fácil de repetir centrado en código para administrar los recursos de Azure.

Azure Mobile App

Azure Mobile App le permite acceder a los recursos de Azure desde iOS y Android cuando no tiene el equipo a mano. Por ejemplo, puede:

  • Supervisar el mantenimiento y el estado de sus recursos de Azure.
  • Consultar alertas, diagnosticar y corregir problemas rápidamente, reiniciar una aplicación web o una máquina virtual (VM).
  • Ejecutar comandos de la CLI de Azure o de Azure PowerShell para administrar los recursos de Azure.

Azure PowerShell

Azure PowerShell es un shell que permite a los desarrolladores, y profesionales de TI y DevOps ejecutar comandos denominados cmdlets o command-lets. Estos comandos llaman a la API REST de Azure para realizar todas las tareas de administración posibles en Azure. Los cmdlets pueden ejecutarse de forma independiente o combinarse en un archivo de script y ejecutarse en conjunto para organizar:

  • La configuración de rutinas, la anulación y el mantenimiento de un único recurso o de varios recursos conectados.
  • La implementación de una infraestructura completa, que puede contener decenas o cientos de recursos, de código imperativo.

La captura de los comandos en un script hace que el proceso se pueda repetir y automatizar.

Azure PowerShell está disponible para Windows, Linux y Mac, y se puede acceder a él desde un explorador web mediante Azure Cloud Shell.

Windows PowerShell ha ayudado a las organizaciones de TI centradas en Windows a automatizar muchas de sus operaciones locales durante muchos años, y estas organizaciones han acumulado un gran catálogo de scripts y cmdlets personalizados, así como experiencia

La CLI de Azure

La CLI (interfaz de línea de comandos) de Azure es un programa ejecutable que permite a un desarrollador, profesional de DevOps o profesional de TI ejecutar comandos en Bash. Estos comandos llaman a la API REST de Azure para realizar todas las tareas de administración posibles en Azure. Es posible ejecutar los comandos de forma independiente o combinados en un script, y ejecutarlos conjuntamente para la configuración de rutinas, la anulación y el mantenimiento de un único recurso o de un entorno completo.

En muchos aspectos, la CLI de Azure es casi idéntica a Azure PowerShell con respecto a lo que se puede hacer con ella. Ambos funcionan con Windows, Linux y Mac, y se puede acceder a ellos desde un explorador web mediante Cloud Shell. La principal diferencia es la sintaxis que se usa. Si ya es experto en PowerShell o Bash, puede usar la herramienta que prefiera.

Plantillas de ARM

Aunque se puede escribir código imperativo en Azure PowerShell o en la CLI de Azure para configurar y anular un recurso de Azure u organizar una infraestructura completa que contenga decenas o cientos de recursos, hay una mejor forma de implementar esta funcionalidad.

Al usar las plantillas de Azure Resource Manager (ARM), puede describir los recursos que quiere usar en un formato JSON declarativo. La ventaja es que la plantilla de Resource Manager completa se comprueba antes de que se ejecute cualquier código para asegurarse de que los recursos se crearán y se conectarán correctamente. A continuación, la plantilla organiza la creación de esos recursos en paralelo. Es decir, si necesita 50 instancias del mismo recurso, se crean las 50 instancias al mismo tiempo.

Por último, el desarrollador, profesional de DevOps o profesional de TI solo tiene que definir el estado y la configuración de cada recurso en la plantilla de Resource Manager, y la plantilla hace el resto. Las plantillas pueden incluso ejecutar scripts de PowerShell y Bash antes o después de configurar el recurso.

Unidad 3: Análisis de los criterios de decisión

En esta unidad, analizará los criterios que emplean los expertos como ayuda para decidir qué herramientas de administración de Azure usar para satisfacer sus necesidades empresariales. Comprender estos criterios puede ayudar a entender mejor las diferencias entre los productos.

¿Necesita realizar acciones de administración, gestión o creación de informes de forma puntual?

Azure PowerShell y la CLI de Azure son herramientas de administración de Azure que le permiten obtener rápidamente la dirección IP de una máquina virtual (VM) que ha implementado, reiniciar una VM o escalar una aplicación. Es posible que quiera conservar los scripts personalizados de las dos herramientas en el disco duro local para determinados tipos de operaciones que tenga que realizar de forma reiterada.

Al contrario que la CLI de Azure y PowerShell, las plantillas de Azure Resource Manager (plantillas de ARM) definen los requisitos de infraestructura de la aplicación para implementaciones que se repiten. Aunque las plantillas de ARM no están pensadas para usarse de forma ocasional, es posible utilizarlas con esta finalidad. Pero en escenarios de un solo uso, es posible que prefiera herramientas más ágiles, como PowerShell, scripts de la CLI de Azure o Azure Portal.

Recuerde que las plantillas de ARM pueden incluir scripts de PowerShell o de la CLI de Azure, lo que le ofrecerá la posibilidad de usar scripts para tareas que puedan no ser posibles con la propia plantilla de ARM. La capacidad de combinar las herramientas de administración de Azure proporciona flexibilidad a la hora de elegir las herramientas adecuadas para una necesidad concreta.

Con Azure Portal puede realizar la mayoría de las acciones administrativas, si no todas. Si está aprendiendo a usar Azure o tiene que configurar y administrar recursos con poca frecuencia (o prefiere una interfaz visual para ver los informes), tiene sentido aprovechar las ventajas de la presentación visual que ofrece Azure Portal.

Sin embargo, si tiene un rol administrativo en la nube, es menos eficaz basarse exclusivamente en análisis visuales y clics. Para encontrar rápidamente la configuración y la información con la que quiere trabajar, la CLI de Azure o PowerShell le ofrecerán la máxima flexibilidad para las tareas repetibles.

La última herramienta de administración que se va a describir es Azure Mobile App, a la que se puede acceder desde un teléfono o tableta con iOS o Android. Dado que tiene todas las características, es probable que sea una mejor opción cuando no tenga a mano ningún portátil y necesite ver y evaluar problemas de inmediato.

¿Necesita una forma de configurar repetidamente uno o más recursos y asegurarse de que todas las dependencias se crean en el orden adecuado?

Las plantillas de ARM definen los requisitos de infraestructura de la aplicación para una implementación repetible que se realiza de forma coherente. Un paso de validación garantiza que se puedan crear todos los recursos en el orden adecuado en función de las dependencias, en paralelo y de forma idempotente.

En cambio, es totalmente posible usar PowerShell o la CLI de Azure para configurar todos los recursos para una implementación. Sin embargo, estas herramientas no cuentan con ningún paso de validación. Si un script detecta un error, no se pueden revertir fácilmente los recursos de la dependencia, las implementaciones se realizan en serie y solo algunas operaciones son idempotentes.

Al crear scripts, ¿procede de un entorno de administración de Windows o de Linux?

Si usted o los administradores de la nube provienen de un entorno de administración de Windows, es probable que prefieran usar PowerShell. Si usted o los administradores de la nube provienen de un entorno de administración de Linux, es probable que prefieran la CLI de Azure. En la práctica, se puede usar cualquiera de las herramientas para realizar la mayoría de las tareas de administración.

Unidad 4: Uso de Azure Portal para comprender y administrar visualmente su entorno en la nube

Tailwind Traders usa extensamente Azure en toda la organización. Para asegurarse de que el equipo técnico y el equipo ejecutivo conozcan el gasto de la empresa en la nube, el director de operaciones en la nube se reúne semanalmente con el director financiero para hablar de ello.

Puede ser que las conversaciones empiecen por cuestiones superficiales, pero, a medida que avanza la reunión, pueden querer profundizar para obtener más información sobre cómo se usan los recursos de Azure. Lo ideal sería que pudieran consultar los datos visualmente, así como ejecutar informes personalizados en tiempo real. ¿Qué herramienta pueden usar durante la reunión?

¿Qué servicio debe elegir?

Aplique los criterios de decisión que hemos aprendido en la unidad anterior para encontrar la opción adecuada.

En primer lugar, en este escenario, ¿Tailwind Traders tiene que realizar acciones puntuales de administración, gestión o creación de informes? Sí, y si tenemos en cuenta el requisito de poder consultar los datos visualmente y crear informes personalizados durante la reunión, Azure Portal es la mejor opción. Los asistentes a la reunión pueden encontrar rápidamente las respuestas usando una gran cantidad de opciones de creación de informes.

Los dos criterios de decisión siguientes no se aplican a este escenario, ya que el director de operaciones en la nube y el director financiero no implementarán ni configurarán ningún recurso.

Azure Portal es la opción de producto adecuada para este escenario.

Unidad 5: Uso de Azure PowerShell para tareas administrativas puntuales

Tailwind Traders tiene como empleados a tecnólogos con diferentes aptitudes. Un equipo de desarrolladores y administradores se encarga de la compilación y el mantenimiento de una colección de aplicaciones para la intranet que son fundamentales para la empresa. Los miembros del equipo tienen grandes conocimientos en administración de redes y desarrollo de Windows.

Han movido sus aplicaciones a la nube y ahora buscan una forma de realizar tareas administrativas, de gestión y de pruebas de forma puntual en el entorno de su intranet. Pronto se han dado cuenta de que administrar Azure desde el portal conlleva mucho tiempo y no es una tarea que se pueda repetir. ¿Qué herramienta debe usar la empresa para realizar tareas puntuales?

¿Qué servicio debe elegir?

En primer lugar, en este escenario, ¿el equipo de Tailwind Traders tiene que realizar tareas puntuales de administración, gestión o creación de informes? Sí. Sin embargo, el equipo ya sabe que no quiere basarse en Azure Portal para estas acciones puntuales. Por consiguiente, tanto Azure PowerShell como la CLI de Azure son opciones adecuadas. En un momento abordaremos qué herramienta debe usar el equipo.

En segundo lugar, en este escenario, ¿Tailwind Traders necesita un medio confiable y que se pueda repetir para implementar toda la infraestructura? No, no en este caso. Por lo tanto, las plantillas de Azure Resource Manager (plantillas de Resource Manager) no son la opción correcta.

Cuando el equipo de Tailwind Traders crea scripts, ¿procede de un entorno de administración de Windows o de Linux? Este equipo tiene conocimientos en administración de Windows. Lo más probable es que lo más cómodo sea usar Azure PowerShell, ya que esta herramienta permite usar la sintaxis con la que se siente más cómodo para realizar tareas de administración puntuales.

Azure PowerShell es la mejor opción para este escenario.

Unidad 6: Uso de la CLI de Azure para tareas administrativas puntuales

Como hemos visto en la unidad anterior, Tailwind Traders tiene como empleados a tecnólogos con diferentes aptitudes. El equipo de DevOps se ocupa principalmente de mantener en funcionamiento los sistemas externos, como el sitio de comercio electrónico de la empresa. Este equipo tiene conocimientos en administración de Linux. Con frecuencia, tiene que realizar tareas de administración relacionadas con el estado de su entorno de nube. En seguida el equipo se ha dado cuenta de que administrar Azure desde el portal conlleva mucho tiempo y no es una tarea que se pueda repetir. ¿Qué herramienta debe usar para realizar tareas puntuales?

¿Qué servicio debe elegir?

Puesto que este escenario es casi idéntico al de la unidad anterior, puede omitir los dos primeros criterios. En otras palabras, puede eliminar rápidamente las plantillas de Azure Resource Manager (plantillas de Resource Manager) y Azure Portal como opciones viables para este escenario. Por lo tanto, veamos el tercer criterio para la toma de decisiones.

La elección de la opción correcta en este escenario dependerá de los conocimientos del equipo. Dado que este equipo tiene conocimientos en administración de Linux, es probable que se sienta más cómodo con la CLI de Azure, que les permite usar el shell de Bash y su sintaxis para realizar las tareas de administración puntuales.

La CLI de Azure es la mejor opción para este escenario.

Unidad 7: Uso de Azure Mobile App para administrar Azure desde cualquier lugar

Tailwind Traders experimenta un aumento en el tráfico de comercio electrónico en momentos que coinciden con las festividades nacionales y los fines de semana. En los primeros años de la empresa, los administradores de sistemas críticos tenían que reunirse en la oficina del director de operaciones en la nube durante estos períodos importantes. Sin embargo, ahora que Tailwind Traders ha ejecutado correctamente la mayoría de los sistemas críticos, el director quiere relajar esta medida y permitir que los empleados pasen estas fechas con sus familias. ¿Hay algún producto que pueda ser útil para este escenario?

¿Qué servicio debe elegir?

En primer lugar, ¿Tailwind Traders tiene que realizar acciones puntuales de administración, gestión o creación de informes? Sí. La pregunta es, ¿cómo? Los empleados pertinentes, cuando no se encuentran en la oficina, podrían usar un teléfono o tableta para estar pendientes del estado del entorno en la nube. Probablemente Azure Mobile App presente un equilibrio adecuado, ya que permite a los empleados estar lejos de la oficina y, a la vez, seguir realizando tareas puntuales de administración y gestión imprescindibles.

Podemos omitir el resto de los criterios de toma de decisiones en este escenario. Azure Mobile App es la opción correcta.

Unidad 8: Uso de plantillas de Resource Manager para implementar una infraestructura en la nube completa

Tailwind Traders quiere poner en funcionamiento sus implementaciones en la nube. La empresa necesita una forma confiable y repetible para escalar sus operaciones durante los períodos de más ventas. Dado que va a elegir un proceso para escalar el entorno de producción, debe asegurarse de que el servicio elegido:

  • Sea eficaz y pueda crear muchos recursos en paralelo.
  • Cree todas las dependencias en el orden correcto.
  • Se pueda usar aunque se haya producido un error a medio aprovisionamiento de la infraestructura necesaria.

¿Qué servicio debe elegir?

En primer lugar, en este escenario, ¿Tailwind Traders tiene que realizar acciones puntuales de administración, gestión o creación de informes? En esta ocasión, no se busca realizar tareas puntuales u ocasionales de administración o gestión. Se necesita una tecnología para automatizar la implementación de toda la infraestructura cuando sea necesario.

En segundo lugar, ¿Tailwind Traders necesita un medio confiable y repetible para implementar toda la infraestructura? Sí, es exactamente eso lo que necesita la empresa. Nuestros criterios de decisión nos conducen a elegir las plantillas de Azure Resource Manager (plantillas de Resource Manager) para este escenario.

Podría usar Azure PowerShell o la CLI de Azure; sin embargo, estas tecnologías de scripting tienen limitaciones importantes en cuanto a la implementación de la infraestructura. En cambio, las plantillas de Resource Manager no están sujetas a estas limitaciones.

El tercer criterio de decisión supone que hay que escribir un script usando código imperativo. Sin embargo, cuando se usan plantillas de Resource Manager, se define la infraestructura de forma declarativa con código JSON. En algunos casos, es posible que se siga necesitando código imperativo para las tareas de configuración o de limpieza. En estos casos, se puede desencadenar la ejecución de scripts, ya sea mediante Azure PowerShell o la CLI de Azure, para realizar estas tareas.

En este escenario, las plantillas de Resource Manager son la opción correcta.

Video: 3.5.1 Elección de las mejores herramientas para administrar y configurar el entorno de Azure

  • La administración de recursos en Azure se puede dar de dos maneras:
    • A través de herramientas visuales como Azure Portal / Azure Mobile App
    • Herramientas de código como Azure PowerShell / Azure CLI
  • En ambos se puede administrar, controlar y crear recursos de manera automatizada a partir de plantillas de Azure (ARM)

Azure Portal

  • Es la manera más sencilla y la más utilizada para realizar la creación, administración, seguimiento y monitoreo de los recurso
  • Es totalmente personalizado
  • Puedes administrar y controlar los recursos que usted ha creado

Azure Mobile App

  • Es una aplicación diseñada para iOS o Android
  • Es intuitiva
  • Se le puede dar seguimiento a los servicios y recursos creados (BD’S, recursos, salud, alertas)
  • Tiene también la Powershell donde podrá ejecutar comandos

Azure PowerShell

  • Es una línea de comandos que viene instalada por defecto en Windows 7 en adelante
  • Exsten 2 versiones principales PowerShell y PowerSheel ISE la diferencia es que la ISE trae documentación, seguimiento, manipulación de script, depurar y ejecutar los scripts

CLI de Azure

  • Es la línea de comandos para Linux y Mac
  • La diferencia principal entre PowerShell y CLI es que la CLI puede ser instalada en una gran variedad de sistemas operativos
  • Y al igual que PowerShell puede ejecutar comandos que permiten la creación y eliminación de recursos por ejemplo, BD’s, políticas, mv’s, sitios Web

Administración de recursos en Azure

  • Podemos administrar los recursos de manera totalmente automatizada con las plantillas ARM
  • Estas plantillas vienen en formato JSON
  • La manera más sencilla por ejemplo para crear 100 MV identicas es crear una y una vez esta crear exportar su configuración (JSON) o ARM template