探索持續作業

已完成

持續作業是 DevOps 分類法八大功能的其中一個。

探索為何需要連續作業

複雜的系統會失敗,而且可能會導致代價昂貴的斷電和服務中斷。 讓我們看看一些範例。

公司 Event
Icon for issue affecting Delta Airlines
Delta Air Lines
2016 年 8 月,位於亞特蘭大的營運中心有一個設備故障而造成斷電,迫使 Delta 消了 2300 架航班。 據報公司成本為 1.5 億美元。
Icon for issue affecting FedEx
FedEx 和英國國民保健署
2017 年 5 月,WannaCry 勒索軟體造成 FedEx 營運中斷。 一間 FedEx 子公司回報損失為 3 億美元。 英國的 National Health Service 是勒索軟體的另一大犧牲者,勒索軟體封鎖了該組織的電腦存取權、鎖定重要的醫療設備,並迫使某些醫院將救護車轉到其他地點。
Icon for issue affecting Amazon S3
Amazon S3
2017 年 2 月,運算子錯誤導致 Amazon 核心儲存服務發生四小時的服務中斷,對重要的 Web 財產 (例如 ALEXA、IFTTT、Quora 和 Trello) 產生許多影響。
Icon for issue affecting LinkedIn
LinkedIn
LinkedIn 層遭遇問題,導致兩個月間無法完成開發工作。
Icon for issue affecting Equifax
Equifax
Equifax 在 2017 年遭到入侵,導致超過 1.6 億消費者的個人資訊外洩。 我們已在持續安全性中更仔細討論過。

入侵事件的業務影響和成本

入侵事件的成本往往超過公司銷售額和信任的損失。 這些成本包括:

  • 回應和通知
    • 根據法律要求通知受影響的當事人,會產生營運和服務成本。 成本通常也包括客服中心、PR 支援和信用監測服務的額外成本。
  • 員工生產力和營業額損失
    • Yahoo 的總顧問辭職,且 CEO 未獲得 2016 年的年度獎金。
  • 訴訟與和解
    • Target 支付了 1850 萬美元給美國 47 州。
  • 違規罰款和回應措施
    • 自 2018 年起,歐盟的新資料保護政策生效後,罰款訂為年度收益的 4% 或 2 千萬歐元 (以金額較高者為準)。
  • 品牌形象復原成本
    • 採礦技術公司 Codan 的收益在一年內從 4500 萬驟降為 920 萬美元。
  • 其他責任
    • Verizon 遭受兩次重大駭客攻擊後,為 Yahoo 支付了 3.5 億美元。

此外還可能必須配合額外的安全性和稽核要求。

持續作業的可用性和修復機制

根據 Gartner 的調查,企業和 IT 領導人預期到 2020 年,約 47% 的生產應用程式預計會在公用雲端位置上執行。

面對僅僅一行程式碼就能摧毀整個資料中心的情況,基礎結構與營運領導人對於生產環境可用性和修復機制的著重點,需要有所改變。 新的部署模式正在改變我們確保應用程式和基礎結構可用性與修復機制的方式。

Diagram shows the Continuous Operations supporting availability, resiliency, recovery, and reliability. We detect issues, triage them, act upon them, and learn from our actions. The cycle is supported by people and technology.

增加生產環境中的應用程式和發行版本數量

軟體交付效能的關鍵效能指標如下:

  • 變更的前置時間
  • 部署頻率
  • 平均還原時間
  • 變更失敗率

團隊若致力於加快速度,但沒有投入足夠的時間建立高品質的流程,將會遇到較大的失敗,且需要花更多時間來還原服務。 建立高品質流程的團隊可同時實現速度和穩定性。

Web 和行動應用程式的數目,以及應用程式發行的頻率均大幅增加。 程式碼也變得越來越複雜。

Diagram shows the number of applications and the release frequency increased from 2010 to 2020.

注意

一般來說,DevOps 價值的很大一部分是在創新 (速度) 和業務持續性 (控制) 之間找到適當的平衡。

什麼是持續作業?

重要

持續作業可減少或消除預定停機或服務中斷的需求,例如排程維護。 基礎結構、應用程式和服務的持續監控,應盡可能繫結至自動化補救機制。 使用者應該永遠無法察覺更新或累加發行何時發生。

Diagram shows how AIOps and Digital Experience Monitoring, Application Release Orchestration, and uptime-based monitoring support Customer Experience Insights, Rapid Application Deployment, Dynamic Scalability and Cloud-first strategies.

比較傳統和持續作業做法

在傳統企業模型中,IT 會強制執行已發行的功能,並使用僵化的流程和程序控制所有人。

這種做法會導致開發小組與 IT 治理之間產生分歧。 開發小組大多都採敏捷式做法,以速度為重點,而且預期會經常發行。 對他們來說,IT 治理似乎是個瓶頸,與現今企業需要的預期上市時間目標不符。

Diagram shows the misalignment between Dev teams and IT Governance. Development teams focus on speed through self-service, production access and rapid releases. Governance focuses on control through policies, security, and cost management.

重要

若適當實作,DevOps 可同時提供創新 (速度) 和業務持續性 (控制)。

在傳統開發生命週期中:

  • 測試會剛好在上線前完成。
  • 通常會移交監視作業。
  • 測試階段中通常會向安全部門諮詢。
  • 進行移交期間,必須完成程式碼和所有服務管理控制項的安全性檢查。
  • 合規性通常不是移交的一部分,而是會在服務處於運作狀態期間發生的問題。
  • 復原功能/持續性的規劃是在設計階段完成,但是相關情境的實際測試通常只會在作業或測試階段期間完成,而這可能會導致設定變更、重做和浪費精力。
  • 作業、安全性與合規性和開發人員之間的協同合作,通常是透過事件管理和問題管理流程以被動方式完成。
  • 若把自動化留到最後階段進行,通常只會剩下少數資源可用來完成這個作業。

Diagram shows the traditional development lifecycle.

新的方法、技術及工作方式需採用持續作業的新做法。 下列八項主要持續作業做法已興起並持續演進著:

  • 安全性與合規性本質上應該理解,在設計高度自動化的雲端環境時,必須在設計階段考慮特定標準、法規,但也必須考慮到可追蹤性和可稽核性等業務需求。
  • 持續性與復原功能需要與組織密切合作,以確保業務需求反映在設計和實作中。
  • 遙測與監視可用來探索客戶使用模式、潛在的新需求,以及使用者在何處遇到錯誤的詳細資訊。 這些工具也有助於確保值的傳遞。
  • 服務管理是 DevOps 文化特性中的另外一個面向:
    • 轉型代表著您實際擁有。 您建立、執行服務管理,並在它中斷時進行修正。
    • 專注於需要的項目。
    • 賦予治理的能力。
    • 促進透明度。
  • 文化共同 作業對於持續作業至關重要。 組織通常需要改變其工作方式,才能促進 DevOps 小組的轉型。 在設計安全性和復原功能時,共同作業也是不可或缺的要素。
  • 自動化與 AI/ML Ops 是讓 DevOps (和雲端) 在與傳統作業小組比較之下產生差異的重要層面。 焦點必須放在將整個系統自動化 (系統自動化),而不只是僅限一個區域。
  • 持續部署採用新式發行管線,讓開發小組能快速且安全地部署新功能,進而獲得持續的客戶價值流,並縮短補救問題的時間。
  • 右移測試採用摸黑啟動、功能旗標、監視及 A/B 測試等做法。 接著小組可繼續進行測試,確保應用程式符合即時使用期間的行為、效能和可用性期望。

Diagram shows how to do Continuous Operations. You need to apply a paradigm shift and use DevOps Continuous Operations principles.

若要發展為 DevOps 做法,必須在文化特性中進行重要的典範轉移,才能以現代化的 IT 做法提供商業價值。

傳統 IT 現代化 IT
DNA 中介 移除中介
服務交付 以波形為基礎 以連續反覆項目為基礎
服務穩定性 為成功而設計 (高可用性/備援) 為失敗而設計 (復原性)
委派層級 IT 孤島 端對端服務
程序 有文件記載、經過最佳化、重新設計 自助服務、知識、低摩擦、自動化
自動化 隔離、手動起始 系統性、觸發、自動
監視 元素、以錯誤為焦點 服務、端對端功能為焦點
支援 服務台/客服中心 客戶服務/自助服務
生命週期 N-1 或更舊 NN+1
設定/資產管理 探索/手動設定 預定、宣告式、自動化

這些變動會帶來簡化的自動化流程、一致的成果獎勵、降低的風險,還有以客戶為中心的做法。