DaaS,DevOps即服務(wù):將整個(gè)DevOps堆棧遷移到云中
DevOps即服務(wù)(DaaS)使團(tuán)隊(duì)能夠?qū)⑵涔ぞ吆凸ぷ髁骷械揭粋€(gè)統(tǒng)一的解決方案中。該解決方案通常包含所有必需的DevOps流水線功能,這些功能將替代舊版工具。本文介紹了DaaS的工作原理(包括優(yōu)缺點(diǎn)),以及一個(gè)示例,展示了如何從Azure DevOps Server遷移到云中的Azure DevOps。
什么是DaaS?
DaaS是一項(xiàng)基于云的托管服務(wù),可提供統(tǒng)一的DevOps工具鏈。連續(xù)集成/連續(xù)交付(CI/CD)流水線所需的所有或大多數(shù)工具都收集在一個(gè)平臺(tái)中。然后在專門的DevOps專業(yè)人員的支持下向團(tuán)隊(duì)提供此平臺(tái)。
DaaS的目標(biāo)是使組織能夠?qū)W⒂陂_(kāi)發(fā)和交付軟件,而不必?fù)?dān)心管理或維護(hù)工具。它旨在抽象化工具集成,部署和維護(hù)的復(fù)雜性。這使團(tuán)隊(duì)可以專注于更高級(jí)別的任務(wù),并將大量的人工工作外包。
DaaS可以為中小企業(yè)提供企業(yè)級(jí)基礎(chǔ)架構(gòu)和工具,而無(wú)需雇用更多員工或建立廣泛的專業(yè)知識(shí)。相反,這些企業(yè)可以依靠DaaS提供商的經(jīng)驗(yàn)來(lái)為其創(chuàng)建,部署和優(yōu)化流水線。創(chuàng)建這些管道是為了直觀并促進(jìn)所有團(tuán)隊(duì)成員的順利協(xié)作。
DaaS的優(yōu)缺點(diǎn)
如果希望將開(kāi)發(fā)流程遷移到云,可以使用幾種遷移策略。其中之一涉及將現(xiàn)有工具作為微服務(wù)移至云資源,然后將其集成。另一種可能是廢棄現(xiàn)有工具并采用DaaS。無(wú)論哪種情況,都需要了解DaaS的優(yōu)缺點(diǎn),然后才能為組織做出正確的選擇。
DaaS的優(yōu)點(diǎn):
- 托管服務(wù)可讓專門的DevOps工程師獲得支持,專業(yè)知識(shí)和優(yōu)化。
- 供應(yīng)商團(tuán)隊(duì)在各種組織和行業(yè)中都有豐富的經(jīng)驗(yàn),可以根據(jù)經(jīng)驗(yàn)定制解決方案。
- DaaS團(tuán)隊(duì)可以提供指導(dǎo)和指導(dǎo),以幫助團(tuán)隊(duì)提高自己的技能。這使團(tuán)隊(duì)可以從其他人的錯(cuò)誤中學(xué)習(xí),并防止重復(fù)犯錯(cuò)。
DaaS的缺點(diǎn):
流水線管理和可用性的重要性要求與可靠的服務(wù)提供商合作,并確保零到最小的中斷。
外包基礎(chǔ)架構(gòu)需求,并提供對(duì)源代碼以及其他敏感數(shù)據(jù)和系統(tǒng)的訪問(wèn)。這可能會(huì)導(dǎo)致無(wú)法控制的安全風(fēng)險(xiǎn)。
DevOps團(tuán)隊(duì)仍需要了解正在實(shí)施的工具以及如何管理和使用這些工具的基礎(chǔ)。
托管服務(wù)的成本通常比自我實(shí)現(xiàn)的流水線要高,而且內(nèi)部IT責(zé)任的減少可能無(wú)法抵消這些成本。
DevOps Cloud遷移示例:從Azure DevOps服務(wù)器遷移到云中的Azure DevOps
Azure DevOps Server(以前稱為Team Foundation Server(TFS))是在本地托管的服務(wù)器,可以構(gòu)建DevOps流水線。雖然基于與Azure云中提供的服務(wù)相似的服務(wù),但它要求管理和維護(hù)基礎(chǔ)結(jié)構(gòu),并為配置提供有限的支持。
通過(guò)遷移到云,可以將許多基礎(chǔ)架構(gòu)職責(zé)外包,而專注于生產(chǎn)高質(zhì)量的軟件。Azure DevOps Services是可以使用的部分托管DaaS的示例。
以下是有關(guān)如何從DevOps Server傳輸數(shù)據(jù)和項(xiàng)目的簡(jiǎn)要指南。本指南改編自Microsoft提供的完整DaaS指南。
準(zhǔn)備:規(guī)劃遷移需要清點(diǎn)一下當(dāng)前使用工具的方式,需要遷移哪些數(shù)據(jù)以及遷移將如何影響生產(chǎn)率。還需要確定是否需要其他許可證。對(duì)于此步驟以及后續(xù)步驟,可以使用一個(gè)工具來(lái)協(xié)助進(jìn)行此過(guò)程。
配置先決條件:在遷移流水線數(shù)據(jù)之前,需要設(shè)置一些先決條件。應(yīng)將本地Active Directory(AD)與Azure AD同步以進(jìn)行身份驗(yàn)證。還需要設(shè)置安全性和合規(guī)性措施,以確?;A(chǔ)結(jié)構(gòu)保持安全。
更新和驗(yàn)證服務(wù)器:檢查以確保您的服務(wù)器是最新版本的Azure DevOps Server。如果仍在使用TFS,則可能意味著一系列更新。完全更新后,可以使用遷移器工具來(lái)驗(yàn)證每個(gè)項(xiàng)目的集合數(shù)據(jù)庫(kù)。如果發(fā)現(xiàn)任何錯(cuò)誤,則需要在此階段修復(fù)這些問(wèn)題。
準(zhǔn)備好云資源:消除所有錯(cuò)誤之后,就可以開(kāi)始準(zhǔn)備要導(dǎo)入的云資源了。這需要分配,激活和映射DevOps Services訂閱。還需要通過(guò)遷移器工具為導(dǎo)入設(shè)置生成模板。這些設(shè)置應(yīng)保存在“導(dǎo)入規(guī)范”文件中。最后,需要在要使用DevOps Services的數(shù)據(jù)中心中創(chuàng)建一個(gè)容器實(shí)例。
遷移流水線:在完成所有準(zhǔn)備階段和計(jì)劃階段之后,就可以遷移工作負(fù)載了。在此階段,應(yīng)該首先運(yùn)行測(cè)試導(dǎo)入,以確保所有配置正確,并且導(dǎo)入過(guò)程順利進(jìn)行且沒(méi)有數(shù)據(jù)損壞。這有助于確保不會(huì)造成不必要的停機(jī)時(shí)間。
如果測(cè)試運(yùn)行順利,則可以繼續(xù)導(dǎo)入數(shù)據(jù)。上傳后,需要分配組織名稱,設(shè)置賬單并將本地構(gòu)建服務(wù)器重定向到新的云資源。完成后,可以恢復(fù)操作并直接從云中開(kāi)始操作流水線。
結(jié)論
DaaS通常不僅是集中式平臺(tái),而且還是具有一定級(jí)別的支持和優(yōu)化的托管服務(wù)。如果缺少DevOps的人才和工具,DaaS可以填補(bǔ)這一空白,甚至可以幫助團(tuán)隊(duì)學(xué)習(xí)DevOps技能。
但是,由于要對(duì)DaaS進(jìn)行流水線選擇控制,因此需要進(jìn)行調(diào)查和研究。為DaaS提供訪問(wèn)源代碼和安全性的權(quán)限。在簽訂合同之前,請(qǐng)確保該服務(wù)值得信賴并符合標(biāo)準(zhǔn)。
原文鏈接:
https://devops.com/devops-as-a-service-migrating-your-entire-devops-stack-to-the-cloud/