企業(yè)在為基于容器的應(yīng)用程序選擇云計(jì)算架構(gòu)時(shí)需要了解關(guān)鍵問(wèn)題和注意事項(xiàng)。
想象一下,走進(jìn)一家專賣漢堡包的雜貨店,里面有各種各樣的漢堡包,雖然有很多選擇,但只有漢堡包。
如果你是一名漢堡包廚師,可以在店里選擇牛肉、雞肉和其他蛋白質(zhì),以及奶酪、面包、蔬菜、調(diào)味品以及其他制作漢堡包的食材,甚至還可以選擇盛餐的盤(pán)子和容器。
如果你沒(méi)有時(shí)間、技能或興趣自己制作漢堡包,那么可以在店中購(gòu)買漢堡包。除了傳統(tǒng)的選擇之外,還有素食漢堡包等。只需按照工具包中的說(shuō)明進(jìn)行操作,就可以吃到一個(gè)美味的漢堡。
如果漢堡包廚師突然得到通知,需要在午餐前的兩個(gè)小時(shí)內(nèi)制作300個(gè)不同的漢堡包。另外,除了制作漢堡之外,還必須實(shí)施一個(gè)流程為客戶提供服務(wù)并獲得報(bào)酬。那么需要小心,因?yàn)橛行┛蛻粝胍厥庥唵危硪恍┛蛻魰?huì)減少訂單。
最后,在午餐期間還需要進(jìn)行健康和安全檢查,因此無(wú)論做什么,都應(yīng)更好地遵守規(guī)定。而你只能和幾個(gè)人一起工作,他們?cè)谶@種操作上經(jīng)驗(yàn)也很少。
制作云漢堡
在云計(jì)算架構(gòu)中進(jìn)行選擇與這種臨時(shí)制作漢堡包的操作非常類似,并且在許多方面要復(fù)雜得多。在考慮要運(yùn)行的云計(jì)算架構(gòu)時(shí),開(kāi)發(fā)人員、工程師、架構(gòu)師和IT領(lǐng)導(dǎo)者需要考慮許多平臺(tái)、性能、法規(guī)和其他考慮因素。
哪種云計(jì)算架構(gòu)將為客戶提供更好的體驗(yàn)并提供更高質(zhì)量的產(chǎn)品?哪個(gè)更易于操作并在截止日期前完成?哪條路徑可以更好地處理支持、合規(guī)性和安全性問(wèn)題?最后,能否以最低的成本實(shí)施哪種方法?
工程師可以選擇容器即服務(wù)(CaaS)選項(xiàng)并對(duì)應(yīng)用程序?qū)嵤┤萜骰@相當(dāng)于漢堡包廚師通過(guò)創(chuàng)建和操作餐點(diǎn)。如果他們不具備這些專業(yè)知識(shí),那么平臺(tái)即服務(wù)(PaaS)選項(xiàng)相當(dāng)于選擇工具套件并遵循使用說(shuō)明和限制。
容器即服務(wù)(CaaS)和平臺(tái)即服務(wù)(PaaS)都不符合需求嗎?可以從頭開(kāi)始構(gòu)建所有內(nèi)容,(采用基礎(chǔ)設(shè)施即服務(wù)),也可以將功能部署到無(wú)服務(wù)器環(huán)境(采用功能即服務(wù))。
功能即服務(wù)(FaaS)是一種無(wú)服務(wù)器計(jì)算,旨在響應(yīng)單個(gè)任務(wù)。例如,功能即服務(wù)(FaaS)可用于驗(yàn)證用戶身份、對(duì)文本體執(zhí)行拼寫(xiě)檢查或執(zhí)行數(shù)學(xué)計(jì)算。
顯然,有許多架構(gòu)選項(xiàng)可以托管、配置、管理和部署代碼到云平臺(tái)。考慮到不同的產(chǎn)品,事情變得更加復(fù)雜。PaaS選項(xiàng)包括Azure應(yīng)用服務(wù)、AWS彈性Beanstalk、Google應(yīng)用引擎、Red Hat OpenShift和Salesforce的Heroku等等。如果正在探索容器即服務(wù)(CaaS)解決方案,那么Azure、Google、AWS公司都有自己的托管Kubernetes服務(wù),它們都有自己的縮寫(xiě)(分別是EKS、GKE和AKS)。另外,還有來(lái)自VMware、IBM、Oracle、Rackspace等的其他選項(xiàng)。
當(dāng)然,還有更多的無(wú)服務(wù)器選項(xiàng)。Azure Serverless具有無(wú)服務(wù)器功能,Kubernetes Pod和應(yīng)用程序環(huán)境。AWS云平臺(tái)當(dāng)前具有更廣泛的無(wú)服務(wù)器選項(xiàng),并將其無(wú)服務(wù)器分為用于計(jì)算、存儲(chǔ)、數(shù)據(jù)存儲(chǔ)、API代理等的功能類別。Google Cloud對(duì)無(wú)服務(wù)器進(jìn)行了更廣泛的定義,其中包含BigQuery和AutoML等服務(wù)。
CaaS、PaaS、FaaS和無(wú)服務(wù)器的關(guān)鍵注意事項(xiàng)
審查這些不同的云計(jì)算架構(gòu)時(shí),還有一些注意事項(xiàng)。
•目標(biāo)受眾——平臺(tái)即服務(wù)(PaaS)和功能即服務(wù)(FaaS)選項(xiàng)首先通過(guò)使解決方案易于配置并與持續(xù)集成(CI)/持續(xù)交付(CID)管道集成,以進(jìn)行部署來(lái)針對(duì)開(kāi)發(fā)人員。容器將操作環(huán)境和平臺(tái)配置參數(shù)化,因此這些工具通常針對(duì)運(yùn)營(yíng)人員和系統(tǒng)管理員。
•可配置性與敏捷性——通常,容器即服務(wù)(CaaS)是最可配置的選項(xiàng),為操作員提供了更大的靈活性來(lái)選擇平臺(tái)和配置進(jìn)行容器化。平臺(tái)即服務(wù)(PaaS)和功能即服務(wù)(FaaS)選項(xiàng)專注于敏捷性,并幫助開(kāi)發(fā)人員更快地部署和測(cè)試代碼。
•有些平臺(tái)即服務(wù)(PaaS)解決方案受到束縛——設(shè)計(jì)時(shí)已預(yù)先選擇了平臺(tái)即服務(wù)(PaaS)和功能即服務(wù)(FaaS)解決方案,這意味著已經(jīng)被其平臺(tái)選擇和配置選項(xiàng)所束縛。這些解決方案是根據(jù)設(shè)計(jì)師對(duì)開(kāi)發(fā)人員的需求、最佳實(shí)踐和目標(biāo)性能特征的意見(jiàn)而設(shè)計(jì)的。對(duì)于喜歡更大靈活性或更多控制權(quán)的運(yùn)營(yíng)商而言,采用這樣的平臺(tái)即服務(wù)(PaaS)和功能即服務(wù)(FaaS)可能會(huì)受到影響。
•技能和學(xué)習(xí)曲線——公平的概括是,與平臺(tái)即服務(wù)(PaaS)和功能即服務(wù)(FaaS)解決方案相比,容器即服務(wù)(CaaS)解決方案的學(xué)習(xí)曲線更陡峭,并且需要更多的技能。
•供應(yīng)商鎖定——容器即服務(wù)(CaaS)解決方案通常在Kubernetes上開(kāi)發(fā),并且可以在不同的云托管選項(xiàng)之間遷移。盡管平臺(tái)即服務(wù)(PaaS)和功能即服務(wù)(FaaS)解決方案能夠以Kubernetes為基礎(chǔ)進(jìn)行設(shè)計(jì),但它們通常不會(huì)向最終用戶公開(kāi)Kubernetes層,而是提供更簡(jiǎn)化的配置。這些配置是平臺(tái)即服務(wù)(PaaS)和功能即服務(wù)(FaaS)解決方案專有的,并且通常設(shè)計(jì)為僅在一個(gè)云平臺(tái)上運(yùn)行。一些IT主管發(fā)現(xiàn)此問(wèn)題,并理應(yīng)擔(dān)心被鎖定在某一個(gè)云計(jì)算供應(yīng)商。
指導(dǎo)進(jìn)行研究和原型制作的問(wèn)題
當(dāng)面對(duì)如此多的選擇時(shí),一些企業(yè)將進(jìn)行最少的研究和原型設(shè)計(jì),并選擇快捷的路徑。其他人將投入大量的時(shí)間、精力和費(fèi)用來(lái)研究方案,咨詢專家并選擇方案以實(shí)現(xiàn)可靠的實(shí)施。
這兩種方法都比使企業(yè)因眾多選擇而癱瘓或者無(wú)所適從要好一些。在每個(gè)組織都試圖獲得技術(shù)優(yōu)勢(shì)的快節(jié)奏世界中,過(guò)于保守和維持現(xiàn)狀只會(huì)抑制市場(chǎng)機(jī)會(huì)。
因此,行業(yè)專家提出一些有助于縮小選擇范圍和競(jìng)爭(zhēng)范圍的關(guān)鍵問(wèn)題:
(1)企業(yè)是只能運(yùn)行少數(shù)應(yīng)用程序的小型團(tuán)隊(duì)嗎?在這些情況下,應(yīng)該考慮使用更簡(jiǎn)單的PaaS和無(wú)服務(wù)器選項(xiàng),從而可以在不花費(fèi)大量時(shí)間和專業(yè)知識(shí)的情況下預(yù)先配置大多數(shù)必需的平臺(tái)。AvidXchange公司平臺(tái)架構(gòu)總監(jiān)DJ Navarrete建議說(shuō):“對(duì)于可能需要更多變更管理支持才能成功的中小型公司,以及那些希望迅速提高成熟度、穩(wěn)定性和速度的公司而言,平臺(tái)即服務(wù)(PaaS)之所以具有吸引力是因?yàn)樗峁└斓膶?shí)施和效率提升之路。”
(2)企業(yè)是否有零星的有效載荷,但仍需要在需要時(shí)擴(kuò)大?作用域可以是微服務(wù)或功能,但也可以擴(kuò)展到完整的應(yīng)用程序和數(shù)據(jù)庫(kù)。這些用例非常適合于無(wú)服務(wù)器計(jì)算,只需為使用的資源支付費(fèi)用。
(3)企業(yè)是否具有合規(guī)義務(wù)或法規(guī)標(biāo)準(zhǔn),強(qiáng)制報(bào)告執(zhí)行容器、應(yīng)用程序、數(shù)據(jù)庫(kù)、操作系統(tǒng)或基礎(chǔ)設(shè)施中的特定基礎(chǔ)選項(xiàng)或設(shè)置?微軟公司現(xiàn)代工作場(chǎng)所卓越中心的安全和合規(guī)架構(gòu)師Wayne Anderson說(shuō),這是排除無(wú)服務(wù)器選項(xiàng)的重要原因。法律部門或?qū)徍巳藛T通常將PCI法規(guī)和其他合規(guī)性要求解釋為需要計(jì)算環(huán)境設(shè)置的證明。
(4)企業(yè)是否在利用許多專用平臺(tái)或遺留應(yīng)用程序?在這些情況下,可能很難找到兼容的平臺(tái)即服務(wù)(PaaS)選項(xiàng)。同時(shí),開(kāi)發(fā)容器可以簡(jiǎn)化部署和依賴性管理。
(5)如果是大型組織或企業(yè),在多個(gè)云平臺(tái)中運(yùn)營(yíng),并且在生產(chǎn)中具有各種應(yīng)用程序和數(shù)據(jù)平臺(tái),這些組織可能選擇對(duì)容器進(jìn)行標(biāo)準(zhǔn)化,因?yàn)樗谥С侄鄠€(gè)平臺(tái)和配置選項(xiàng)方面提供了最大的靈活性。如果合規(guī)性不是一個(gè)因素,那么仍然可以考慮無(wú)服務(wù)器。如果企業(yè)具有足夠的技能和能力來(lái)開(kāi)發(fā)Kubernetes上廣泛的選項(xiàng),則企業(yè)可能會(huì)避開(kāi)平臺(tái)即服務(wù)(PaaS)選項(xiàng)。具有足夠規(guī)模和技術(shù)技能的組織(例如Shopify)可以選擇以Kubernetes和容器為基礎(chǔ)來(lái)設(shè)計(jì)自己的平臺(tái)即服務(wù)(PaaS)。
(6)企業(yè)是否正在開(kāi)發(fā)微服務(wù)并在基于云計(jì)算的微服務(wù)架構(gòu)上進(jìn)行標(biāo)準(zhǔn)化?Mark Heath建議容器或平臺(tái)即服務(wù)(PaaS)都是不錯(cuò)的選擇,在容器中托管功能也是如此。Heath表示,無(wú)服務(wù)器功能可能更易于配置且支持成本更低,而容器可以簡(jiǎn)化內(nèi)部部署開(kāi)發(fā),并提供更多選項(xiàng)來(lái)保護(hù)端點(diǎn)。
(7)云計(jì)算顧問(wèn)Sarbjeet Johal指出,無(wú)論是構(gòu)建平臺(tái)、應(yīng)用程序還是服務(wù),受眾是企業(yè)內(nèi)部的、外部的還是面向客戶的,了解應(yīng)用程序的類型和最終用戶的類型有助于企業(yè)預(yù)測(cè)將來(lái)的需求。Johal說(shuō):“對(duì)于外部應(yīng)用程序,企業(yè)想要記錄更多的訪問(wèn)控制,數(shù)據(jù)量可能會(huì)意外增長(zhǎng),并且與內(nèi)部應(yīng)用程序相比,外部應(yīng)用程序的使用壽命可能更長(zhǎng)。如果服務(wù)或平臺(tái)是機(jī)器消耗品,那么可能需要進(jìn)行計(jì)量。”
預(yù)測(cè)路線圖和未來(lái)需求應(yīng)有助于推廣某些選擇,并排除其他選擇。而在縮小選擇范圍后,最佳實(shí)踐就是進(jìn)行概念驗(yàn)證。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。