Výběr správného nástroje příkazového řádku
Každá akce, kterou provedete na webu Azure Portal, se přeloží na spouštění kódu v rozhraní API na pozadí a vytváří, čte, aktualizuje nebo odstraňuje prostředky Azure. Nástroje příkazového řádku Azure jsou obálky pro rozhraní API, které umožňují automatizovat zřizování prostředků Azure ve velkém měřítku.
Možnosti automatizace v Azure
K automatizaci prostředků Azure se běžně používají čtyři nástroje příkazového řádku: Azure CLI, Azure PowerShell, Bicep a Terraform.
Jak se nástroje porovnávají?
Azure CLI, Azure PowerShell, Bicep a Terraform mají podobnosti, ale každá nabízí odlišné výhody. Vzhledem k tomu, že máte za úkol zřídit Azure Storage, jaké možnosti nástrojů poskytují ve vašem prostředí nejlepší výhodu?
Následující tabulka uvádí možnosti jednotlivých nástrojů příkazového řádku Azure. V tabulce:
- Ikona
označuje, že schopnost je
true
určená pro zadaný nástroj příkazového řádku. - Ikona
označuje, že schopnost je
false
určená pro zadaný nástroj příkazového řádku.
Schopnost | Azure CLI | Azure PowerShell | Bicep | Terraform |
---|---|---|---|---|
IaC imperativní |
|
|
|
|
Deklarativní IaC |
|
|
|
|
Nativní Azure |
|
|
|
|
Nezávislá na cloudu |
|
|
|
|
Může běžet ve Windows, Linuxu a macOS. |
|
|
|
|
Může vytvářet, upravovat a odstraňovat prostředky Azure Storage. |
|
|
|
|
Podívejte se podrobněji na jednotlivé nástroje. Jaké funkce Azure CLI a Azure PowerShellu a Bicep oproti Terraformu dělají jednu nebo více vhodných funkcí ve vašem prostředí?
Azure CLI vs. Azure PowerShell
Azure CLI a Azure PowerShell jsou nástroje příkazového řádku, které umožňují vytvářet a spravovat prostředky Azure.
Azure CLI
- Je multiplatformní rozhraní příkazového řádku, které je možné nainstalovat v systémech Windows, Linux a macOS.
- Běží v Azure Cloud Shellu, PowerShellu,
Cmd.exe
Bashu nebo kontejneru Dockeru. - Je založená na Pythonu.
- Výchozí nastavení pro výstup řetězce JSON, i když jsou k dispozici další možnosti formátu, jako jsou tabulky, YAML a TSV
- Umožňuje dotazovat výstup příkazu pomocí syntaxe dotazu JMESPath.
- Používá příkazy uspořádané do skupin, jako
az vm
jsou a podskupiny, napříkladaz vm disk
- Má syntaxi, která se řídí jednoduchým
reference name -command -parameter -parameter value
vzorem. - Podporuje asynchronní operace.
Azure PowerShell
- Je multiplatformní modul PowerShellu, který běží ve Windows, Linuxu a macOS.
- Běží místně v PowerShellu, v Azure Cloud Shellu nebo v kontejneru Dockeru.
- Je založená na .NET Standard
- Poskytuje dokončování tabulátoru a prediktivní IntelliSense.
- Vrátí objekty .NET.
- Používá
Verb-Noun
názvy příkazů pro usnadnění zjišťování.
Bicep vs. Terraform
Bicep
Bicep je jazyk specifický pro doménu (DSL), který k nasazování prostředků Azure používá deklarativní syntaxi. V souboru Bicep definujete infrastrukturu, kterou chcete nasadit do Azure. Tento soubor pak použijete v průběhu životního cyklu vývoje k nasazení infrastruktury. Vaše prostředky se nasazují konzistentním způsobem.
Bicep poskytuje stručnou syntaxi, spolehlivou bezpečnost typů a podporu opětovného použití kódu. Bicep nabízí dobré prostředí pro vytváření vašich řešení IaC v Azure.
Terraform
HashiCorp Terraform je opensourcový nástroj IaC pro zřizování a správu cloudové infrastruktury. Infrastruktura se codififikuje v konfiguračních souborech, které popisují požadovaný stav topologie. Terraform umožňuje správu jakékoli infrastruktury, jako jsou veřejné cloudy, privátní cloudy a služby SaaS (software jako služba) pomocí poskytovatelů Terraformu.
Který nástroj příkazového řádku Azure je pro vás správný?
Při výběru nástroje zvažte předchozí zkušenosti a aktuální pracovní prostředí. Tady je souhrn možností:
- Syntaxe Azure CLI se podobá skriptování Bash.
- Azure PowerShell je modul PowerShellu. Příkazy se řídí schématem
Verb-Noun
pojmenování a data se vrátí jako objekty. - Bicep je DSL, která k nasazení prostředků Azure používá deklarativní syntaxi.
- Terraform je opensourcový nástroj IaC pro zřizování a správu cloudové infrastruktury.
Zvolte nástroj, který využívá vaše zkušenosti, a zkracuje křivku učení. Když budete mít otevřenou mysl, zlepší se jen vaše schopnosti. Pokud dává smysl, použijte jiný nástroj.