基於kubernetes構建混合雲的利弊
在過去一年裡,混合雲被稱為是企業開啟雲端轉型的最佳選擇。問題是,我們將以何種方式開啟混合雲之旅?
縱觀混合雲平臺及解決方案,無非分兩大類。一類是基於Kubernetes構建的;另一類是不基於Kubernetes構建的。不管是多大規模的企業,屬於哪種型別的企業,只要你想在本地或者異地基礎設施上實現與公有云的連線與整合,就一定繞不開與Kubernetes相關的問題。而在解決這個問題之前,我們先來了解下,Kubernetes和混合雲之間到底是怎樣一種關係?
Kubernetes和混合雲之間的各種關係
作為開源容器編排工具,Kubernetes本身就是一個混合雲平臺,使用者可以按需在本地或者公有云基礎設施上進行部署,管理執行在容器中的應用。不僅如此,Kubernetes還在混合雲架構中發揮了一個最關鍵的作用,那就是它提供了一種統一的方式來部署和管理應用,讓應用無論在哪個基礎設施上,都能擁有一致性體驗。不管是公有云、私有云還是託管的資料中心,都能進行統一部署。並且,由於Kubernetes可以同時管理跨多種基礎設施型別的應用,可以讓使用者的公有云、私有云以及託管資料中心實現跨平臺管理。
由於Kubernetes能給混合平臺管理帶來各種好處,所以很多廠商都在以Kubernetes為核心構建混合雲解決方案。比如:谷歌的Anthos、VMware的Tanzu、AWS的EKS Anywhere等等。那麼,不以Kubernetes作為底層資源管理層的產品有哪些?最具代表性的是AWS Outposts和Azure Stack,他們把許多公有云服務從他們各自的平臺擴充套件到內部基礎設施部署,比如基於雲端計算的虛擬機器和資料庫,讓使用者在資料中心使用AWS或Azure雲平臺上的許多公有云服務成為可能,包括API呼叫和各種管理工具等 。
Kubernetes選型由業務需求決定
那麼,從使用者應用的角度看,該如何選擇呢?到底要不要基於Kubernetes構建混合雲平臺?非Kubernetes模式能帶來更好的使用者體驗嗎?答案是根據你的業務需求來選擇!
是否要透過Kubernetes管理工作負載,要看你的應用部署在哪裡。如果你選用的是 Anthos、Tanzu等雲平臺,你可以透過內嵌的Kubernetes來編排一切;但如果你選擇的是AWS Outposts和Azure Stack這樣的解決方案,可以使用CloudWatch、CloudTrail、CloudFormation等本地化的管理工具來部署和管理應用。當然,如果你只喜歡Kubernetes這種管理方式,而不想使用上述的任何雲解決方案,你也可以選擇基於Kubernetes的其他混合雲平臺。
除了應用部署問題,還要考慮應用被容器化的程度,Kubernetes可以像管理容器一樣管理虛擬機器,這點在 Tanzu和 Anthos中都能實現。但在Kubernetes中管理虛擬機器總歸有點奇怪,因為Kubernetes的設計初衷是為了編排容器,而虛擬機器的啟動和停止速度通常不像容器那樣快,而且很少有人以容器的方式啟動多個VM例項。如果你的工作負載主要由vm組成,那麼使用不以Kubernetes為核心的混合雲平臺可能效果會更好。
另外,還有一個值得重點關注的問題是,我們對於Kubernetes是否能長遠投資,必須持懷疑態度。現在,Kubernetes之所以很熱,是因為谷歌和VMware都把它納入到混合雲的基礎設施層;但畢竟Kubernetes只有7年的發展歷程,很有可能會“曇花一現”。就像5、6年前的Docker,當初Kubernetes沒出現的時候,幾乎所有人把賭注都壓在了Docker上。所以,技術創新永無止境,我們不能盲目追熱,而是要冷靜思考,充分考慮到應用的靈活性。
就目前應用現狀來看,基於kubernetes的混合雲平臺一定比那些只依賴於雲供應商提供的專有工具更靈活,比如:如果你使用的是Azure Stack,就很難遷移到AWS Anthos,但從Anthos遷移到Tanzu相對要容易得多。儘管不是無縫的,但兩個平臺都建立在統一的Kubernetes管理平臺上。
小結:綜合來看,不管你選不選擇kubernetes做混合雲管理平臺,其實都沒有關係,只要能充分考慮到利弊,最終能滿足你的業務需求,那就是一次成功的選型。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2758768/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於 Kubernetes 的雲原生 AI 平臺建設AI
- Kubernetes用於多雲、混合雲要注意基礎設施的複雜性
- 基於Kubernetes 構建.NET Core 的技術體系
- 使用Spring Cloud Kubernetes基於Kubernetes、Spring Boot和Docker構建微服務架構 - MoriohCloudSpring BootDocker微服務架構
- 基於Docker和Kubernetes構建的部署管理和叢集管理Docker
- 擺脫 AI 生產“小作坊”:如何基於 Kubernetes 構建雲原生 AI 平臺AI
- 構建屬於自己的Flutter混合開發框架Flutter框架
- 構建與定製:唯品會PaaS基於Kubernetes的實踐
- 基於 Rainbond 的混合雲管理解決方案AI
- 基於容器的PaaS混合雲的幾種形式
- 基於Kubernetes構建企業Jenkins master/slave CI/CD平臺JenkinsAST
- 銀行基於雲原生架構下的 DevOps 建設架構dev
- 基於xcrun的工程構建
- 容器混合雲,Kubernetes助力基因分析
- 基於多雲構建監控告警系統
- 阿里雲的“終端雲化”實踐,基於ENS進行邊緣架構構建阿里架構
- websocketd | 基於 docker 構建WebDocker
- 基於Kubernetes/K8S構建Jenkins持續整合平臺(下)K8SJenkins
- 基於Kubernetes/K8S構建Jenkins持續整合平臺(上)-1K8SJenkins
- 基於Kubernetes/K8S構建Jenkins持續整合平臺(上)-2K8SJenkins
- 基於 ubuntu base 構建 rootfsUbuntu
- 銀行基於雲原生架構的 DevOps 建設實踐經驗架構dev
- 雲無關、桌面端、基於Kubernetes的平臺Otomi
- 基於Apache Hudi在Google雲構建資料湖平臺ApacheGo
- 輕鬆構建基於 Serverless 架構的小程式Server架構
- Spring系列:基於XML的方式構建IOCSpringXML
- 為 Memcached 構建基於 Go 的 Operator 示例Go
- 基於Kubernetes的Serverless PaaS穩定性建設萬字總結Server
- 基於ubuntu映象構建redis映象UbuntuRedis
- 基於VMWare構建私有云2019
- 基於雲服務MRS構建DolphinScheduler2排程系統
- 混合雲中的事件驅動架構事件架構
- 如何構建安全的企業混合雲?
- Kubernetes 降本增效標準指南 | 基於K8s 擴充套件機制構建雲上成本控制系統K8S套件
- 構建基於 Ingress 的全鏈路灰度能力
- 基於 Serverless 的部署平臺構建與思考Server
- 請教,topthink是基於onethink構建的嗎?
- 基於nb-iot的物聯網構建