Elección de la herramienta de la línea de comandos adecuada
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 indica que la funcionalidad es
true
para la herramienta de línea de comandos especificada. - El icono indica que la funcionalidad es
false
para la herramienta de línea de comandos especificada.
Capacidad | Azure CLI | Azure PowerShell | Bicep | Terraform |
---|---|---|---|---|
IaC imperativo | ||||
IaC declarativo | ||||
Nativa de Azure | ||||
Independiente de la nube | ||||
Se puede ejecutar en Windows, Linux y macOS | ||||
Puede crear, editar y eliminar recursos de Azure Storage |
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, comoaz 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.