《Windows Azure Platform 系列文章目錄》
通過Azure Automation(自動化),開發人員可以自動完成通常要在雲環境中執行的手動、長時間進行、易出錯且重復性高的任務。你可以使用 Runbook 來創建、監視、管理和部署 Azure 環境中的資源。所謂的 Runbook,基本上就是指 Windows PowerShell 工作流。
Azure Automation概念上類似Windows Service,SQL Server Job。
Azure Automation可以無人值守,自動化運行。
Azure Automation有三個非常重要的概念:
1.Automation,一組業務邏輯的集合。包含多個RunBook和多個Schedule。
2.RunBook,運行業務邏輯的主題
3.Schedule,調度RunBook的計划任務。一個Schedule可以調度多個RunBook
舉個例子,假設我們每天早上9點上班之前把一個訂閱下所有的虛擬機開啟,然后在下午6點下班以后把所有的虛擬機關閉,這樣是非常節省成本的。
以前我們需要通過單獨某一台Azure虛擬機,定期執行PowerShell命令,因為虛擬機按照小時收費,成本會非常高,非常不划算。
另外單獨的Azure虛擬機會產生單點故障,從可靠性角度來說,也是無法保障的。
通過使用Azure Automation,可以設置自動化的工作流,定期執行負載的業務邏輯。
Azure Automation功能非常強大。微軟Azure Automation團隊提供了Runbook實例代碼,讀者可以瀏覽http://go.microsoft.com/fwlink/p/?linkid=393029&clcid=0x409,進行參考。
最后,筆者演示一個簡單的Azure Automation Hello World,使用國內由世紀互聯運維的Azure China
1.首先我們登陸管理界面,地址https://manage.windowsazure.cn
2.選擇Automation,點擊Create an automation account。如下圖:
2.輸入Automation的名字,如下圖:
3.在Automation欄目,選擇我們之前創建的LeiAutomation。如下圖:
4.頁面跳轉,我們點擊RUNBOOKS,然后點擊IMPORT,如下圖:
5.打開瀏覽器瀏覽https://gallery.technet.microsoft.com/scriptcenter/The-Hello-World-of-Windows-81b69574
下載相應的PS1腳本並通過上圖導入到Azure Runbook。如下圖:
6.導入成功后,我們就可以查看到該RunBook。如下圖:
7.我們點擊上圖中的Write-HelloWorld,頁面跳轉,然后我們點擊Author。如下圖:
8.可以看到這個RunBook的業務很簡單,就是輸出Hello World。具體代碼如下:
workflow Write-HelloWorld { param ( # Optional parameter of type string. # If you do not enter anything, the default value of Name # will be World [parameter(Mandatory=$false)] [String]$Name = "World" ) Write-Output "Hello $Name" }
9.我們可以通過點擊TEST來進行調試。如下圖:
10.調試成功后,我們就可以點擊PUBLISH進行發布。如下圖:
11.發布成功后,我們可以在PUBLISHED里面看到發布的RUNBOOK項目,如下圖:
12.我們點擊PUBLISH里面的Start按鈕,可以執行該RUNBOOK。如下圖:
13.執行成功后,我們可以在Jobs里,查看到之前執行的Job。如下圖:
14.我們點擊上圖的JOB CREATED,就可以查看到執行的具體情況。圖略。
15.如果我們點擊SCHEDULE,就可以定期,比如每小時,每天執行這個RUNBOOK。如下圖: