Elección de la herramienta de la línea de comandos adecuada

Completado

Cada acción que realice en Azure Portal supone la ejecución de código en una API en segundo plano para crear, leer, actualizar o eliminar recursos de Azure. Las herramientas de línea de comandos de Azure son contenedores para la API que permiten automatizar el aprovisionamiento de recursos de Azure a gran escala.

Opciones de automatización en Azure

Normalmente se usan cuatro herramientas de línea de comandos para automatizar los recursos de Azure: la CLI de Azure, Azure PowerShell, Bicep y Terraform.

¿En qué se diferencian estas herramientas?

La CLI de Azure, Azure PowerShell, Bicep y Terraform tienen similitudes, pero cada una ofrece ventajas diferentes. Dado que se le ha encargado el aprovisionamiento de Azure Storage, ¿qué herramienta ofrece más ventajas en su entorno?

En la tabla siguiente se identifica la funcionalidad de cada herramienta de línea de comandos de Azure. En la tabla:

  • El icono Sí indica que la funcionalidad es true para la herramienta de línea de comandos especificada.
  • El icono No indica que la funcionalidad es false para la herramienta de línea de comandos especificada.
Capacidad Azure CLI Azure PowerShell Bicep Terraform
IaC imperativo Sí Sí No No
IaC declarativo No No Sí Sí
Nativa de Azure Sí Sí Sí No
Independiente de la nube No N.º No Sí
Se puede ejecutar en Windows, Linux y macOS Sí Sí Sí Sí
Puede crear, editar y eliminar recursos de Azure Storage Sí Sí Sí Sí

Examine más detenidamente cada herramienta. ¿Qué características de la CLI de Azure frente a Azure PowerShell y de Bicep frente a Terraform hacen que uno o varios se ajusten a su entorno?

CLI de Azure frente a Azure PowerShell

La CLI de Azure y Azure PowerShell son herramientas de línea de comandos que permiten crear y administrar recursos de Azure.

Azure CLI

  • Es una interfaz de línea de comandos multiplataforma que se puede instalar en Windows, Linux y macOS.
  • Se ejecuta en Azure Cloud Shell, PowerShell, Bash, Cmd.exe o un contenedor de Docker.
  • Se basa en Python
  • De forma predeterminada, genera una cadena JSON, aunque hay otras opciones de formato disponibles, como una tabla, YAML y TSV.
  • Permite consultar la salida del comando usando la sintaxis de consulta JMESPath.
  • Usa comandos que se organizan en grupos, como az vm, y en subgrupos, como az vm disk.
  • Tiene una sintaxis que sigue un sencillo patrón reference name -command -parameter -parameter value.
  • Admiten operaciones asincrónicas.

Azure PowerShell

  • Es un módulo de PowerShell multiplataforma que se ejecuta en Windows, Linux y macOS.
  • Se ejecuta localmente en PowerShell, en Azure Cloud Shell o en un contenedor de Docker
  • Se basa en .NET Standard.
  • Proporciona finalización con TAB e IntelliSense predictivo.
  • Devuelve objetos .NET
  • Usa nombres de comando Verb-Noun para facilitar la detección

Bicep frente a Terraform

Bicep

Bicep es un lenguaje específico del dominio (DSL) que usa sintaxis declarativa para implementar recursos de Azure. En un archivo Bicep, puede definir la infraestructura que quiere implementar en Azure. Después, puede usar ese archivo durante todo el ciclo de vida del desarrollo para implementar la infraestructura. Los recursos se implementan de forma coherente.

Bicep brinda sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización de código. Bicep ofrece una buena experiencia de creación para soluciones IaC en Azure.

Terraform

HashiCorp Terraform es una herramienta IaC de código abierto para aprovisionar y administrar una infraestructura en la nube. Codifica la infraestructura en archivos de configuración que describen el estado deseado para la topología. Terraform permite administrar cualquier infraestructura, como nubes públicas, nubes privadas y servicios de software como servicio (SaaS), usando proveedores de Terraform.

¿Qué herramienta de la línea de comandos de Azure es la adecuada?

A la hora de seleccionar una herramienta, tenga en cuenta su experiencia anterior y su entorno de trabajo actual. Aquí tiene un resumen de las opciones:

  • La sintaxis de la CLI de Azure es similar al scripting de Bash.
  • Azure PowerShell es un módulo de PowerShell. Los comandos siguen un esquema de nomenclatura Verb-Noun y los datos se devuelven como objetos.
  • Bicep es un lenguaje DSL que usa sintaxis declarativa para implementar recursos de Azure.
  • Terraform es una herramienta IaC de código abierto para aprovisionar y administrar una infraestructura en la nube.

Elija la herramienta que se adapte a su experiencia y acorte la curva de aprendizaje. Tener una mente abierta solo mejorará sus capacidades. Use otra herramienta cuando tenga sentido.