Hero

Jump to section

認識 DevOps

Copy URL

DevOps 是一種企業文化、自動化和平台設計的方式,藉由提供快速、高品質的服務,並仰賴步調快速且可重複運用的 IT 服務,以提升業務價值和應對能力。DevOps 的目的是將傳統應用程式與較新型的雲端原生應用程式和基礎架構互相連結。

DevOps transformation webinar cover

從 Red Hat 培訓課程著手 DevOps 轉型

「DevOps」是由英文的「開發」和「營運」兩字組合而成,不過,它所代表的觀念和實務,其實要比這兩個單字本身的涵義更豐富,DevOps 還涵蓋安全性、協作型工作方式、資料分析,以及其它許多內容。但,DevOps 究竟是什麼?

DevOps 是指加速流程的方式,而任一想法(例如一項新軟體功能、強化功能的請求或錯誤修復等)皆可利用 DevOps 加速從開發到部署的生產環境流程,為使用者提供價值。在採用這些方式時,開發團隊和作業團隊必須要能時時溝通,並在處理工作上,對自己的隊友抱持同理心。同時,擴展性和靈活配置也是不可或缺的,DevOps 能透過自助服務和自動化,讓最需要職權的人員掌握所需權責。而在標準開發環境中編寫程式的開發人員若能與 IT 部門密切合作,就可加速軟體創建、測試和發布,但卻不會犧牲可靠性。

當然,如此一來,系統就必須更常更換程式碼,並使用更多動態基礎架構。由於傳統的管理策略無法滿足這種需求,因此您需要做出一些改變,來為自己創造優勢。

 

DevOps 可加快某個想法從開發到部署的腳步。在應用程式的整個生命週期中,DevOps 的核心有賴例行任務的自動化和各項環境的標準化。而容器雖能提供標準化的環境,但您還需要一個提供內建自動化和支援所有基礎架構的平台來管理這些環境。Red Hat OpenShift 4 即屬企業級 Kubernetes 平台,能有效支援您的各項 DevOps 計劃。

DevOps 仰賴開放原始碼理念,以及透明、敏捷工作方式的協作文化來運作。在我們為期五天的 DevOps 文化與實務運作 (DO500) 專業課程中,您能充分探索 DevOps 與敏捷價值之間的交互作用。

開放原始碼軟體專案的文化,可視為形塑 DevOps 文化的藍圖,而開放原始碼社群的合作方式,就是自由共享資訊。由於這種做法有助企業文化革新,例如提高決策透明度、消弭對失敗的恐懼以鼓勵創新實驗,或是實施鼓勵信任和合作的獎勵制度等,因而許多企業組織希望借助數位轉型諮詢服務,以支援此類計劃。

雖然採取正確的領導方式和獎勵計劃,就能為您的開發和作業團隊建立開放文化,但只有當這種文化遍及整個企業時,採用 DevOps 才會最有效。雖然 DevOps 這個名稱的本義是開發和營運,但其實它的原理適用於所有人員。

Red Hat 的文化即是建立在開放和透明的基礎上,而且已讓我們成功運作了超過 25 年之久。在協助客戶建立開放文化上,我們早已具備多年豐富經驗,能引領您將 DevOps 的優點付諸實現。

第 1 季第 4 集:DevOps_打破藩籬

請聽 Saron Yitbarek、Scott Hanselman 和 Gordon Haff 在本集的〈Command Line Heroes〉Podcast 中,與我們分享 DevOps 文化、流程、平台與工具等觀點

開發現代應用程式的方式與過去不同了。對許多採用靈活方式開發軟體的團隊而言,DevOps 並非事後諸葛。實際上,「提前並持續提供軟體,以滿足客戶」即是《敏捷宣言》(Agile Manifesto)12 項原則中的第一條。這也正是為何持續整合與持續部署(CI/CD)對 DevOps 團隊如此重要的原因。

但僅僅改變您的開發和作業流程是不夠的,您還需要運用系統思考,以盡可能完善您提供軟體的方式。也就是說,DevOps 最終會改變企業中請求開發工作的部門,以及支援終端使用者的團隊。終端使用者持續為企業提供意見反映的作業循環則成為關鍵。

除了工作「方式」外,您還需要改變作業流程,因為連帶您的工作「內容」也會發生變化。DevOps 不只關乎加速創建老舊的相同單一軟體,而在於創建更適用於持續推陳出新的新型軟體。

這就是為何 DevOps 團隊常會選用微服務架構來創建軟體,並將這些服務與 API 連結在一起的原因。團隊若能專注於創建較小型的功能元件,就能以更快的速度提供成品,因此,您必須將重心放在管理這些服務和 API 的方式,並制訂出統整一切的敏捷整合等策略。

進行這些變更可能需要付出很多心力,但只要採用適合的技術,您就能立即著手進行。自動化有助您加速流程,而且最後還能將您的 DevOps 工作量遷移到雲端。根據 IDC 研究(註1)顯示,有 85% 的 IT 領導者表示自動化對他們的 DevOps 策略至關重要。這是因為自動化能使基礎架構承受隨 DevOps 而來的持續程式碼變更,同時讓環境能輕鬆地連續擴展。自動化能為企業減輕重複例行性任務的負擔,讓您最優秀的員工得以專注於最重要的事項。

我們的專家群能協助您開發貴企業所需的各類實務、工具和文化,以便更有效率地將既有的應用程式加以現代化,並建構新的應用程式。

1 「自動化、DevOps 和多雲世界的各種需求」,IDC 撰文,2018 年 3 月。資料來源: https://www.redhat.com/cms/managed-files/cm-idc-automation-devops-demands-multicloud-world-f10589-201803-en.pdf

選用支援您作業流程的工具,是成功運用 DevOps 的關鍵。若您的作業團隊希望能與快速的開發週期同步,那麼就要使用高度靈活的平台,並像開發團隊處理程式碼一樣地使用基礎架構才行。手動部署不但緩慢,而且還容易出錯。

而自動化技術則有助您簡化平台的配置和部署工作。網站可靠性工程(SRE)能利用軟體和自動化技術來管理由人力操作的各種任務,並進一步支援 DevOps 團隊達成各項目標。

 

容器能讓您在開發、測試和生產環境間,更輕易地移動應用程式。開發人員可使用容器將他們的應用程式打包,並與運作所需的應用程式檔案、作業環境、相依函式庫(dependent library)和各項配置等一切隔離開來。

DevOps 可與 Linux® 容器緊密結合,為您的團隊提供雲端原生開發方式所需的基礎技術。容器能架構一個用於開發、交付、整合和自動化的統整環境。

Kubernetes 是讓 Linux 容器能自動運作的現代化方式。Kubernetes 可協助您輕鬆有效率地管理跨公有、私有或混合雲運作 Linux 容器的叢集。

若能在容器內外部選擇可靠的平台,像是 Red Hat® Enterprise Linux 和 Red Hat OpenShift®,就能確保您在最需要擴展和自動化的階段不會失敗。有了適合的平台,您在文化和流程上所做的變更就能發揮最大效益。

 

 

採用 DevOps 最大的效益,是提供一個持續整合和持續部署的管線(CI/CD)。CI/CD 有助您頻繁地提供客戶應用程式,並以盡可能減少人員介入的方式,來驗證軟體品質。

具體地說,CI/CD 在整合和測試階段、再到交付和部署的整個應用程式生命週期中,引進了持續自動化和持續監控的能力,以便您快速識別並更正問題和缺陷。而這些環環相扣的作業程序,就稱之為「CI/CD 管線」,通常是由開發和作業團隊以敏捷方式共同提供支援。

若想在今日的市場中競爭,您需要的不只有技術,還必須評估企業文化、流程和平台成熟度,並了解自身在數位轉型的過程中,需要採取哪些步驟。

 

正如我們之前所提,DevOps 牽涉到的,不僅是開發和作業團隊而已。為了能充分利用 DevOps,企業必須考量安全性對應用程式的生命週期有何影響,亦即您必須從規劃階段,就開始考量核心安全措施,同時也必須將某些安全功能予以自動化,以防止 DevOps 工作流程變慢。而選擇合適的工具來整合安全機制,則有助您達成 DevOps 的各項安全目標。

但有效的 DevOps 安全機制所需要的,不只有新式工具而已,還必須以 DevOps 的文化革新為基礎,才能盡快整合資安團隊的工作。雖然 DevOps 可藉由縮小開發和作業之間的落差來加快速度,但卻可能因規劃不周的安全計劃而功虧一簣。

以往安全措施是在開發的最後階段,專門由一組獨立的團隊所負責。如今,在合作式的 DevOps 架構中,安全機制是屬於大家的責任,並且從一開始就應加以整合。

 

 

繼續閱讀

相關文章

什麼是 DevSecOps?

如果您想充分善用 DevOps 的靈活和反應性,就必須確保資安措施能在應用程式的整體生命週期中發揮作用。

相關文章

什麼是 CI/CD?

CI/CD 在整合和測試階段、再到交付和部署的整個應用程式生命週期中,引進了持續自動化和持續監控的能力

相關文章

DevOps 工程師的角色為何?

DevOps 工程師的獨特技能與專業能改變企業組織內部的協作、創新和文化。