理解混合云的好處很容易。構(gòu)建混合云環(huán)境才是有挑戰(zhàn)性的。這并不是因?yàn)榛旌显乒ぞ叨倘薄O喾?,有各種平臺和框架專門用于構(gòu)建和管理混合云。
挑戰(zhàn)在于確定使用哪個(gè)平臺或框架?;旌显平鉀Q方案在以下方面差異很大:是開源的還是專有的;是否綁定到特定的公共云平臺;能夠在混合架構(gòu)上運(yùn)行哪些類型的云服務(wù);可以使用哪種類型的基礎(chǔ)設(shè)施來承載混合環(huán)境;提供了哪些管理、監(jiān)控、日志記錄和安全功能。
為了提供關(guān)于選擇正確的混合云平臺或框架的指導(dǎo),本文比較了四種主要選擇:VMware Cloud Foundation、OpenStack、Kubernetes和來自公共云供應(yīng)商(如Azure ARC和AWS Outposts)的框架。
VMware Cloud Foundation
VMware Cloud Foundation提供了一個(gè)中央控制平面,它可以管理基于VM的容器,以及基于公共云或私有基礎(chǔ)設(shè)施的基于容器的工作負(fù)載。它與主要的公共云進(jìn)行了集成,從而可以輕松設(shè)置部分在其基礎(chǔ)設(shè)施上運(yùn)行,部分在自己的服務(wù)器上運(yùn)行的環(huán)境。
在這方面,VMware Cloud Foundation是云供應(yīng)商不可知的,這降低了鎖定風(fēng)險(xiǎn)。當(dāng)然,該平臺是VMware解決方案,你將依賴VMware。
VMware Cloud Foundation還反映了VMware作為一個(gè)專注于虛擬化而不是容器化的供應(yīng)商的傳統(tǒng)。雖然該公司現(xiàn)在已經(jīng)專注于容器和Kubernetes,VMware Cloud Foundation的工具更傾向于面向虛擬機(jī)的工作負(fù)載。
OpenStack
OpenStack是一個(gè)開源平臺,主要用于創(chuàng)建私有云,而不是混合云。你可以使用它匯集私有基礎(chǔ)設(shè)施資源,這些資源可以通過基礎(chǔ)設(shè)施即服務(wù)(IaaS)模式使用。
然而,通過OpenStack控制公共云基礎(chǔ)設(shè)施是可能的,這反過來又解鎖了構(gòu)建基于OpenStack的混合云的能力。
這不是OpenStack的一個(gè)典型用例,除非你擁有根據(jù)需要定制部署所需的大量云工程資源,才能將其用于生產(chǎn)。但是,如果你想對混合云采取一種非正統(tǒng)的方法,這仍然是一種選擇。
Kubernetes
與OpenStack一樣,Kubernetes本身并不是為混合云平臺而設(shè)計(jì)的。但是Kubernetes可以而且經(jīng)常被用于構(gòu)建和管理混合云架構(gòu)。
Kubernetes為運(yùn)維混合云提供了多種優(yōu)勢。它適用于任何基礎(chǔ)設(shè)施,你可以將其與任何公共云結(jié)合使用。Kubernetes還提供了跨混合環(huán)境的高度一致的管理體驗(yàn):無論你的混合云是如何配置的,或者在其上運(yùn)行的是什么,你都可以以一致的方式部署和管理應(yīng)用程序。
而且,鑒于Kubernetes是開源的,并且非常受歡迎,很難想象它會在可預(yù)見的將來停止使用,或者不能保持供應(yīng)商不可知的特點(diǎn)。
Kubernetes作為混合云解決方案的最大缺點(diǎn)是,它主要設(shè)計(jì)用于運(yùn)行容器化工作負(fù)載。你可以使用KubeVirt等平臺讓Kubernetes編排虛擬機(jī),但這需要添加到核心Kubernetes平臺上。Kubernetes的運(yùn)維也很復(fù)雜,特別是在涉及多個(gè)集群的混合云環(huán)境中。如果你想要一種簡單的方法來構(gòu)建混合云,Kubernetes可能不是一個(gè)好的解決方案。
公共云供應(yīng)商框架
構(gòu)建混合云的另一個(gè)解決方案是采用一個(gè)公共云供應(yīng)商的框架,該框架就是為此目的而設(shè)計(jì)的。流行的例子包括AWS Outposts、Azure Stack、Azure Arc和Google Anthos,此外Oracle、IBM和Cisco也提供混合云框架。
這些框架的工作方式有些不同,但它們各自提供的核心功能是在你擁有的基礎(chǔ)設(shè)施上運(yùn)行公共云服務(wù)(如AWS Outposts的EC2或S3),而不是公共云擁有的基礎(chǔ)設(shè)施。
因此,你可以在自己的服務(wù)器上保存數(shù)據(jù)和應(yīng)用程序,這有助于實(shí)現(xiàn)性能、成本和安全目標(biāo)。但與此同時(shí),你可以以與直接在公共云中工作時(shí)所遵循的流程幾乎相同的方式部署和管理云工作負(fù)載。
使用云供應(yīng)商提供的混合框架有一些明顯的缺點(diǎn)。一是它們可能有點(diǎn)昂貴。另一個(gè)原因是,它們不支持所有類型的公共云服務(wù),大多數(shù)只支持“面包和黃油”云服務(wù),如VM實(shí)例和對象存儲。
也許最大的限制是,在某些情況下,你只能使用特定的基礎(chǔ)設(shè)施來運(yùn)維這些框架。例如,AWS Outposts要求你直接從AWS購買硬件,而Azure Stack要求從第三方服務(wù)器供應(yīng)商處購買“認(rèn)證”硬件。
其他框架在硬件方面沒有那么嚴(yán)格。不過,硬件兼容性在發(fā)揮作用時(shí)可能是一個(gè)主要的限制因素,因?yàn)檫@意味著你無法使用已經(jīng)擁有的私有基礎(chǔ)設(shè)施構(gòu)建混合云。
結(jié)論
現(xiàn)在有很多方法可以構(gòu)建混合云。專門構(gòu)建的混合云框架,例如來自公共云供應(yīng)商和VMware的框架,可能是最容易使用的。但OpenStack和Kubernetes等開源解決方案在如何設(shè)計(jì)和配置混合云方面提供了更大的靈活性。無論如何,混合云平臺需要更多的努力來管理。