企業(yè)在與多個(gè)云供應(yīng)商合作之前,需要評(píng)估他們的計(jì)算,存儲(chǔ),安全性,以及更多的服務(wù)。
企業(yè)必須從多個(gè)云提供商中進(jìn)行選擇。亞馬遜網(wǎng)絡(luò)服務(wù)公司無疑是最大的行業(yè)巨頭,而微軟Azure提供了競(jìng)爭(zhēng)日益激烈的整套服務(wù)。谷歌云平臺(tái)對(duì)于那些可以使用谷歌的基礎(chǔ)設(shè)施處理大數(shù)據(jù)需求的企業(yè)具有吸引力。IBM公司和Rackspace公司則緊隨行業(yè)三巨頭之后。
企業(yè)可能不想被捆綁得太緊密,一個(gè)單一的云供應(yīng)商。在一個(gè)云提供的專門服務(wù)并不總是可以在另一個(gè)。在其他情況下,一個(gè)組織內(nèi)各部門可能已經(jīng)開發(fā)出不同的平臺(tái)上的服務(wù),需要集中云計(jì)算管理團(tuán)隊(duì),以支持由多個(gè)供應(yīng)商托管的環(huán)境。
企業(yè)可能不希望與一個(gè)單一的云提供商聯(lián)系得過于緊密。而其云計(jì)算提供專業(yè)化的服務(wù)并不總是可以在另一個(gè)云中可用。在其他情況下,組織內(nèi)的各部門可能已經(jīng)開發(fā)出不同的平臺(tái)上的服務(wù),需要集中云計(jì)算管理團(tuán)隊(duì),以支持由多個(gè)供應(yīng)商托管的環(huán)境。
采用多個(gè)云供應(yīng)商方式的策略和技術(shù),有同時(shí)限制工作重復(fù)以及其他額外的工作的好處。通過這一點(diǎn),工作人員將檢查核心服務(wù):計(jì)算和工作負(fù)載管理、存儲(chǔ)服務(wù)、數(shù)據(jù)管理和安全性。
下一步,工作人員會(huì)考慮基礎(chǔ)設(shè)施代碼的概念是多云管理的關(guān)鍵因素。容器服務(wù)被描述為一個(gè)共同的抽象層,這將有助于進(jìn)一步減輕在多個(gè)云計(jì)算中管理應(yīng)用程序的負(fù)擔(dān)。
計(jì)算和工作負(fù)載管理服務(wù)
計(jì)算和工作負(fù)載管理服務(wù)包括業(yè)務(wù)流程,集群管理和配置工具。對(duì)于初學(xué)者來說,虛擬機(jī)(VM)是構(gòu)建任何計(jì)算服務(wù)的基石。基礎(chǔ)設(shè)施即服的務(wù)云供應(yīng)商提供各種虛擬機(jī),用戶重要的是要了解它們之間的差異。一個(gè)給定的虛擬機(jī)的規(guī)范將包括用于網(wǎng)絡(luò)優(yōu)化的操作系統(tǒng),處理能力,存儲(chǔ)器和功能。微軟公司、谷歌和亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)還提供了專業(yè)集群設(shè)計(jì),例如大數(shù)據(jù)和分析工作負(fù)載的支持,其產(chǎn)品包括Hadoop和ApacheSpark。
有策略和技術(shù),與多個(gè)云供應(yīng)商的方式,利用的好處,同時(shí)限制重復(fù)的努力和其他額外的工作的好處。
容器服務(wù)也變得越來越重要。容器非常適合于部署微服務(wù),并且,在許多情況下,可能比每個(gè)應(yīng)用程序運(yùn)行VM的的效率更高。容器提供在Linux基礎(chǔ)輕量級(jí)虛擬化服務(wù),并且可以使用標(biāo)準(zhǔn)工具,如Docker。對(duì)于集群管理,ApacheMesos和Docker是值得考慮的工具。Mesos適合于作業(yè)調(diào)度,對(duì)于Marathon和Chronos都可以支持。而Mesos支持DockerSwarmAPI,這樣如果需要的話,用戶就可以在Mesos運(yùn)行Swarm。
對(duì)于保護(hù)傘下的計(jì)算和管理服務(wù)的編排。編排功能允許系統(tǒng)管理員定義基礎(chǔ)設(shè)施代碼,并自動(dòng)部署代碼。
編排對(duì)于需要縮放或跨多個(gè)云計(jì)算運(yùn)行的組織尤為重要。為多云使用,配置和編排工具,如Chef和Puppet,這些是供應(yīng)商特定重要的工具,也可以選擇如AWSCloudFormation。
在決定選擇第一方和第三方工具時(shí),請(qǐng)記住權(quán)衡取舍。第三方工具提供更多的跨云的靈活性,并允許跨云遷移的工作負(fù)載。另一方面,供貨商自己的工具將是專用于給定廠商的云內(nèi)工作。
存儲(chǔ)服務(wù)
如果你需要在一個(gè)云的平臺(tái)上使用一個(gè)云的接口,協(xié)調(diào)它們之間的云或運(yùn)行腳本,在多個(gè)云移動(dòng)負(fù)載是具有挑戰(zhàn)性的。但是存儲(chǔ)構(gòu)成了一個(gè)不同的問題。雖然所有的主要云供應(yīng)商提供對(duì)象存儲(chǔ)服務(wù),重要的是要了解存儲(chǔ)選項(xiàng)的更細(xì)微的差別。為了優(yōu)化成本和性能,您可能要選擇對(duì)象存儲(chǔ)的時(shí)間,將被存儲(chǔ)數(shù)據(jù)的耐久性要求,延遲保存,檢索數(shù)據(jù),以及接近計(jì)算資源的時(shí)間。
例如,AWS提供的簡(jiǎn)單存儲(chǔ)服務(wù)(S3)為虛擬機(jī)的文件系統(tǒng)的存儲(chǔ)對(duì)象和彈性塊存儲(chǔ)。S3對(duì)象存儲(chǔ)具有較低的成本,但具有較高的延遲和不太適合的文件系統(tǒng)。另一方面,谷歌公司提供一個(gè)低成本的近線存儲(chǔ),這適合于文件系統(tǒng)。要注意,近線存儲(chǔ)有更高的延遲。如果你正在尋找檔案存儲(chǔ),那么選擇一個(gè)單一的云供應(yīng)商以保持存儲(chǔ)管理的最低成本,這可能是有意義的。如果冗余是重要的,但是,你還是要考慮采用多個(gè)云的歸檔。
接近計(jì)算是另一個(gè)重要的考慮因素。在一般情況下,數(shù)據(jù)應(yīng)盡可能接近計(jì)算資源。這將提高性能,并降低成本。此外,數(shù)據(jù)復(fù)制出云計(jì)算往往會(huì)產(chǎn)生出口費(fèi)用,因此保持在同一個(gè)云計(jì)算產(chǎn)生的數(shù)據(jù)是有意義的。
數(shù)據(jù)管理
數(shù)據(jù)管理需要使用關(guān)系和非關(guān)系的數(shù)據(jù),也被稱為NoSQL,這是數(shù)據(jù)庫產(chǎn)品管理結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)。管理數(shù)據(jù)現(xiàn)在有兩個(gè)選擇:使用數(shù)據(jù)庫即服務(wù)(DBaaS)或管理自己的數(shù)據(jù)庫。當(dāng)你決定采用時(shí),你將要考慮如何存儲(chǔ)數(shù)據(jù),數(shù)據(jù)的物理位置,需要什么樣的延遲時(shí)間,以及環(huán)境的耐久性。此外,在你移動(dòng)數(shù)據(jù)的情況下,你的供應(yīng)商或存儲(chǔ)方法不會(huì)產(chǎn)生相關(guān)的費(fèi)用。
可以利用DBaaS緊密耦合一個(gè)單一的供應(yīng)商的數(shù)據(jù)庫操作,雖然這未必是一件壞事。還有一種選擇是AWS的DynamoDB,非常適合密鑰值和文件數(shù)據(jù)存儲(chǔ)。它提供了低延遲和可配置的一致性,幾乎沒有數(shù)據(jù)庫管理的開銷。然而,它使用一個(gè)專有的數(shù)據(jù)庫,無法使用其他供應(yīng)商的產(chǎn)品。如果你需要在多個(gè)云使用專有的服務(wù),那么可以使用專有的數(shù)據(jù)庫工具如DynamoDB進(jìn)行擴(kuò)展。
當(dāng)使用多個(gè)云提供商的產(chǎn)品時(shí),最好的選擇是自己管理數(shù)據(jù)庫。雖然這聽起來像一個(gè)昂貴的苦差事,但有編排工具可以提供幫助。這些工具使管理自己的數(shù)據(jù)存儲(chǔ)跨越多云,如果你的數(shù)據(jù)庫的腳本配置更有效的話。使用多個(gè)云提供商的好處是,你可以基于云的災(zāi)難恢復(fù)策略,在云計(jì)算廠商之間存儲(chǔ)備份云。
不管采用哪種數(shù)據(jù)管理方法,要始終保持?jǐn)?shù)據(jù)治理的思想。存儲(chǔ)數(shù)據(jù)會(huì)影響如何處理和保護(hù)數(shù)據(jù)的策略。安全港協(xié)議取消了,因此考慮使用其他規(guī)定,如HIPAA作為指導(dǎo),并基于地理數(shù)據(jù)存儲(chǔ)策略做好計(jì)劃。
抽象和安全問題
供應(yīng)商特定的工具可能限制你的一些云計(jì)算的靈活性。盡管如此,也有辦法來解決這個(gè)問題,并從特定于供應(yīng)商的平臺(tái)中分離出資源。某些策略將隱藏具體的云供應(yīng)商的實(shí)施細(xì)節(jié)。例如,你可以使用抽象的常用功能,比如對(duì)象存儲(chǔ)的薄層。
這就需要使用一個(gè)跨云的API,如ApacheLibcloud。Libcloud是一個(gè)開源的PythonAPI,使用戶能夠與各種云服務(wù)供應(yīng)商進(jìn)行互動(dòng)。該API由AWS彈性云計(jì)算和S3的實(shí)例,以及谷歌計(jì)算引擎和Rackspace。支持Python版本包括2.5,2.6,2.7,PyPy和Python3。
需要謹(jǐn)慎使用專門的服務(wù),如AWSLAMBDA??紤]一下你將在LAMBDA在Docker容器中運(yùn)行來實(shí)現(xiàn)功能。容器通常是跨云使用的。
如果你計(jì)劃擺脫單一供應(yīng)商,建議你運(yùn)行自己的服務(wù)。對(duì)于數(shù)據(jù)庫尤其如此。然而,要始終把成本考慮在內(nèi),采用一個(gè)DBaaS最終從長(zhǎng)遠(yuǎn)來看可會(huì)節(jié)省更多的成本。
當(dāng)使用多個(gè)云服務(wù)提供商時(shí),安全性變得更具挑戰(zhàn)性,因?yàn)槟惚仨氃谠粕蠄?zhí)行相同控制的多個(gè)版本。例如,實(shí)現(xiàn)一個(gè)目錄,而不是執(zhí)行多個(gè)目錄,并使它可通過聯(lián)合多個(gè)云來實(shí)現(xiàn)。使用一個(gè)共同的基礎(chǔ)設(shè)施,如LDAP或活動(dòng)目錄。而在云服務(wù)的執(zhí)行策略中,第三方服務(wù)和工具是是必不可少的。
對(duì)于復(fù)雜的身份管理任務(wù),考慮到諸如“平安身份”等第三方服務(wù)。平安的身份提供了大量的跨平臺(tái)傳播的工具,如多因素身份驗(yàn)證和用戶身份管理工具。
進(jìn)行安全日志管理,一個(gè)強(qiáng)大的第三方的選擇是采用與多個(gè)云提供商兼容的開源協(xié)議Loggly。該工具讀取并鞏固許多基于文本的日志類型,包括Ruby,Java,Python,PHP和MySQL,等等。其中,警報(bào)邏輯提供了一套完整的安全工具CloudDefender,CloudDefender收集安全數(shù)據(jù),進(jìn)行安全數(shù)據(jù)分析和威脅分析。
管理基礎(chǔ)設(shè)施
當(dāng)涉及到有效利用多種云,管理基礎(chǔ)設(shè)施代碼是一個(gè)良好的開端。軟件開發(fā)者已經(jīng)創(chuàng)建了先進(jìn)的技術(shù)和工具來管理頻繁更改代碼的多個(gè)版本。這些工具和實(shí)踐可用于管理基礎(chǔ)設(shè)施。按照要求部署到云中的任何資源以腳本的方式進(jìn)行實(shí)踐。如果一切順利的話,系統(tǒng)管理員不應(yīng)該手動(dòng)添加和刪除資源或更改配置;這應(yīng)該通過使用第三方或?qū)S泄ぞ卟渴鹉_本來完成。
這種心態(tài)超出代碼部署。管理員可以利用第三方服務(wù)更好地使用多個(gè)云諸。云服務(wù)是一種于云提供商和用戶之間的中介,是一種值得考慮的服務(wù)。另一種選擇是多云之間的整合,以促進(jìn)工作負(fù)載管理和成本管理工具。
與多個(gè)云提供商合作沒有硬性規(guī)定,但也有難以遷移和安全漏洞的限制等一些困難需要解決。