當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]無(wú)論您是購(gòu)買、從零開始搭建,還是采用開源技術(shù),您可能已經(jīng)在使用某種軟件平臺(tái)來(lái)構(gòu)建,部署和擴(kuò)展應(yīng)用程序。一個(gè)平臺(tái)的誕生必定是經(jīng)年錘煉而來(lái),即從應(yīng)用程序中提取通用的功能到更底層的抽象中。如果完成了既定的設(shè)計(jì)意圖,那么您將得到一個(gè)可用的平臺(tái);反之,您將得到一個(gè)“燙手山芋”,既而您將再次尋找合適的平臺(tái),這時(shí)候您會(huì)發(fā)現(xiàn)別人已經(jīng)構(gòu)建好的平臺(tái)給您帶來(lái)了一線希望的曙光。


無(wú)論您是購(gòu)買、從零開始搭建還是采用開源技術(shù),您可能已經(jīng)在使用某種軟件平臺(tái)來(lái)構(gòu)建,部署和擴(kuò)展應(yīng)用程序。


一個(gè)平臺(tái)的誕生必定是經(jīng)年錘煉而來(lái),即從應(yīng)用程序中提取通用的功能到更底層的抽象中。如果完成了既定的設(shè)計(jì)意圖,那么您將得到一個(gè)可用的平臺(tái),反之,您將得到一個(gè)“燙手山芋”,既而您將再次尋找合適的平臺(tái),這時(shí)候您會(huì)發(fā)現(xiàn)別人已經(jīng)構(gòu)建好的平臺(tái)給您帶來(lái)了一線希望的曙光。

正確的平臺(tái),您將在靈活性和簡(jiǎn)單性之間達(dá)到您所需要的平衡,從而使您能夠更快速地構(gòu)建而不受太多限制。本文將探討云平臺(tái)的范圍,以幫助您找到最適合您的那一款。

對(duì)于什么樣的平臺(tái)才是完美的,每個(gè)人有每個(gè)人的看法,因?yàn)槊總€(gè)人的使用場(chǎng)景有所不同。但是幾乎所有人都尋求以下兩個(gè)特征:

  • 提高開發(fā)速度

  • 自動(dòng)化運(yùn)維

這兩個(gè)要求推動(dòng)了大多數(shù)軟件平臺(tái)的進(jìn)化。真的,這兩項(xiàng)可以作為自動(dòng)化檢驗(yàn)標(biāo)準(zhǔn):速度和可重復(fù)性。

所以,沒有一個(gè)平臺(tái)對(duì)于任何用戶來(lái)說是完美的,那么是否意味著我們要自己寫呢?如果自己寫,是否建立在一個(gè)現(xiàn)有的平臺(tái)之上?您想要一個(gè)從上到下的緊密集成的平臺(tái),還是想要使用強(qiáng)大的擴(kuò)展點(diǎn)松散連接的多層平臺(tái)?

這些都是一時(shí)間難以回答的問題,并沒有一個(gè)真正適合每個(gè)人的單一答案。尋找合適平臺(tái)的成就感是發(fā)現(xiàn),比較和權(quán)衡之一。所以我們一起來(lái)吧!

? ??平臺(tái)之美

云平臺(tái)的“彩虹”,總有您喜歡的色彩。

每個(gè)廠商都會(huì)告訴你,他們的軟件是特別的,甚至是獨(dú)一無(wú)二的。他們都在努力使自己的產(chǎn)品與眾不同,以提供不可替代的價(jià)值。但是,如果您仔細(xì)觀察,并容忍一些粗糙的地方,您可以根據(jù)它們提供的接口類型對(duì)這些產(chǎn)品進(jìn)行分組。???


Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!

云平臺(tái)的示例

?? ?軟件平臺(tái)

“軟件即服務(wù)”一詞最早可追溯到2000年左右,指的是將打包的軟件產(chǎn)品和支持服務(wù)捆綁在托管解決方案中,以避免經(jīng)常未知的執(zhí)行和操作成本。一個(gè)SaaS產(chǎn)品本身就是一個(gè)基礎(chǔ)平臺(tái)。SaaS的一些原始用途取代了傳統(tǒng)企業(yè)資源計(jì)劃(ERP)和客戶關(guān)系管理(CRM)平臺(tái)。

像Salesforce和SAP這樣的公司,對(duì)于那些沒有大型工程師團(tuán)隊(duì)或IT部門來(lái)構(gòu)建和管理這些復(fù)雜的系統(tǒng)客戶,他們會(huì)在這些領(lǐng)域非常成功。即使是擁有這些資源的公司也可能認(rèn)為這些事情不在其核心競(jìng)爭(zhēng)力范圍之內(nèi),不值得自己去建設(shè)或經(jīng)營(yíng)。如今幾乎所有類別的軟件都可以通過SaaS獲得,從電子郵件到文字處理系統(tǒng),再到內(nèi)容管理系統(tǒng)比比皆是。

Spectrum的另一方面是基礎(chǔ)設(shè)施即服務(wù)。

Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!

將應(yīng)用程序配置到基礎(chǔ)架構(gòu)平臺(tái)上

?? ?基礎(chǔ)設(shè)施平臺(tái)

基礎(chǔ)設(shè)施平臺(tái)在SaaS之后不久就出現(xiàn)了。VMware GSX Server(2006)和亞馬遜彈性計(jì)算云(EC2,2006)提供了早期的虛擬化平臺(tái)。然而,VMWare最初專注在企業(yè)內(nèi)部部署,亞馬遜web服務(wù)則將其托管的IaaS和SaaS產(chǎn)品結(jié)合,定位于更廣闊的市場(chǎng)。后來(lái),Rackspace和美國(guó)航天局開發(fā)了OpenStack(2010)作為VMware vSphere(2009年發(fā)布,取代GSX)和亞馬遜EC2的開源競(jìng)爭(zhēng)對(duì)手。

這些IaaS主要提供了一些具體的抽象:虛擬機(jī)計(jì)算節(jié)點(diǎn),軟件定義的網(wǎng)絡(luò)和可掛載的存儲(chǔ)。在有SaaS的情況下,托管的IaaS的主要賣點(diǎn)是外部資源容量配置操作的自動(dòng)化,但與SaaS不同,托管的IaaS會(huì)給用戶帶來(lái)資源規(guī)模無(wú)限大的錯(cuò)覺。對(duì)于大多數(shù)對(duì)基礎(chǔ)設(shè)施外包感興趣的公司來(lái)說,AWS會(huì)提供比客戶以往任何時(shí)候資源需求量大得多的資源,在您向AWS尋求更多節(jié)點(diǎn)之前,已經(jīng)擴(kuò)展了數(shù)據(jù)中心。對(duì)于無(wú)法或者不愿意外包的公司,像OpenStack和vSphere這樣的基礎(chǔ)設(shè)施平臺(tái)可以在您選擇的數(shù)據(jù)中心中托管自己的云。

然而,管理不僅僅只是涉及硬件,還包括管理一個(gè)基礎(chǔ)設(shè)施平臺(tái),并且這需要更多的工作,這是企業(yè)公司已經(jīng)在自己的平臺(tái)上做過的。無(wú)論是手動(dòng)管理沒有虛擬化層的硬件,還是渴望使配置更加自主化。因此,as-a-service模型又回到了起點(diǎn):承載的平臺(tái)變成了打包產(chǎn)品,這次添加了多租戶功能,允許客戶為自己的內(nèi)部用戶組操作它。

隨之而來(lái)的應(yīng)用平臺(tái)。

Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!基礎(chǔ)架構(gòu)平臺(tái)上的應(yīng)用平臺(tái)

?? ?應(yīng)用平臺(tái)

Fotango的Zimki(2006)和Heroku(2007)率先使用平臺(tái)即服務(wù)。后來(lái)的Google App Engine(2008),CloudFoundry(2011)和其他幾個(gè)加入了戰(zhàn)斗。在當(dāng)時(shí),很明顯,這些是真正的應(yīng)用平臺(tái)(aPaaS),專門用于加快開發(fā)人員的速度并降低運(yùn)營(yíng)開銷。使得開發(fā)人員自己配置和管理他們開發(fā)的應(yīng)用,進(jìn)一步壓縮了從開始到發(fā)布到反饋到迭代的周轉(zhuǎn)時(shí)間,與日益普及的敏捷軟件開發(fā)思想相契合,并為剛剛起步的DevOps運(yùn)動(dòng)播下種子。

但進(jìn)步永遠(yuǎn)不會(huì)停止。容器平臺(tái)出現(xiàn)了。

Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!基礎(chǔ)架構(gòu)平臺(tái)上的容器平臺(tái)

?? ?容器平臺(tái)

容器化已經(jīng)比您想象得要深入(FreeBSD Jails自2000年以來(lái)一直在使用),但是可以肯定的是直到Docker(2013)將Linux操作系統(tǒng)級(jí)虛擬化與文件系統(tǒng)鏡像結(jié)合起來(lái),容器化才真正廣泛流行起來(lái)。這使得構(gòu)建和部署容器化應(yīng)用更加容易,這是一種可以理解為通過構(gòu)建磁盤鏡像來(lái)加快基礎(chǔ)設(shè)施平臺(tái)配置的IaaS用戶模式。但與VM相比,同時(shí)運(yùn)行的幾臺(tái)驅(qū)動(dòng)器足以讓您的工作站超負(fù)荷運(yùn)行,容器則允許您在本地部署完整的微服務(wù)堆棧,大大加快了開發(fā)周期。另外,由于降低了開銷,每個(gè)微服務(wù)器都可以擁有自己的容器映像,自己的發(fā)布周期和自己的滾動(dòng)升級(jí),允許更小的團(tuán)隊(duì)并行開發(fā)它們。

從容器運(yùn)行時(shí)到容器平臺(tái),這是一個(gè)明顯的進(jìn)步。像CloudFoundry這樣的應(yīng)用平臺(tái)和像Apache Mesos這樣的集群資源管理系統(tǒng)自成立以來(lái)就一直使用容器隔離。下一步是開放一個(gè)平臺(tái)API,允許開發(fā)人員在一組機(jī)器上部署越來(lái)越受歡迎的Docker鏡像。像基礎(chǔ)設(shè)施平臺(tái)一樣,容器平臺(tái)也是在內(nèi)部開始的,后來(lái)提供托管服務(wù)。Mesosphere的Marathon(2013)是通用容器編排的首個(gè)開源平臺(tái)之一,但它早期是由內(nèi)部努力推動(dòng)的,比如Google的Borg(?2004)和Twitter的Aurora(2010年寫成,在2013年開放為Apache Aurora)。

容器編排是容器平臺(tái)的核心。與應(yīng)用平臺(tái)一樣,容器平臺(tái)需要提供基于約束的聲明性調(diào)度。與應(yīng)用平臺(tái)不同的是,容器不限于十二要素應(yīng)用程序。比如,有狀態(tài)服務(wù)需要的持久卷,隔離保證機(jī)制,特定域的遷移過程及并行的備份作業(yè)等等。由于這種靈活性,容器平臺(tái)可以輕松地變得比應(yīng)用程序平臺(tái)更復(fù)雜,以支持更多種類的工作負(fù)載。


Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!計(jì)算機(jī)集群上的容器平臺(tái)


為了增加靈活性,并且在不遷移的情況下支持傳統(tǒng)工作負(fù)載,許多人在基礎(chǔ)設(shè)施平臺(tái)之上運(yùn)行容器平臺(tái),但這并不是絕對(duì)必要的。容器與單個(gè)機(jī)器已經(jīng)十分接近,幾乎所有的工作負(fù)載都是兼容的。所以并不是每個(gè)人都需要這種靈活性。許多開發(fā)人員將他們所有的時(shí)間都花在單層的堆棧中。他們尋找避免重復(fù)執(zhí)行任務(wù)的辦法,例如為他們構(gòu)建的每個(gè)新應(yīng)用程序手工制作容器鏡像。對(duì)于這些人來(lái)說,功能平臺(tái)(也稱為無(wú)服務(wù)器)就出現(xiàn)了。


Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!


?? ?功能平臺(tái)


亞馬遜推出了AWS Lambda(2014),引領(lǐng)了無(wú)服務(wù)的“熱潮”,在其虛擬基礎(chǔ)設(shè)施平臺(tái)之上提供輕量級(jí)的容器化事件處理。像其他Amazon Web Services一樣,Lambda僅僅只是一種托管服務(wù)。因此,由Iron.io(2014),Apache OpenWhisk(2016),F(xiàn)ission(2016),Galactic Fog的Gestalt(2016),OpenLambda(2016)填補(bǔ)了私有化部署替代品的市場(chǎng)。

除了他們各自基于特定語(yǔ)言的框架之外,功能平臺(tái)的運(yùn)行方式與應(yīng)用平臺(tái)相同。因此,開發(fā)人員只需要開發(fā)事件處理程序,并使用平臺(tái)API將觸發(fā)器映射到該處理程序即可,而不是使用多個(gè)端點(diǎn)編寫應(yīng)用程序。功能平臺(tái)通常與API網(wǎng)關(guān)配合或集成,以處理代理,負(fù)載均衡和集中式服務(wù)發(fā)現(xiàn)。與應(yīng)用平臺(tái)不同,功能平臺(tái)透明地集成了基于負(fù)載的自動(dòng)縮放,因?yàn)樗鼈兛刂扑腥肟邳c(diǎn)和復(fù)用。

像容器平臺(tái)一樣,功能平臺(tái)不一定需要基礎(chǔ)架構(gòu)平臺(tái),但與容器平臺(tái)提供的靈活性不同,功能平臺(tái)不是設(shè)計(jì)用于支持各種各樣的工作負(fù)載。所以僅僅只運(yùn)行一個(gè)功能平臺(tái)可能是不明智的或不可能的。您可能還需要一個(gè)較低級(jí)別的容器或基礎(chǔ)架構(gòu)平臺(tái)。一些功能平臺(tái)甚至被設(shè)計(jì)成與容器平臺(tái)集成,利用中間層自動(dòng)化來(lái)降低較高層的復(fù)雜性。


Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!云平臺(tái),它們的接口和抽象規(guī)模

?? ?平臺(tái)抽象

這些平臺(tái)中的每一層都提供了自己獨(dú)特的抽象和API,某些層比其他層更抽象。一些更高層級(jí)的平臺(tái)要么全部采用,要么就全不用。它們具有頂部到底部的集成,但只能支持您要運(yùn)行的一小部分工作負(fù)載。您可能會(huì)嘗試選擇最高層的抽象化來(lái)最大限度地提高開發(fā)人員的速度,但是您也必須考慮到這些平臺(tái)上構(gòu)建的軟件將與平臺(tái)最緊密耦合,當(dāng)您需要重新選擇平臺(tái)的時(shí)候, 這將增加您的風(fēng)險(xiǎn)。另一方面,較低級(jí)別的平臺(tái)可以提供最大的靈活性,可以實(shí)現(xiàn)最廣泛的工作負(fù)載,包括Web應(yīng)用程序,微服務(wù)器,整體架構(gòu)應(yīng)用,數(shù)據(jù)管道和數(shù)據(jù)存儲(chǔ)服務(wù)。它們使得遷移更輕松和基礎(chǔ)設(shè)施操作更容易,但是在上面實(shí)際開發(fā)或運(yùn)維應(yīng)用程序,服務(wù)或作業(yè)卻更難。

應(yīng)用平臺(tái)和基礎(chǔ)設(shè)施平臺(tái)之間的沖突是容器平臺(tái)受歡迎的重要原因之一。容器平臺(tái)在這兩方面作出了妥協(xié)。它們?cè)试S您根據(jù)每個(gè)容器來(lái)決定您的工作負(fù)載是否需要自己的環(huán)境,或者可以作為二進(jìn)制運(yùn)行,支持更多種類的工作負(fù)載。但它們還像應(yīng)用程序平臺(tái)一樣提供聲明式配置,生命周期管理,復(fù)制和調(diào)度。如果您還需要更高層次的抽象,您可以輕松地在容器平臺(tái)之上部署更輕量級(jí)的應(yīng)用程序或功能平臺(tái),共享具有較低級(jí)別工作負(fù)載的資源和機(jī)器。如果您還需要較低級(jí)別的抽象,您可以輕松地在基礎(chǔ)設(shè)施平臺(tái)之上部署容器平臺(tái),而不是直接使用裸機(jī)。


Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!DC / OS架構(gòu)層


特別推薦一個(gè)分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長(zhǎng)按關(guān)注一下:

Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!

Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!

Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!

長(zhǎng)按訂閱更多精彩▼

Iaas、Caas、Paas、Faas,選擇正確的平臺(tái)!

如有收獲,點(diǎn)個(gè)在看,誠(chéng)摯感謝

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉