在同多個(gè)云提供商合作之前,請(qǐng)?jiān)u估他們?cè)谟?jì)算、存儲(chǔ)和安全等方面的服務(wù)。
企業(yè)必須在多個(gè)云供應(yīng)商中做出抉擇。亞馬遜網(wǎng)絡(luò)服務(wù)是行業(yè)巨頭,而微軟Azure則提供了一整套越來(lái)越有競(jìng)爭(zhēng)力的服務(wù)。還有谷歌云平臺(tái)對(duì)于那些具有大數(shù)據(jù)和處理需求的客戶(hù)來(lái)說(shuō)很有吸引力,他們正好可以利用谷歌的基礎(chǔ)架構(gòu)。IBM和Rackspace則提供三巨頭之外的選擇。
企業(yè)們最好不要與單一的云供應(yīng)商綁得太緊。在一個(gè)云里提供的專(zhuān)業(yè)化服務(wù)在另一個(gè)云里并不一定也存在。在其他情況下,一個(gè)組織內(nèi)的各部門(mén)可能會(huì)在不同的平臺(tái)上開(kāi)發(fā)服務(wù),繼而需要集中式的云管理團(tuán)隊(duì)來(lái)支持多個(gè)供應(yīng)商的托管環(huán)境。
在與多個(gè)云供應(yīng)商合作時(shí)有一些策略和技巧,能夠得到其優(yōu)點(diǎn)同時(shí)限制了重復(fù)勞動(dòng)和其他額外的工作。要理清這些,我們將仔細(xì)檢驗(yàn)他們的核心服務(wù):計(jì)算和工作負(fù)載管理、存儲(chǔ)服務(wù)、數(shù)據(jù)管理和安全性。
接下來(lái),我們會(huì)了解基礎(chǔ)架構(gòu)即代碼的這一概念為何是多云管理的一個(gè)關(guān)鍵前提。容器服務(wù)被描述為跨云的一個(gè)公共抽象層,它有助于進(jìn)一步緩解跨多個(gè)云上管理應(yīng)用的負(fù)擔(dān)。
計(jì)算和工作負(fù)載管理服務(wù)
計(jì)算和工作負(fù)載管理服務(wù),包括業(yè)務(wù)編排,集群管理和配置工具。
首先,虛擬機(jī)(VM)是任何計(jì)算服務(wù)的基礎(chǔ)單位?;A(chǔ)架構(gòu)即服務(wù)的云供應(yīng)商提供了各種的虛擬機(jī),而了解他們之間的差別是非常重要的。一個(gè)特定的虛擬機(jī)規(guī)格會(huì)包括其OS,處理能力,內(nèi)存和網(wǎng)絡(luò)優(yōu)化的功能。微軟,谷歌和亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)還提供了專(zhuān)門(mén)設(shè)計(jì)來(lái)支持大數(shù)據(jù)和分析任務(wù)負(fù)載的集群,能夠支持例如Hadoop和Apache Spark等框架。
容器服務(wù)也變得越來(lái)越重要。容器化非常適合微服務(wù)部署,并且在許多情況下,可以比為每個(gè)應(yīng)用程序運(yùn)行單獨(dú)的VM效率更高。容器提供在Linux基礎(chǔ)上的輕量級(jí)虛擬化并可以類(lèi)似Docker這樣的標(biāo)準(zhǔn)工具一起使用。對(duì)于集群管理,Apache Mesos和Docker Swarm是值得考慮的工具。 Mesos適合于作業(yè)調(diào)度,同時(shí)支持Marathon和Chronos。并且Mesos還支持Docker Swarm API,這樣你就可以在Mesos里運(yùn)行Swarm,如果需要的話(huà)。
同樣歸于計(jì)算和管理服務(wù)的大傘下的還有編排。編排的功能允許系統(tǒng)管理員以代碼的形式定義基礎(chǔ)架構(gòu)并自動(dòng)化代碼部署。
編排對(duì)于需要規(guī)模化或跨多云運(yùn)行的組織尤為重要。在多云的場(chǎng)景下,例如Chef和Puppet之類(lèi)的配置和編排工具是很重要的。特定廠(chǎng)商專(zhuān)有的工具,如AWS CloudFormation,也是可供選擇的選項(xiàng)。
在第一和第三方工具之間選擇時(shí),請(qǐng)記住其中的權(quán)衡利弊。第三方工具提供更多的跨云的靈活性,并允許跨云遷移工作負(fù)載。另一方面,廠(chǎng)商自己的工具會(huì)按照在給定廠(chǎng)商的云里工作的目的構(gòu)建。
存儲(chǔ)服務(wù)
跨多個(gè)云遷移工作負(fù)載是具有挑戰(zhàn)性的,如果你需要在云之間進(jìn)行協(xié)調(diào)或者在另一個(gè)競(jìng)爭(zhēng)的云平臺(tái)上運(yùn)行一個(gè)被設(shè)計(jì)成使用某個(gè)云的API的腳本。然而,存儲(chǔ),又帶來(lái)了另一種不同的問(wèn)題。當(dāng)所有的主流云廠(chǎng)商都提供對(duì)象存儲(chǔ)服務(wù)時(shí),要理解這些服務(wù)之間更細(xì)微的差別很重要。要優(yōu)化成本和性能,你可能要根據(jù)數(shù)據(jù)保存的時(shí)間段,耐用性要求,存儲(chǔ)和檢索數(shù)據(jù)的延遲以及接近計(jì)算資源來(lái)選擇對(duì)象存儲(chǔ)。
例如,AWS提供簡(jiǎn)單存儲(chǔ)服務(wù)(S3)來(lái)存儲(chǔ)對(duì)象以及彈性塊存儲(chǔ)有關(guān)虛擬機(jī)文件系統(tǒng)存儲(chǔ)彈性塊存儲(chǔ)簡(jiǎn)單存儲(chǔ)服務(wù)(S3)。S3對(duì)象存儲(chǔ)以較低的成本介入,但延遲較高并且不適合文件系統(tǒng)。另一方面,谷歌則以低成本提供適合文件系統(tǒng)存儲(chǔ)的Nearline存儲(chǔ)。要知道,Nearline存儲(chǔ)有較高的延遲。如果你正在尋找歸檔存儲(chǔ),那么選擇一個(gè)單一的云提供商來(lái)最低限度的保持存儲(chǔ)管理是合理的。如果冗余很重要的話(huà),你可能要考慮在多個(gè)云里進(jìn)行歸檔。
鄰近計(jì)算是另一個(gè)重要的考慮因素。在一般情況下,數(shù)據(jù)應(yīng)盡可能靠近計(jì)算資源。這將提高性能從而削減成本。此外,數(shù)據(jù)復(fù)制出云往往會(huì)產(chǎn)生費(fèi)用,所以將計(jì)算任務(wù)放進(jìn)生成數(shù)據(jù)的同一個(gè)云中也很有道理。
數(shù)據(jù)管理
數(shù)據(jù)管理包括使用關(guān)系型和非關(guān)系——也被稱(chēng)為NoSQL,的數(shù)據(jù)庫(kù)產(chǎn)品管理結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)。管理數(shù)據(jù)有兩種選擇:使用數(shù)據(jù)庫(kù)即服務(wù)(DBaaS)或管理自己的數(shù)據(jù)庫(kù)。在做出決定時(shí),你要考慮你將如何存儲(chǔ)數(shù)據(jù),該數(shù)據(jù)的物理位置,涉及到的延遲級(jí)別,以及環(huán)境的耐用性。此外,還要考慮如果該廠(chǎng)商或存儲(chǔ)方法不奏效的情況下需要移動(dòng)數(shù)據(jù)時(shí)所涉及到的成本。