混合云挑戰(zhàn)最先需要解決什么
企業(yè)的IT團隊需要采用一種標準化的應(yīng)用程序開發(fā)方法,才能真正從混合云中獲益。而容器和Kubernetes可能是實現(xiàn)這一目標的關(guān)鍵。
首席信息官在尋求部署混合云時面臨著真正的挑戰(zhàn)。他們需要創(chuàng)建應(yīng)用程序模型,以解決其數(shù)據(jù)中心、安全性和合規(guī)性規(guī)則的問題,同時還要充分利用公共云的彈性。
云計算的最大好處是敏捷性——能夠替換損壞的組件或擴展過載的組件。但首席信息官們發(fā)現(xiàn),當將云計算前端整合到混合云架構(gòu)中時,其彈性比預(yù)期的要低。這是因為這些應(yīng)用程序后端的數(shù)據(jù)中心部分不能以同樣的敏捷性來響應(yīng)問題。事實上,可擴展的云計算前端可能會導(dǎo)致內(nèi)部部署、遺留應(yīng)用程序過載,并抵消公共云的好處。
第三方供應(yīng)商和云計算提供商已經(jīng)增加了更多的容器和Kubernetes服務(wù)來應(yīng)對這些混合云挑戰(zhàn),但是內(nèi)部部署和公共云模型之間的這種脫節(jié)仍然是當今首席信息官的主要障礙之一。
為什么首席信息官會轉(zhuǎn)向容器、Kubernetes和PaaS模型
容器化應(yīng)用程序和Kubernetes部署的組合適用于各種場景,從傳統(tǒng)的單片應(yīng)用程序到基于微服務(wù)的云計算應(yīng)用程序。該策略可以在混合云中統(tǒng)一部署和重新部署實踐。而且,由于所有主要的公共云提供商都支持容器和Kubernetes,并提供托管的Kubernetes服務(wù),因此多域Kubernetes方法還可以統(tǒng)一跨多個公共云的部署。
但是,容器/Kubernetes方法仍然不完善。考慮到云原生組件關(guān)系的復(fù)雜性,應(yīng)用程序部署確實需要用于工作流連接和服務(wù)發(fā)現(xiàn)的完整模型。但是,為了實現(xiàn)這樣的模型,企業(yè)需要一個開發(fā)框架。
企業(yè)需要在同一頁面上使用其所有Kubernetes組件。
如今,PaaS正在為混合云和多云重新定義,因為編程仍然需要一種語言和一組API,這些API可以使應(yīng)用程序訪問硬件、軟件和網(wǎng)絡(luò)資源。API定義了平臺、虛擬計算機和操作系統(tǒng),在這種情況下代表了數(shù)據(jù)中心和公共云資源的組合。在明確定義新的PaaS模型之前,混合云用戶將必須優(yōu)化不斷發(fā)展的附加組件集以構(gòu)建自己的統(tǒng)一模型。
修改后的PaaS模型最直接的缺點是缺乏中間件一致性。企業(yè)需要一種標準化的方法來發(fā)現(xiàn)服務(wù),將容器綁定到工作流中并監(jiān)視條件以允許應(yīng)用程序在負載下進行擴展。
在整個組織中發(fā)現(xiàn)依賴于不同工具和實踐的不同應(yīng)用程序并不少見。如果這些應(yīng)用程序共享服務(wù)和微服務(wù),則會增加總體運營成本和復(fù)雜性,并最終導(dǎo)致兼容性問題。
使用Kubernetes域集中化混合和多云控制
同步內(nèi)部部署和基于云計算的資產(chǎn)的最佳方法是將企業(yè)的混合云計算基礎(chǔ)設(shè)施視為一系列Kubernetes“域”——Kubernetes集群,其組件通常會在一個域中進行擴展和重新部署,因此如果要跨多個云平臺或在云平臺和數(shù)據(jù)中心之間進行擴展,需要定義一組邊界域。這些將包含企業(yè)將在公共云和私有云之間邊界處使用的資源,用于處理主機擴展或彈性等方面。因此企業(yè)需要選擇支持這種分離的工具。
在這種新興的PaaS方法中,企業(yè)的運營團隊通常面臨著自己的挑戰(zhàn)。用戶在使用Kubernetes進行開發(fā)時不必定義特定的資源需求或合規(guī)風(fēng)險,并且操作人員幾乎不可能在事后對這些容器進行分類和測試。缺少完整的PaaS層意味著運營團隊必須混合其策略控制。
域分離的集群可以開始解決這個問題,而為類似的容器化應(yīng)用程序定義和實施資源策略更容易。如果企業(yè)的域中有具有唯一安全性或遵從性要求的容器,需要標記其節(jié)點并使用策略將Pod篩選到正確的節(jié)點,或者使用容忍度來強制實施規(guī)避策略。
建立一致的Kubernetes生態(tài)系統(tǒng)
托管的Kubernetes服務(wù)(例如Amazon Elastic Kubernetes Service或Google Kubernetes Engine)是吸引人的工具,可作為移動或Web現(xiàn)代化的一部分為內(nèi)部部署的應(yīng)用程序部署云計算前端。盡管這些服務(wù)都是圍繞Kubernetes構(gòu)建的,但是每個服務(wù)都提供了足夠多的元素,因此很難跨平臺集成應(yīng)用程序。這為想要進行更多跨云備份或跨環(huán)境擴展的企業(yè)帶來了問題。
為了解決此混合和多云挑戰(zhàn),需要執(zhí)行以下步驟:
?定義應(yīng)用程序模型。
?集中Kubernetes生態(tài)系統(tǒng)的組裝。
?監(jiān)視應(yīng)用程序、基礎(chǔ)設(shè)施和Kubernetes生態(tài)系統(tǒng)的趨勢。
企業(yè)的開發(fā)模型可能從某種程度上針對其環(huán)境的API開始,但是目標應(yīng)該是創(chuàng)建一種跨越混合和多云框架的方法。通過根據(jù)應(yīng)用程序的需求和規(guī)范定制流程,可以簡化所有其他問題。
從那里集中Kubernetes工具包,以在企業(yè)所有域中部署應(yīng)用程序。這應(yīng)該包括企業(yè)計劃使用的整套Kubernetes和與Kubernetes相關(guān)的工具。企業(yè)可以根據(jù)自己的需求,制定一個包含最廣泛生態(tài)系統(tǒng)形式的Kubernetes的單一策略。
在考慮工具和服務(wù)時,定位到本地供應(yīng)商(如Red Hat和VMware)以及云計算平臺(如谷歌云、Microsoft Azure和AWS)。根據(jù)需要添加服務(wù)發(fā)現(xiàn)、服務(wù)網(wǎng)格、監(jiān)視和管理以及多域Kubernetes支持——托管Kubernetes服務(wù)中越來越包含這些功能。
即使已完成這些任務(wù),也要繼續(xù)關(guān)注最新的相關(guān)趨勢。如果發(fā)現(xiàn)以前的選擇不是最佳選擇,需要做好調(diào)整策略的準備。在這個快速發(fā)展的領(lǐng)域中,需要與先進技術(shù)與時俱進,否則與其更新有關(guān)的時間和成本可能超出企業(yè)的承受能力。