遷移到Kubernetes對(duì)DevOps和DataOps有哪些好處
譯文【51CTO.com快譯】自從2015年推出以來,Kubernetes(K8s)在GitHub上發(fā)布了多個(gè)版本,并獲得各行業(yè)組織和專業(yè)社區(qū)的廣泛青睞。盡管對(duì)于軟件開發(fā)人員、DevOps和數(shù)據(jù)科學(xué)工程師來說,Kubernetes獲得成功的原因顯而易見,但對(duì)于組織管理者來說卻不是那么顯著。
為什么將應(yīng)用程序和相關(guān)流程遷移到Kubernetes成為一種主流?為了找到答案,人們需要了解Kubernetes的關(guān)鍵概念和帶來的好處。組織管理者需要了解如何通過將工作負(fù)載遷移到Kubernetes獲得競爭優(yōu)勢。
英國《金融時(shí)報(bào)》運(yùn)營和可靠性技術(shù)總監(jiān)Sarah Wells說,“我們采用Kubernetes有兩個(gè)原因:首先,與評(píng)估的備選方案相比,我們更喜歡Kubernetes,并且它符合我們的所有要求;其次,我們知道Kubernetes將成為一個(gè)新興的標(biāo)準(zhǔn)。”
什么是Kubernetes?
Kubernetes是由谷歌公司創(chuàng)建的一種用于協(xié)調(diào)容器化應(yīng)用程序的云原生系統(tǒng),如今成為主流的開源平臺(tái)。其廣泛應(yīng)用得到了云原生計(jì)算基金會(huì)(CNCF)的大力支持。
Kubernetes是最受歡迎的集群管理軟件解決方案之一,可以實(shí)現(xiàn)流暢的自動(dòng)化應(yīng)用程序部署、可操作性和可擴(kuò)展性。Kubernetes為用戶的生產(chǎn)運(yùn)行環(huán)境提供了高度可管理的基于容器的大規(guī)模應(yīng)用程序。
簡而言之,如果用戶的應(yīng)用程序可以實(shí)現(xiàn)容器化(例如在Docker的幫助下),則它們應(yīng)該由Kubernetes運(yùn)行和管理。在Kubernetes的支持下,用戶可以顯著提高內(nèi)部部署或云托管基礎(chǔ)架構(gòu)的利用率,因?yàn)樗杏?jì)算資源都可以在多個(gè)應(yīng)用程序驅(qū)動(dòng)的流程之間動(dòng)態(tài)而合理地共享。
Kubernetes現(xiàn)在的最新版本是1.19.3。但是,GitHub和Google Groups上的社區(qū)已經(jīng)開始討論1.20.0版本的更新信息。由于Kubernetes是開源的,因此在版本更新、錯(cuò)誤修復(fù)和其他改進(jìn)方面,它獲得了來自全球各地的專業(yè)社區(qū)的及時(shí)而快速的支持?;贙ubernetes的一些供應(yīng)商以其專有的SaaS、IaaS和PaaS產(chǎn)品進(jìn)入市場。
開發(fā)人員如何看待Kubernetes
Kubernetes適合于優(yōu)化微服務(wù)架構(gòu),并將應(yīng)用程序打包到容器中,這是大多數(shù)應(yīng)用程序軟件開發(fā)人員和DevOps所樂見的。在Stack Overflow公司開發(fā)人員調(diào)查中,展現(xiàn)了全球65000名開發(fā)者對(duì)軟件工具、框架和技術(shù)的偏好。調(diào)查表明,71.1%的專業(yè)受訪者認(rèn)為Kubernetes是目前和未來發(fā)展的優(yōu)選平臺(tái)。
組織如何看待Kubernetes
截至2020年,許多組織的決策者仍然對(duì)在其應(yīng)用程序開發(fā)操作中快速采用Kubernetes持觀望態(tài)度。幸運(yùn)的是,越來越多的用戶清楚地意識(shí)到遷移到Kubernetes背后的好處。根據(jù)Statista公司的最新研究,三分之一以上的組織開始利用Kubernetes的巨大潛力。通過這種方式,很多組織開始在應(yīng)用程序開發(fā)、測試和生產(chǎn)運(yùn)行方面提高工作效率。
Kubernetes的用途是什么?
Kubernetes的核心是關(guān)于容器化應(yīng)用程序的平穩(wěn)編排。然而,容器本身并不足以在流程和資源密集型生產(chǎn)環(huán)境中高效運(yùn)行。但真正的大規(guī)模運(yùn)行容器可能顯著增加應(yīng)用程序交付時(shí)間和產(chǎn)品質(zhì)量,不能滿足客戶的上市時(shí)間期望,或者產(chǎn)品發(fā)布延遲最終導(dǎo)致客戶體驗(yàn)不佳。
為基于容器的應(yīng)用程序的自動(dòng)化流程優(yōu)化提供一個(gè)整體的可擴(kuò)展工具已成為當(dāng)務(wù)之急。這就是Kubernetes通過幫助簡化跨多個(gè)與應(yīng)用程序相關(guān)的流程的工作負(fù)載而發(fā)揮作用的地方。
Kubernetes用于DevOps和DataOps優(yōu)化
Kubernetes為DevOps和DataOps的工程師和從業(yè)者帶來什么好處?遷移到Kubernetes對(duì)他們整體效率的提高做出了巨大貢獻(xiàn),這需要更詳細(xì)的解釋。
盡管這兩種方法之間存在差異,但DevOps和DataOps都有許多與Kubernetes相關(guān)的共同點(diǎn)。在加速應(yīng)用軟件開發(fā)、部署和交付時(shí),它們服務(wù)于相同的業(yè)務(wù)目標(biāo)。簡而言之,這兩個(gè)實(shí)踐側(cè)重于通過數(shù)據(jù)驅(qū)動(dòng)的洞察力支持的軟件開發(fā)工作流優(yōu)化來改進(jìn)應(yīng)用程序的生產(chǎn)。
Kubernetes遵循與強(qiáng)大工具相同的原則,為軟件和人員級(jí)別的增強(qiáng)提供了堅(jiān)實(shí)的技術(shù)基礎(chǔ)。這就是說,組織的DevOps團(tuán)隊(duì)發(fā)現(xiàn)可以利用Kubernetes獲得更好的運(yùn)營效率和產(chǎn)品交付率。與此同時(shí),組織的DataOps工程師可以通過強(qiáng)健的數(shù)據(jù)編排、及時(shí)的更新、持久的數(shù)據(jù)存儲(chǔ),以及跨平臺(tái)和部門的流線型數(shù)據(jù)管道,利用海量數(shù)據(jù)資產(chǎn)的準(zhǔn)確性進(jìn)行大數(shù)據(jù)分析。
盡管如此,最好還是用更通用的概念來思考Kubernetes給組織帶來的好處。這是因?yàn)镵ubernetes可以同時(shí)對(duì)各個(gè)團(tuán)隊(duì)和部門的工作流程產(chǎn)生積極影響。此外,從長遠(yuǎn)來看,組織可以利用Kubernetes帶來的多個(gè)好處。
遷移到Kubernetes的5個(gè)好處
組織的DevOps和DataOps團(tuán)隊(duì)以及整個(gè)業(yè)務(wù)都可以從遷移到Kubernetes中受益。與提高基于容器的應(yīng)用程序的自動(dòng)化部署和管理效率一樣,Kubernetes為組織的業(yè)務(wù)效率增加了很多價(jià)值。
遷移到Kubernetes的關(guān)鍵優(yōu)勢可為組織帶來競爭優(yōu)勢,這歸結(jié)為以下幾點(diǎn):
1.成本效益
組織需要充分利用微服務(wù)和容器化應(yīng)用程序轉(zhuǎn)移到Kubernetes的巨大潛力,這種想法在云原生計(jì)算基金會(huì)(CNCF)主辦的年度KubeCon + CloudNativeCon活動(dòng)中得到了支持。英國《金融時(shí)報(bào)》運(yùn)營與可靠性首席技術(shù)官Sarah Wells在大會(huì)演講中分享在IT運(yùn)營中實(shí)施Kubernetes的實(shí)踐知識(shí),可以幫助組織評(píng)估和檢查Kubernetes在托管、技術(shù)支持和遷移成本方面的有效性。
2.一致性
通過一次運(yùn)行多個(gè)容器,Kubernetes為軟件開發(fā)、DevOps、質(zhì)量保證(QA)、系統(tǒng)管理員和其他專家提供了一個(gè)整體的生產(chǎn)環(huán)境。無論在運(yùn)行Kubernetes集群時(shí)可能發(fā)生什么變化,軟件開發(fā)生命周期(SDLC)的整體完整性都會(huì)得到保留。它將有助于提高性能,并盡可能地降低風(fēng)險(xiǎn)。
3.便攜性
Kubernetes可以在裸機(jī)或虛擬機(jī)(VM)群集上運(yùn)行的容器中輕松地在內(nèi)部部署和基于云的環(huán)境中使用。由于應(yīng)用程序是容器化的,因此它們完全與平臺(tái)無關(guān),并且可以跨各種框架進(jìn)行編排。容器編排技術(shù)支持當(dāng)今的大多數(shù)編程語言,這是遷移Kubernetes的另一個(gè)巨大優(yōu)勢。
4.可擴(kuò)展性
Kubernetes在處理與應(yīng)用程序相關(guān)的工作負(fù)載時(shí),可以應(yīng)對(duì)任何零星或計(jì)劃中的擴(kuò)展挑戰(zhàn)。由于其彈性和容器集群過程的自動(dòng)化,因此可以輕松地減輕負(fù)擔(dān),并在組織的數(shù)據(jù)中心、私有云和公共云的功能之間重新分配負(fù)擔(dān),而不會(huì)造成任何性能問題或停機(jī)。這對(duì)于DevOps來說意義重大,因?yàn)榭蓴U(kuò)展的工作負(fù)載可確保持續(xù)集成(CI)/ 持續(xù)交付(CD)管道的巨大改進(jìn)。
5.安全性
最后但并非最不重要的一點(diǎn)是,組織需要確保容器編排工作負(fù)載絕對(duì)安全。Kubernetes通過透明的控制機(jī)制和合規(guī)性協(xié)議為組織提供了安全性,例如基于角色的訪問控制(RBAC)、輕量級(jí)目錄訪問協(xié)議(LDAP)、增強(qiáng)安全性的Linux(SELinux)以及可擴(kuò)展訪問控制標(biāo)記語言(XACML)。Kubernetes提供增強(qiáng)的安全功能,以保護(hù)組織的IT基礎(chǔ)設(shè)施,并確??绺鞣N生產(chǎn)環(huán)境運(yùn)行的基于容器的應(yīng)用程序的正常運(yùn)行。
總而言之,組織將應(yīng)用程序和相關(guān)流程遷移到Kubernetes需要認(rèn)真考慮。而與現(xiàn)有基礎(chǔ)設(shè)施的無縫集成可以尋求專業(yè)機(jī)構(gòu)的幫助。
原文標(biāo)題:Why Migrate to Kubernetes in 2021: Key DevOps and DataOps Benefits,作者:Victoria Kuleshova
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】