• 微軟發佈長期保留 Azure Backup 功能

    此前我們已宣佈為 DPM 雲備份提供長期保留功能。隨著 Azure Backup 服務的發佈,我們將此功能擴展到雲備份目前支持的所有 Windows Server 和 Windows Server Essentials SKUs 。

    延長 Azure Backup 保留期一直是 Azure Backup 論壇上關於 Azure 備份服務的熱門話題。Gartner 於今年二月發佈了一份報告,報告稱雲端備份的 TCO 大大低於基於磁帶的備份 – 雖然磁帶媒體很便宜,但基於磁帶的備份大部分成本都是與備份軟體、維護和人工有關的軟成本’”。您可能想要計算磁帶的 TCO,並考慮在企業內使用 Azure 取代磁帶。

    下面介紹如何使用 Azure Backup 中的長期保留功能。我們在您目前用來設置短期保留策略的相同配置螢幕中集成了相關體驗。您需要選擇可指定相應的時間表的每幾周備份一次的選項,以獲得更長的保留期。

    1:每四周一次,每次於星期日晚上 9 點備份

    在說明保留期和時間表之前,必須首先瞭解 Azure 備份是如何對復原點進行建模的。每個備份存儲為一個復原點,目前我們最多可以存儲 120 個復原點,保留期限制為 120 天。

    儘管此限制仍然存在,但我們增強了功能,允許粗細微性的每週備份選項,以對更長的保留期進行建模。下面是可用來通過此變更實現最長保留時間的全部選項。

    每 <n> 周同步一次

    最長保留時間計算

    最長保留時間(天)

    1

    120x7x1

    840

    2

    120x7x2

    1680

    3

    120x7x3

    2520

    4

    120x7x4

    3360

    除了使用上面的計算方式來計算保留期外,您可能希望根據業務需求指定保留期,例如 “我希望將每月備份保留 5 。在這種情況下,您可以通過乘以 365(閏年根據需要添加修正量)獲得相應的天數。

    下面是我們從客戶那裡獲得的一些常見保留期,可充分說明相應的計算方式。您將需要以類似的方式根據業務需求獲得相應的資料

    保留時間(年)

    保留時間(天)

    閏年修正量

    總計保留時間(天)

    1

    365×1

    +1

    366

    5

    365×5

    +2

    1827

    9

    365×9

    +3

    3288

    根據您用來計算保留期的任一方法,您需要在 “ Retention range in days ” 欄位中輸入值,然後選擇合適的同步頻率。除了可以將資料保留更長時間外,其餘功能將和以前一樣工作。

    若您有興趣觀看實際 demo,請參考以下 MVA 課程 (含操作手冊下載):

  • 微軟推出 Microsoft Dynamics 重大更新


    Microsoft Dynamics 致力於幫助個人和機構最大限度地利用稀缺的資源 -- 時間,讓人們工作效率更高。基於這個原則,我們希望通過 Dynamics 產品組合的不斷創新,努力為客戶提供最現代化的業務管理解決方案。今天,我們很自豪地向大家宣佈 Dynamics 的一系列更新:

      • Microsoft Dynamics CRM 2015  Microsoft Dynamics Marketing 2015 Update 革新了銷售和行銷人員協作的方式,提高了工作效率,同時對自然使用者介面做出了新的改進。在這個版本中,我們提供了巨大的價值來説明使用者更好地與他們的客戶溝通。本次更新帶來了全新的獨特功能,進一步實現了 Dynamics CRM 解決方案和市場上其他同類產品的差異化。
      • Microsoft Dynamics GP 2015 為中小型企業提供了一個功能強大、快速部署、易於使用的業務管理解決方案。此版本可以有效説明簡化業務流程,並可以與 Microsoft Azure 平臺更好地進行整合,幫助用戶在Office 365及其他基於雲的應用和聯網設備間無縫切換。加上今年早些時候發佈的 Microsoft Dynamics NAV 2015,我們將繼續為中小型企業打造高效的辦公解決方案。
      • 我們還發佈了 Microsoft Dynamics AX 更新,這是目前市場上最好的企業級 ERP 解決方案。本次更新將 Microsoft Dynamics AX 和 Microsoft Azure 的所有優點集成在一個完整的端到端解決方案中,讓企業充分體驗微軟帶來的強大生產力。

    借助微軟的平臺、生產力和分析資源,Microsoft Dynamics 的全新更新可以激勵人們在工作中做到盡善盡美,收穫更多並實現業務轉型。本次更新充分反映了 Dynamics 解決方案在過去一年的強勁發展勢頭,而這也是我們不斷創建人們喜歡使用的業務解決方案的前進動力。

    説明客戶提高生產力並獲得更好的業績仍將是我們今年的重點。我們將在 2015 年 3 月召開的微軟 Dynamics 全球用戶會議——2015 亞特蘭大會議上分享微軟關於生產力的願景和戰略。屆時,微軟首席執行官 Satya Nadella 先生將在會議上發表主題演講,分享微軟的技術是如何説明世界各地的組織進行業務轉型。歡迎立即報名參加該會議。

    同時,歡迎您訪問 Microsoft Dynamic 網站主頁,瞭解更多關於產品發佈及其他解決方案的資訊。

     

    Microsoft Dynamics CRM 2015 陪您共度假期

    今天,我們很高興地宣佈 Microsoft Dynamics CRM 2015 和 Microsoft Dynamics Marketing 2015 Update 的正式發佈。Dynamics CRM 2015 是微軟企業管理解決方案發展中的一個里程碑,我們希望能為用戶做得更多,並説明使用者為他們的客戶帶來最優的體驗。我們現在正在堅定地走持續一致的創新道路,保持每六個月能發佈一版產品更新。通過本次更新,進一步確立了 Dynamics 在 CRM 解決方案領域內的領先地位。

    Microsoft Dynamics CRM 2015 在市場行銷、銷售以及服務方面有顯著提升,使得不同職能部門間的協作更加自然和順暢。除了增加的新功能,我們還推出了銷售協作面板,有助於打破銷售和市場行銷之間的障礙,從而提供個性化的客戶體驗。

    同時,我們在市場行銷和銷售方面引入了一些新功能。在市場行銷方面,我們增加了新的互動行銷日曆、完整的 Lync 線上會議、新的圖形行銷工作流程和電子郵件編輯,以及 A/B 測試和集成報價。此外,我們還將繼續擴大我們的語言和銷售區域(包括日本和俄羅斯)。而在銷售方面,我們重點關注高科技賣家的需求,推出了一系列產品,如產品捆綁銷售和推薦產品功能、視覺銷售層級和滾動視窗,以及針對移動設備定制的儀錶盤和分析工具。

    我們也在自然語言使用者介面上做了相應的改進。Microsoft Dynamics CRM 2015 還通過 Cortana 引入了最新的語音功能和體驗(Cortana 是微軟重塑生產力承諾的一部分,其在 11 月召開的歐洲大會上獲得了非常好的市場回饋,而中國版 Cortana “小娜”在中國市場也反響熱烈)。

    您可以通過查看預覽版指南CRM 2015 新聞發佈會2014 歐洲大會瞭解更多。

    我們希望世界各地的企業都能夠獲得CRM,為他們提供最多的部署選項。使用者可以在網上和實體店購買 Microsoft Dynamics CRM 2015。Microsoft Dynamics CRM Online 在 130 個國家出售,支援 44 種語言。Microsoft Dynamics CRM 已經對 Grant ThorntonMetro Bank Trek Bicycles 等客戶產生了積極的影響,同時這些客戶對我們的工具和技術的創造使用也在説明加速生產力的變革。我們希望收到更多客戶的回饋,瞭解他們應用 Dynamics 的故事。

    您可以通過點擊連結搶先體驗試用版。對於中國 CRM On-premise 用戶,您可以註冊登記後點擊連結下載免費試用版。此外,您還可以在喜歡的應用程式商店中,找到適用於 Windows 平板和 iPad 的 Microsoft Dynamics CRM 版本。

     

    做好準備,迎接明天的挑戰

    在客戶愈發精明,經濟環境快速變化的時代,只有致力於提供絕佳客戶體驗的企業才有可能獲得更大的利潤。

    在 2014 年 11 月舉辦的 Microsoft Dynamics AX 2012 更新版發佈會上,我們向大家已經展示了微軟在零售和供應鏈方面的持續投資,並推出的一系列滿足使用者能夠在網路、社交、移動以及實體店中以最佳方式與其客戶互動的新功能。這些更新同樣説明公司運行一套能夠履行客戶承諾的動態操作。借助基於 Azure 的 Dynamics AX,我們向用戶再次展示了未來微軟雲服務將普遍應用于業務應用程式中的承諾,IT部門將從中獲得一種對業務產生積極影響的運營方式。

    ž

    IT 部門 -- 從成本中心到利潤中心

    雲將説明您的企業或組織提升 IT 基礎架構的靈活性和效率,同時讓您的 IT 團隊專注於支持新的業務計畫。您還可以幫助企業管理層思考雲可以有效支援的適用於企業的新業務模式和流程。例如,具備高度可擴展性的全球雲基礎架構可以輕易推動企業進入全新市場,這樣的新業務計畫成本將歸屬于運營成本而不是資本支出,從而可以更快地進入執行層面。更重要的是,因為雲服務本質上將提供所有的操作任務,如基礎架構的採購和維護,這使企業可以更順利地推動公司的發展與轉型。

    儘管雲通常被稱為一種革新性的技術,然而企業所將經歷的雲遷移過程則無需複雜的過程。雲基礎架構和服務非常易於添加到本地系統中,隨著時間的推移,您可以在混合環境中選擇和改變部署場景的組合。例如,如果您擁有一個多網站、單實例的內部部署 ERP 解決方案,您可以選擇:

      • 通過在雲中添加開發和測試環境來擴展具體專案的基礎架構。
      • 通過添加災難恢復來降低資料丟失的風險。
      • 通過在雲環境中支持新興市場的業務運營以及當前內部部署來提高敏捷性。

    為了便於在 Microsoft Azure 上部署 Dynamics AX,我們通過生命週期服務中的 Azure 部署門戶網站來提供拓撲結構。在即將到來的 2015 年,微軟將推出一種針對生產環境的拓撲結構。欲瞭解更多關於基於 Azure 的 Dynamics AX 的資訊,請查看白皮書

     

    通過雲重新構建您的業務應用

    如今,關於雲計算的探討往往集中於降低成本和提高靈活性。微軟相信,雲可以做得更多,成就更多。在微軟,我們把雲作為一個重新構建業務應用的契機,在今天看來,利用雲和內部部署解決方案提供服務、資訊和功能等方面的豐富體驗,這些應用似乎不切實際。那麼,雲如何影響業務流程和模式?

      • 部署更快捷、輕鬆。微軟 Dynamics 生命週期服務(LCS)已經提供了一個基於雲的協作工作區,客戶和合作夥伴可以使用它來管理世界各地的 Microsoft Dynamics AX 2012 應用。我們將繼續投資LCS,並通過試驗和測試、註冊和配置、簡單的部署和無縫的技術更新來開啟資料旅程。借助雲技術,LCS用於檢查自訂化的基於規則的引擎可以更加頻繁地更新。另外,可以在全球迅速地獲得來自支持的經驗和教訓,這些將成為組織的最佳實踐。
      •  提升移動工作人員的能力。雲還使分散的員工獲得高效率的相互協作。在此版本中,我們通過 Azure 服務中樞和 Dynamics AX 支援現代設備的應用程式之間的一種簡單、安全增強型通信。
      • 預測分析能力。在當今世界,感測器和大資料提供豐富的資訊。通過結合業務應用程式中的結構化資訊,提升員工的能力並提供更好的客戶體驗,從而提升企業利潤率。在巴賽隆納召開的大會上,食品零售商 JJ Food Services 分享了如何使用 Microsoft Azure 機器學習服務和 Dynamics AX 來預測顧客的下次購買,以儘量減少在網站上花費的時間,並增加訂單量。JJ Food Services 通過結合點擊流分析和業務應用提供的歷史交易資料,預測下一個訂單。此外,您還可以進一步利用它,使用這些基於雲的技術幫助銷售和行銷團隊尋找新的管道並聯繫新客戶,讓產品開發部門反思產品和服務,令企業從產品為中心轉型為數位化服務。

     

    雲創新的背後

    為了支持新的業務計畫,我們正在擴大領先的業務和生產力應用的集成,包括 Microsoft Dynamics CRM Online、Office 365、Microsoft Azure SQL 資料庫服務、物聯網、以及 Microsoft Azure 機器學習。

    瞭解更多資訊

    欲瞭解如家樂福和柯達這樣的企業是如何利用雲來做好準備以迎接未來挑戰,請點選連結觀看微軟 Dynamics 全球大會Convergence General Session。如果您想分享關於使用 Dynamics AX 與雲的企業案例,請聯繫我們。期待與您的下次對話。

  • TechNet 論壇精選 (10/27 - 11/22)

    TechNet 論壇是一個可以讓 IT 專業人員們自由提出問題、尋找資訊的好地方,歡迎大家多多利用,與論壇社群中的同好們一同分享 Microsoft 技術資訊。

    而我們也會不定期整理一些論壇精選給大家,希望對您的學習有所幫助!以下為 10/27 - 11/22 的論壇精選喔,感謝 TechNet 小幫手的協助。

    標題                                                                                                                                                              日期                  
    如何將既有的 SQL Server 資料庫 附加到 Azure 上 2014/10/27
    wds自動安裝問題 2014/10/30
    SQL Server 2008 Express 無法啟動 2014/10/31
    工作排程器內的工作在更換執行身分後就無法執行 2014/11/04
    本機群組原則編輯器裡 允許本機登入 顯示灰階無法無法新增使用者或群組. 2014/11/04
    VPN 網卡 IP 設定 2014/11/06
    Windows 7 (工作站) 開 Windows Server 2008 R2 所分享的檔案 (Office 2007 - 2012) 慢 2014/11/06
    Exchange 2010 服務會自動停止 2014/11/10
    Event log 不斷出現出現 Security-Spp 的 log 2014/11/11
    無法設定固定 IP 上網 2014/11/13
    關於 Win2012R2 WSUS 的 downstream 問題 2014/11/18
    啟動的 PXE 用戶端連線到 WDS 伺服器上的電腦上的錯誤訊息 - WdsClient: 啟動網路時發生錯誤 2014/11/20
    Windows Server 2003 Windows Update Fail Error 2014/11/20
    AD 轉移至新伺服器導致 SQL Server 問題 2014/11/20
    Office 繁簡轉換問題 2014/11/22

    若您有任何問題,或是有任何寶貴建議,歡迎隨時和我們聯絡 (tn_tw@microsoft.com),謝謝。

  • 微軟新年送豪禮,集氣拱大獎!台北東京來回機票不用抽直接送!

    隨著 2014 年即將進入尾聲,我們在此為回饋 IT 專業人員們一年來的辛勞,特別設計了【體驗MVA微軟虛擬學院 – 立即拿豪禮】的活動,除了推廣 MVA (Microsoft Virtual Academy) 微軟虛擬學院,這個堅持 ‧ 不收半毛錢的線上學習平台,同時也希望大家可以一起同樂,開心跨年集氣拱大獎!獎項除了Surface Pro 3, XBOX One + Kinect, Beats 無線耳罩式耳機,還加碼不用抽直接送的最高人氣獎「台北東京雙人來回機票」!

    活動辦法相當簡單,只要完成以下動作,即可獲得抽獎資格 (詳細活動辦法請點這裡):

    1. 註冊 MVA 微軟虛擬學院帳號 (使用您原本的 Microsoft 帳號即可註冊 MVA)

    2. 完成兩門指定課程的第一單元 (指定課程分別為Windows Server 於公有雲上的備份還原服務打造現代網站應用程式)

    免費學習好技術又有大獎等您帶回家,還在等什麼,趕快呼朋引伴來試試手氣吧!

  • Azure Automation:使用 CheckPoint 實現可靠的容錯 Runbook 執行

    作為 Azure Automation Runbook 的編寫者,我們都希望建立的 Runbook 在遇到意外問題(如錯誤、異常、網路問題和意外中止)時能夠可靠地執行。 Azure Automation 可以幫助您實現這一目標。 Azure Automation 構建於 Windows PowerShell 工作流程基礎之上,支援 Checkpoint 技術,能夠保持工作流程,這樣一旦發生中斷,隨後將可以在中斷點或其附近恢復。因此, Checkpoint 是一項十分強大的功能,大家勢必希望在 Automation Runbook 中加以利用。有效利用 Checkpoint 可使您建立的 Runbook 自動執行長時間運行的流程,順利訪問不同的網路系統,保證不重複那些不應該重複(非冪等任務)或重複起來較為昂貴的操作,並可有計劃地中斷以納入手動步驟。

    在本文中,我們將探討在 Automation Runbook 中使用 Checkpoint 的原因、場景和方式。大家可以重溫一些有關 PowerShell 工作流程 Checkpoint 的現有資訊,從而説明理解本文。

    什麼是 Checkpoint

    Checkpoint 是 Runbook 作業的當前狀態快照,包括當前的變數值、所有輸出及其他可序列化狀態資訊。每個 Checkpoint 均將保存到儲存中。如果有意或無意導致 Runbook 暫定,接著重新恢復,工作流程引擎將使用最新 Checkpoint 數據還原和恢復 Runbook 。

    Azure Automation Checkpoint

    在 Azure Automation 中,當您保持一個 Runbook 作業時,將會建立 Checkpoint 並將其儲存到 Azure Automation資料庫中。資料庫中僅會儲存存每項作業的最新 Checkpoint 。各 Checkpoint 會替換前一個 Checkpoint 。如果 Runbook 先暫定而後恢復,最後儲存的 Checkpoint 將用於儲存和恢復 Runbook 。

    與 PowerShell工作流程(將 Checkpoint 儲存到託管工作流程會話的電腦硬碟中)不同, Azure Automation 將 Checkpoint 儲存到 Azure Automation 資料庫中。因此,如果運行 Runbook 的工作進程發生意外中止,那麼待該進程重新開機後或其他工作進程可以繼續完成作業,使用資料庫中的最新 Checkpoint 恢復作業。

    為什麼使用 Checkpoint

    以下是在 Runbook 中使用 Checkpoint 的幾點原因:

    • 確保某些操作不重複

    • Checkpoint 對於在 Runbook 發生意外中止(暫定)後又恢復時保證不重複執行那些不應該重複的操作(非冪等任務)。例如,建立虛擬機器後立即核查 Runbook Checkpoint ,如果 Runbook 作業暫定後又恢復,則不能建立重複的虛擬機器。

    • 保護長時間運行的任務

    • 在現實世界中,錯誤時常發生。包含多個步驟、長時間運行的任務容易因網路問題、電腦重啟或意外中止、超時、電源中斷等造成中斷。為避免重新執行昂貴任務,需要檢查 Runbook 的 Checkpoint ,確保任何 Runbook 重新啟動後都不會重新執行任務。

    • 確保長時間運行的 Runbook 完成運行

    • Azure Automation 具有“公平共用”功能,該功能會卸載執行時間達 30 分鐘的所有 Runbook,以便其他 Runbook 繼續運行。最終,將會重新載入被卸載的 Runbook,完成載入後,將從最後一個 Runbook Checkpoint  恢復執行。因此,為保證 Runbook 最終完成,您必須不時添加 Checkpoint 且運行間隔不得超過 30 分鐘。(此論壇文章列舉了有關這個問題的一個示例。)

    • 允許計畫內中斷或手動中斷

    • 在某些場景下,您可能希望暫定正在運行的 Runbook 。例如,暫定 Runbook 作業等到批准後再繼續運行,或者暫定 Runbook 作業等待修復意外或計畫內系統問題。

    如何向 Runbook 添加 Checkpoint 

    Checkpoint-Workflow 活動

    Checkpoint-Workflow 活動(別名:Persist)是一項標準的 PowerShell 工作流程活動,在 Runbook 中可用於在某個特定的點建立 Checkpoint 。在 Runbook 中發生 Checkpoint-Workflow 活動的特定點建立 Checkpoint  。


    Download-Updates
    Reboot-VM
    Checkpoint-Workflow
    Email-Team
    Checkpoint-Workflow

    -PSPersist 活動通用參數

    每當調用此活動時,都可以納入 –PSPersist 工作流程活動通用參數。這將會在活動完成後,立即強制建立 Checkpoint 。

    Download-Updates

    Reboot-VM –PSPersist $True

    Email-Team –PSPersist $True

    $PSPersistPreference工作流程首選項變數

    在 Runbook 中,您可以包含 $PSPersistPreference = $True 語句。這將會導致在完成 preference 語句執行的活動後刪除 Checkpoint 。如果將此 preference 語句設在 Runbook 開頭,那麼將會在 Runbook 中的每項活動後均建立一個 Checkpoint 。您可以通過包含 $PSPersistPreference = $False 語句(這是 Runbook 默認設置)關閉自動Checkpoint,而後運行活動時將不會使用自動 Checkpoint 。

    請注意,出於性能和策略原因,每項活動後均執行 Persist 可能並非最佳方法。每個 Checkpoint 均需要處理,以便實現工作流程狀態序列化並將其儲存到資料庫中。另外,在某些場景中(後面的例子),如果 Runbook 暫定,您可能會希望重複一些活動。出於上述原因,不推薦運用此方法。

    Download-Updates

    $PSPersistPreference = $True

    Update-VM

    Email-Team

    $PSPersistPreference = $False

    Suspend-Workflow 活動

    當在 Runbook 中使用 Suspend-Workflow 活動時,最直接的結果是建立 Runbook Checkpoint ,然後將 Runbook 暫定。您將需要在 Runbook 中使用此活動,例如,如果需要 Runbook 執行某項作業,然後等待審批再繼續運行。"獲得"批准的方式是恢復 Runbook 作業。

    Download-Updates

    # Get permission to apply updates

    Suspend-Workflow

    # Continue if resumed

    Reboot-VM –PSPersist $True

    Email-Team –PSPersist $True

    添加 Checkpoint 的位置

    通常情況下,最好明確標記 Persist 工作流程的位置。並不是要設置 $PSPersistPreference 變數在每項活動後執行綜合檢查,通常最好從綜合戰略角度出發,在需要 Persist 操作的工作流程位置使用 Checkpoint-Workflow 活動、 Suspend-Workflow  活動或  –PSPersist 參數。某些位置的確需要 Persist 工作流程,但有些位置確實不需要 Persist 工作流程(示例如下)。另外,請記住, Persist 工作流程需要在系統層實現,這會在一定程度上影響工作流程性能。

    最佳實踐:在下列情況下,您可能需要在工作流程中添加 Checkpoint :

    • 在不希望重複(非冪等)的任何活動後面。

    • 由於成本限制不希望重複的長時間運行或費用昂貴的活動後面。

    • 在執行時間超過 30 分鐘的 Runbook 中。30 分鐘後,將啟用“公平共用”功能,暫時卸載 Runbook,以便其他 Runbook 運行。最終,系統將重新載入該 Runbook ,並從最後一個 Checkpoint 恢復執行。如果未添加任何 Checkpoint ,那麼 Runbook 將從頭恢復,當然還會再次執行公平共用,這種情況將會重複出現,Runbook 將永遠無法完成。
    • 在超出正常問題概率(可能導致故障和工作流程暫定)的任何活動前。您希望在工作流程恢復時重複該活動,從而確保活動工作順利完成。例如,訪問可能受到網路問題影響的遠端系統的活動。

    最佳實踐:不能在下列情況下添加 Checkpoint :

    • 在工作流程暫定後又恢復時希望重複的工作後

    • 重複執行的成本比建立 Checkpoint 費用低的工作後

    • 在 InlineScript 塊中(不允許)

    演示場景:更新虛擬機器

    1. 從 Windows 更新下載最新修補程式
    2. 重新開機虛擬機器以應用修補程式
    • Checkpoint

           3. 向團隊發送電子郵件報告已應用更新

    • Checkpoint

           4. …

    在此場景下,可以重複步驟 1(因為冪等),但不能重複步驟 2 和步驟 3。因此,需要在步驟 2 和步驟 3 後添加 Checkpoint 。"每項活動後自動 Persist "設置仍然有效;但是,在步驟 1 後添加 Checkpoint 未必會向系統添加工作。

    演示場景:通知客戶

    1. 從資料庫獲取客戶清單
    2. 向客戶發送電子郵件通知新策略
    • Checkpoint

           3. 向管理層發送電子郵件,表明已向客戶發送電子郵件

    • Checkpoint…

           4. ...

    有時候,您不希望重複活動組,但只有在該組的所有活動均成功完成的情況下才適用。在此場景下,步驟 1 和步驟 2 應始終同時運行,確保在發出電子郵件時檢索到的客戶清單保持最新狀態。因此,如果 Runbook 工作進程在步驟 2(發送客戶電子郵件)前發生意外中止,待到 Runbook 作業恢復後,我們希望它再次從步驟 1(檢索客戶清單)開始運行。但是,如果在步驟 3 前發生意外中止或暫定,那麼我們希望確保不重複執行步驟 2(不希望再次向客戶發送電子郵件)。

    最佳實踐:值得注意的是,不能在工作流程 InlineScript 塊或函數中添加 Checkpoint 。這是因為InlineScript 塊或函數以PowerShell 腳本(而非PowerShell工作流程腳本)的形式運行。因此,為了充分利用工作流程 Persist 的優勢,最好將 Runbook 代碼拆分為多項模組化活動,這樣就能在活動之間添加 Checkpoint ,或者如果需要 InlineScript ,那麼可以使用多個 InlineScript 塊,以便在 InlineScript 塊之間建立 Checkpoint 。

    暫定和恢復 Runbook

    建立 Checkpoint 和暫定 / 恢復 Runbook 同時使用。向 Runbook 添加 Checkpoint ,這樣當 Runbook 暫定時, Runbook 即可從最後一個Checkpoint 恢復。

    Azure Automation 的 Runbook 作業可通過多種方式暫定:

    • 使用者使用 Azure Automation 門戶介面暫定

    • 您可以選擇在 Azure Automation 門戶介面中暫定正在運行的 Runbook 作業。

    • 該作業將在下一個Checkpoint 暫定。如果未在 Runbook 中建立任何 Checkpoint ,那麼 Runbook 將繼續運行直至結束,並且始終顯示“正在暫定”狀態。

    • 用戶在 Runbook 中使用 Suspend-Workflow 暫定

    • 在 Runbook 中包括 Suspend-Workflow 活動。

    • 將為作業建立 Checkpoint ,然後在調用 Suspend-Workflow 的位置暫定。

    • 用戶使用 Suspend-AzureAutomationJobcmdlet 暫定

    • 在 PowerShell 腳本或工作流程中,您可以使用 Suspend-AzureAutomationJob cmdlet 暫定正在運行的 Azure Automation Runbook 作業。

    • 該作業將在下一個 Checkpoint 暫定。如果未在 Runbook 中建立任何 Checkpoint ,那麼 Runbook 將繼續運行直至結束,並且始終顯示“正在暫定”狀態。

    • Azure Automation工作流程引擎在 Runbook 執行時間超過 30 分鐘時暫定

    • 當正在運行的作業執行時間超過 30 分鐘時,將會觸發“公平共用”功能,系統將暫時卸載 Runbook 。作業狀態將被設置為“正在運行,等待資源”。最終,將重新載入 Runbook ,然後從最後一個 Checkpoint 開始執行。

    • Azure Automation 工作流程引擎在 Runbook 發生異常後意外暫定

    • 當正在運行的作業發生異常時, Runbook 工作進程會將其卸載, Runbook 狀態將設置為“已暫定”。

    • 因 Runbook 工作進程發生意外中止而意外暫定

    • 如果 Runbook 工作進程發生意外中止,該工作進程上運行的作業將立即終止。這些作業在資料庫中的狀態仍繼續為“正在運行”。當上述或替換工作進程恢復線上狀態時,將恢復這些作業並從最後一個Checkpoint繼續執行。

    Azure Automation 的 Runbook 作業可通過多種方式恢復。在任何情況下,作業都將從最後一個 Checkpoint 進行恢復;若未建立 Checkpoint ,則從頭開始恢復。

    • 在 Azure Automation 門戶介面中手動暫定

    • 您可以選擇使用 Azure Automation 門戶介面恢復暫定的作業。

    • 使用 Resume-AzureAutomationJobcmdlet 暫定

    • 在 Runbook 工作進程意外中止後自動暫定

    • 當工作進程恢復線上狀態或者指定另一個工作進程接替其操作時,該工作進程將會在為其分配的資料庫中查找作業。對於狀態顯示為“正在運行”但尚未在工作進程上運行的任何作業,工作進程將從最後一個 Checkpoint 自動恢復(這與上方暫定列表中的第 5 項的情況相同)。

    值得注意的是,恢復 Runbook 時,可在不同於之前暫定的工作進程上恢復 Runbook 。因此,需要重新建立 Runbook 期望使用的任何本地狀態。例如,這意味著,如果 Runbook 需要在 Checkpoint 後的任意一點與 Azure 相連,需要在各 Checkpoint 後再次調用本地檔中設置狀態的命令(如 Connect-Azure、Add-AzureAccount、Select-AzureSubscription 或 Set-AzureSubscription )。

    小結

    大家可以看到,如果要充分利用PowerShell工作流程的這項關鍵功能並使 Runbook 能夠應對中斷情況,應在 Runbook 中添加 Checkpoint 。添加 Checkpoint 很簡單。創作 Runbook 期間預先計畫,即可保護較為昂貴的長時間運行任務應對意外中斷,真正建立強大可靠的 Runbook 。
     

    本文翻譯自  Azure Automation: Reliable, Fault-Tolerant Runbook Execution Using Checkpoints