DevOps 技術概觀

將軟體傳遞自動化,為使用者帶來持續價值

DevOps 的承諾

DevOps 可將軟體傳遞自動化,以及提高其效率。DevOps 可提高您程序與產品的可靠性。當您實作 DevOps 技術並加以實踐時,您將能夠以更快的速度為客戶帶來價值,不論是全新/創新的產品或是對現有產品的改善皆可行。

DevOps 的定義是什麼?

DevOps 是一種能夠將開發與 IT 人員、程序和技術整合的做法,可將其劃分為五個核心做法:規劃與追蹤、開發、建置與測試、傳遞,以及監視與作業。實踐 DevOps 時,開發、IT 作業、品質工程和安全性小組得以緊密合作,打破原先各部獨立作業,無法取得共識的現象。改善這些專業領域間的協作,可減少對系統認可變更,到變更投入生產階段間的時間。此外,還能確保達到程序中的安全性與可靠性標準。進而得到結果:更棒的產品、更快的出貨速度、更滿足的客戶。

所以我該如何實踐 DevOps 模型?

跨專業領域小組可遵循這些 DevOps 階段,透過其傳遞管道快速將產品上市。

規劃與追蹤

使用工作流程看板等做法與程序來識別與追蹤工作,進而提升敏捷度。使用視覺效果追蹤工作時,專案關係人可清楚看到開發小組的產能,從而改善規劃品質與工作的優先順序,避免火燒眉毛。

開發

使用 Git 等新式版本控制系統,對主要分支進行持續且安全的整合。當功能完成時,開發人員可提交提取要求,要求核准後變更就會合併至主要分支,而舊的分支則會刪除。

建置與測試

將程式碼簽入 Git 或另一個版本控制系統,會開始自動化建置程序。程式碼會經過測試與驗證,確保能夠在初步開發階段找出 Bug - 使開發人員得以「趁熱」修正,進而減少開支。這項自動化建置與測試的程序就稱作持續整合 (CI)。可在生產環境部署的成品即為成功建置與整合的成果,使我們得以實現持續傳遞 (CD) - 可隨時部署至生產環境的能力。

部署

在經過測試與驗證後,每項變更都可部署至生產環境。使用持續傳遞做法,最後部署至生產環境是手動控制的商務決策。

透過持續部署,從程式碼認可到生產的整個程序都可獲得自動化。當您的程式碼自動部署時,您的客戶可在準備完成時立即應用新功能。

監視與運作

進入生產階段後,監視會傳遞有關您應用程式效能與使用模式的資訊。藉由取得立即性且豐富的診斷資料使小組得以迅速應對,來達到高可用性。為使用者排解問題以及收集資料,以對未來的開發做出旁徵博引的商務決定。此外,利用使用基礎結構即程式碼,以及原則即程式碼的自動化合規性原則,可確保您部署至生產的應用程式會使用與安全性最佳做法對齊的 Desired State Configuration。

深入了解

利用 Azure 開始進行 DevOps

Azure 提供適用於 DevOps 的全面性、自動化解決方案,其中包含整合的安全性與監視。這使您不必花太多心力就能在雲端中開發與運作應用程式。Azure DevOps 的開發人員體驗可與您選擇的工具整合。您若是 JAVA 開發人員,可盡情利用 Azure 提供的 Eclipse 原生整合。若您以 Jenkins 進行建置,可加以使用輕鬆地直接部署至 Azure。整合您的開發、IT 作業及品質工程小組,在雲端中一同建置、測試、部署、監視及管理應用程式。針對具有延遲、法規或其他自訂需求的應用程式與工作負載,與 Azure Stack 結合的 Azure 可提供一致性的混合式 DevOps 體驗。您可在應用程式要執行的環境中,使用自身的技能、程序和工具。

持續創新

簡易且快速的雲端開發

減少花在建置傳遞管線上的時間,而向產品開發投入更多時間。使用全面性 DevOps 解決方案在雲端中開發與運作應用程式- 不論您要改善現有的傳遞管線或從頭開始都可以。使用 Node.js 或 .NET、Azure DevOps 或 Jenkins。Azure 是在雲端中開發與運作應用程式的最輕鬆方法。

增加可靠性與重複性

節省管理基礎結構與安全性的時間,並在開發創新解決方案上投入更多時間。Azure 提供整合、企業級的安全性與監視,使您能夠持續部署。利用 Azure Resource 管理員或 Terraform 等基礎結構即程式碼工具的協助,來建立可重複且可靠的部署,而非僅忘了合規性標準。

依照您的方式開發並部署

使用您想要的工具。這項開源且具全面性的 DevOps 程序能夠適應任何工具鏈,包含開放原始碼工具,可在您整個工作流程中使用。透過 Azure 使用 Ansible、Docker、Kubernetes 或是您所喜愛的任何其他工具。

Customers are doing great things with DevOps and Azure

探索 Azure for DevOps

在您的管線中繼續使用慣用的開放原始碼與協力廠商工具。或是利用 Azure DevOps 來協調與補足您的端對端 DevOps 工具鏈。

開發

透過 Azure 與 Visual StudioVisual Studio Code 的原生整合,來簡化開發體驗。若您是 JAVA 開發人員,可使用 Azure 工具組在 Eclipse 與 IntelliJ 等協力廠商 IDE 中善用豐富的 Azure 體驗。

利用無限制的 Git 存放庫共用程式碼、建置和交付軟體,並透過 Azure DevOps 使用敏捷式工作管理。利用 DevTest Labs 在數分內為開發人員佈建環境。

建置與測試

設定 CI/CD 管線,並利用 Azure DevOps 管理套件。將現有的 Jenkins 組建與管線帶往 Azure,並使用動態代理程式外掛程式來減少基礎結構需求與成本。

利用 DevTest Lab 來設定及管理測試環境,使您能夠準時交貨同時保有高品質。利用 Visual Studio App Center 將 iOS、macOS、Android 和 Windows 應用程式的生命週期自動化,使您更快且更有把握地加以建置、測試和出貨。在上千部實際裝置上進行測試、散發給 Beta 測試人員與應用程式商店,並利用損毀與分析資料監視使用方式。

部署

基礎結構即程式碼會將環境定義擷取為可宣告式程式碼,例如 JSON 或 YAML,以為自動化佈建與設定做好準備。使用 Azure Resource ManagerTerraform 確實佈建環境複本。Azure 自動化Ansible、Chef 或 Puppet 等工具可提供自動化與設定管理。

利用 Azure DevOps Release Management 將您在多個環境中的軟體測試與傳遞自動化,一路直到具有核准閘道的生產環境。您也可以從 Jenkins 管線直接部署至虛擬機器、Web Apps 或 Azure Container Service。

監視與運作

利用 Azure 監視器來監視基礎結構健康情況,並整合至 Grafana 或 Kibana 等現有的儀表板或是 Azure 入口網站中。利用 Log Analytics 快速從多個位置連線和收集記錄資料,並將其轉換為見解與動作。利用 Application Insights 來診斷問題並將應用程式最佳化。

利用 Azure 原則或 Chef Automate,來確保您佈建的基礎結構與應用程式符合規範。搭配資訊安全中心使用可降低威脅暴露程度,並加快偵測與補救弱點的速度。

在混合式雲端取得一致性 DevOps

Azure Stack 是 Azure 的延伸模組,可將雲端功能導入內部部署環境中。從您的資料中心傳遞 Azure 服務,同時保有彈性與控制的平衡,達到真正的一致性混合式雲端部署。

使用 Team Foundation Server 取得與 Team Services 相同的完整 DevOps 服務與功能套件,同時具備在內部部署加以執行的能力。

影片

Microsoft 的敏捷式開發

觀賞影片

影片

Visual Studio App Center 簡介

觀賞影片

文件

Azure DevOps Projects for GitHub

探索文件

以自己的方式開始使用 DevOps

在 Azure 中開始實作您的 DevOps 解決方案很輕鬆。將您的管線、部署整合至任何平台,並開始利用 Azure DevOps 專案監視。

若您正在使用開放原始碼與協力廠商工具,請嘗試 Azure DevOps 解決方案。探索可靠的做法和解決方案架構,在 Azure 中實作您的 DevOps 解決方案。