現(xiàn)在讓用戶也可以使用Pulumi,在Azure上配置基礎設施,Pulumi允許開發(fā)者使用像是Python等熟悉的程序語言,來編寫配置基礎設施的文件,微軟表示,所有基礎設施即程序碼(Infrastructure as Code,IaC)工具,能做的工作都一樣,提供多維工具只是方便熟悉不同語言的人使用。
基礎設施即程序碼讓用戶透過樣板文件來定義基礎設施,由樣板中的配置來部署資源,而且因為基礎設施即程序碼是以文字來定義基礎設施,因此適用軟件開發(fā)生命周期程序來管理基礎設施,就如同管理程序碼一樣。
微軟已經(jīng)提供Azure資源管理器(Azure Resource Manager,ARM)以及Terraform等工具,供用戶定義Azure上的基礎設施,而現(xiàn)在微軟引入一個稱為Pulumi的新工具,其特色是讓用戶可以用程序語言,來執(zhí)行基礎設施即程序碼工作。
基礎設施即程序碼通常使用獨立於語言之外的數(shù)據(jù)格式,像是JSON或YAML,Terraform則稍微特殊,使用領域特定語言(Domain Specific Language,DSL)以及Hashicorp配置語言(Hashicorp Configuration Language,HCL)來建構(gòu)樣板。
而Pulumi不需要開發(fā)者額外學習JSON、YAML或是DSL,可以直接使用熟悉的程序語言定義基礎設施,這代表開發(fā)者也可以使用程序語言中的循環(huán)、變量、錯誤處理等標準功能。微軟提到,這些功能也可以用其他工具達成,像是在Python中可用for循環(huán)來創(chuàng)建多個資源,而使用ARM則可以用復制功能達到相同的目的。
工具間并沒有優(yōu)劣,只是看用戶習慣哪一種工具,云端工程師可能較熟悉使用JSON或YAML,而開發(fā)人員習慣程序語言,就可以選擇Pulumi。