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