作者:劉永峰起暮, 騰訊云產(chǎn)品經(jīng)理蹦骑,布道師(轉(zhuǎn)載請(qǐng)標(biāo)明出處及作者)
什么是云計(jì)算?云計(jì)算的角色是如何變遷的。云計(jì)算未來(lái)的形態(tài)是什么肯尺?本文試圖從歷史租谈,技術(shù)演化肃续,云端應(yīng)用架構(gòu)的發(fā)展等幾個(gè)維度去揭示云計(jì)算未來(lái)的演化趨勢(shì)霹肝。
不同的用戶荠列,對(duì)云計(jì)算的認(rèn)知是不同的,對(duì)于一個(gè)計(jì)算機(jī)專業(yè)的碩士研究生來(lái)說(shuō)稚伍,他會(huì)告訴你弯予,云計(jì)算就是網(wǎng)格計(jì)算,并行計(jì)算个曙。對(duì)于一個(gè)小白用戶來(lái)說(shuō)锈嫩,他會(huì)告訴你,云計(jì)算是網(wǎng)盤垦搬,對(duì)于一個(gè)IT工程師來(lái)說(shuō)呼寸,他會(huì)告訴你,云計(jì)算是服務(wù)器猴贰。對(duì)于一個(gè)科技愛(ài)好者來(lái)說(shuō)对雪,他眼中的云計(jì)算是類似于AlphaGo這樣的高科技。云計(jì)算到底是什么呢米绕?不同的人有不同的看法瑟捣。但是作為云計(jì)算行業(yè)的從業(yè)者來(lái)說(shuō),我是這樣定義云計(jì)算的:云計(jì)算是一種將IT基礎(chǔ)設(shè)施轉(zhuǎn)變?yōu)榉?wù)去售賣的新的商業(yè)模式
在不同的歷史時(shí)期桑李,云計(jì)算所扮演的角色是不同的,在2000年之前窿给,云計(jì)算更多的是以一種新技術(shù)形態(tài)出現(xiàn)的贵白。那個(gè)時(shí)候可能還沒(méi)有這個(gè)名詞,但是學(xué)術(shù)界一直研究的網(wǎng)格計(jì)算崩泡,并行計(jì)算禁荒,就是云計(jì)算比較早期的雛形。在21世紀(jì)最初的幾年角撞,云計(jì)算開(kāi)始在Google這樣的公司廣泛的應(yīng)用呛伴。這個(gè)時(shí)候寥掐,云計(jì)算更多的是代表一種能力(Capacity)并且只有大公司才能擁有這種能力。到了20006年磷蜀,有一個(gè)標(biāo)志性的時(shí)間,就是Amazon第一次將對(duì)象存儲(chǔ)百炬,作為一種服務(wù)褐隆,對(duì)外去售賣。云計(jì)算才由少數(shù)公司具有的能力剖踊,演變成人人都能購(gòu)買的服務(wù)庶弃。隨著技術(shù)繼續(xù)往前發(fā)展,未來(lái)德澈,云計(jì)算是一種什么形態(tài)呢歇攻?
某些時(shí)候,我們面向著對(duì)未來(lái)的種種的預(yù)測(cè)和期望梆造,其實(shí)很多答案已經(jīng)存在在歷史中了缴守。
回到19世紀(jì),我們先看一下镇辉,電力作為一種資源的演變過(guò)程屡穗。1831年,法拉第發(fā)現(xiàn)電磁感應(yīng)忽肛,電村砂,開(kāi)始作為一種新的技術(shù)登上歷史舞臺(tái)。1879年屹逛,愛(ài)迪生發(fā)明了電燈础废,第一次點(diǎn)亮的世界,此時(shí)罕模,電只是作為摩根這樣一類少數(shù)富人所擁有的能力评腺。隨著電力技術(shù)的發(fā)展,愛(ài)迪生不僅僅發(fā)明了電燈手销,還發(fā)明了一系列直流的發(fā)電歇僧,傳輸?shù)南到y(tǒng)。并通過(guò)愛(ài)迪生通用電氣將其商業(yè)化锋拖,這個(gè)時(shí)候诈悍,電才開(kāi)始成為人人都可以享受和購(gòu)買的服務(wù)。歷史的車輪繼續(xù)往前兽埃。特斯拉發(fā)明了交流電機(jī)以及交流傳輸技術(shù)侥钳,電能能通過(guò)遠(yuǎn)距離輸電的方式,輸往千家萬(wàn)戶柄错。并且在工業(yè)生產(chǎn)舷夺,人的生活中被廣泛采用苦酱。這個(gè)時(shí)候,電才成為了一種公共的資源给猾。
第二次工業(yè)革命敢伸,催生了電成為一種公共的資源扯饶。歷史的車輪總會(huì)存在相同的印記,所以池颈,云計(jì)算尾序,未來(lái)也會(huì)是一種公共的資源。
云計(jì)算技術(shù)的演化過(guò)程##
一個(gè)東西躯砰,從一項(xiàng)技術(shù)每币,發(fā)展成為公共的資源。其技術(shù)一定是逐步演化的琢歇,需要適應(yīng)作為公共資源的特點(diǎn)兰怠。
- 細(xì)粒度,可衡量
- 簡(jiǎn)單通用
- 有統(tǒng)一的方式去獲取
云計(jì)算技術(shù)的發(fā)展李茫,其實(shí)就是隔離性越來(lái)越深痕慢,資源粒度越來(lái)越細(xì),由專有到通用的過(guò)程
我們先看一下物理機(jī)時(shí)代的隔離方式涌矢。當(dāng)需要服務(wù)時(shí)掖举,會(huì)購(gòu)買一臺(tái)物理的機(jī)器,當(dāng)需要更多服務(wù)時(shí)娜庇,就需要一個(gè)機(jī)架塔次,裝入更多的物理機(jī)器。所以物理機(jī)時(shí)代的隔離名秀,就是一種機(jī)器層面的隔離励负。這種情況下會(huì)導(dǎo)致兩個(gè)問(wèn)題:
- 資源粒度過(guò)粗,利用率不高匕得。
- 無(wú)法方便的通過(guò)軟件去控制
隨著虛擬化技術(shù)的發(fā)展继榆,出現(xiàn)了操作系統(tǒng)層面的隔離。也就是我們通常說(shuō)的虛擬機(jī)(VM)汁掠,在一個(gè)操作系統(tǒng)上劃分出很多虛擬的操作系統(tǒng)略吨。每個(gè)操作系統(tǒng)就是一臺(tái)虛擬的服務(wù)器。他們共享硬件資源考阱。由于一臺(tái)物理的機(jī)器翠忠,能夠創(chuàng)建很多個(gè)虛擬的機(jī)器,這個(gè)時(shí)候乞榨,資源粒度變細(xì)了秽之,利用率提升了当娱,同時(shí)還帶來(lái)了一個(gè)非常便利的優(yōu)勢(shì),也就是能夠通過(guò)軟件的方式考榨,非常方便的創(chuàng)建跨细,重啟,銷毀機(jī)器河质。當(dāng)一個(gè)數(shù)據(jù)中心大量的虛擬機(jī)被生成出來(lái)扼鞋,然后輔助特定的管理,監(jiān)控愤诱,安全,網(wǎng)絡(luò)的設(shè)施捐友,就變成了云淫半。也就是我們通說(shuō)所說(shuō)的IAAS。
用慣了虛擬機(jī)的程序員科吭,可能會(huì)思考一個(gè)問(wèn)題。我有10個(gè)python的應(yīng)用猴鲫,只是應(yīng)用的代碼不同对人,我難道需要10個(gè)獨(dú)立的OS去運(yùn)行嗎?這些應(yīng)用能否共用一個(gè)執(zhí)行環(huán)境拂共。這種情況下牺弄,PAAS出現(xiàn)了。傳統(tǒng)的PAAS宜狐,是一種應(yīng)用層面的隔離势告。應(yīng)用和應(yīng)用之前彼此獨(dú)立,共享相同的執(zhí)行環(huán)境(Runtime),這個(gè)時(shí)候抚恒,資源粒度更細(xì)了咱台,同一個(gè)PAAS平臺(tái)可以同時(shí)運(yùn)行更多的應(yīng)用。但是PAAS平臺(tái)也存在一個(gè)問(wèn)題俭驮,因?yàn)槠脚_(tái)是運(yùn)行環(huán)境相關(guān)的回溺,所以必須為每個(gè)平臺(tái)專門定制代碼。通用性帶來(lái)很大的問(wèn)題混萝。
技術(shù)總是往前發(fā)展逸嘀,既然應(yīng)用是和執(zhí)行環(huán)境相關(guān)的瓮恭,那為什么不把應(yīng)用和執(zhí)行環(huán)境打包在一起,這樣厘熟,就解決了PAAS平臺(tái)的應(yīng)用必須依賴其執(zhí)行環(huán)境的問(wèn)題屯蹦。因此容器(Container)技術(shù)應(yīng)運(yùn)而生维哈。容器就是把一個(gè)應(yīng)用以及所依賴的一系列的運(yùn)行環(huán)境打包到一個(gè)“箱子”里面。箱子和箱子之間共享同一個(gè)OS Kernel登澜。利用操作系統(tǒng)內(nèi)核本身的一些特性做資源隔離阔挠。所以容器技術(shù)是一種進(jìn)程級(jí)別的隔離。它不僅解決了運(yùn)行環(huán)境依賴的問(wèn)題脑蠕,還使得隔離粒度進(jìn)一步變細(xì)购撼。容器的生成,銷毀更為迅速(秒級(jí))谴仙。所以縱觀整個(gè)的云計(jì)算技術(shù)的發(fā)展歷程迂求,有一個(gè)非常重要的主線就是隔離越來(lái)越深入,資源粒度越來(lái)越細(xì)晃跺,管理越來(lái)越方便揩局。
剛才談到了物理機(jī),虛擬機(jī)和容器掀虎,那這三種到底有什么區(qū)別?這里打一個(gè)形象的比喻凌盯,如果把虛擬機(jī)比作是一套三居室的公寓,容器就好比是合租烹玉,租用公寓里面的一個(gè)房間驰怎,他們共享客廳,廚房和衛(wèi)生間二打。旁邊房子里面大聲放音樂(lè)县忌,可能會(huì)吵到自己,相比于公寓的防盜門继效,也不是那么安全芹枷,但是它是一種輕量化的解決方案。旁邊的獨(dú)棟別墅莲趣,就好比是一個(gè)物理機(jī)鸳慈,它所有的東西都是獨(dú)享,但是利用率不會(huì)那么高喧伞。
一個(gè)東西潘鲫,如果要變成一項(xiàng)公共的資源翁逞,還需要滿足一個(gè)非常重要的特征,也就是需要一種相對(duì)簡(jiǎn)單溉仑,并且統(tǒng)一的途徑的獲取資源挖函。譬如所有的電能,都是通過(guò)一個(gè)插座(Socket)去獲取的浊竟。云計(jì)算也需要一個(gè)這樣的插座怨喘。所以在云計(jì)算的世界里津畸,API扮演著一個(gè)非常重要的覺(jué)得。未來(lái)云的世界必怜,就是由API構(gòu)成的世界肉拓。
云計(jì)算的四個(gè)資源化特征##
相比于電能,簡(jiǎn)單梳庆,便利暖途,隨時(shí)隨地獲取,不用關(guān)心是否夠用膏执。云計(jì)算要成為一個(gè)資源驻售,也需要具備相應(yīng)的特征。
- 按需付費(fèi)更米,用多少就算多少
- 即時(shí)獲取欺栗,消除地域和時(shí)間的限制
- 規(guī)模經(jīng)濟(jì),成本會(huì)越來(lái)越低
- 彈性伸縮壳快,滿足不同類別的業(yè)務(wù)需求
Cloud Native,云計(jì)算未來(lái)的應(yīng)用架構(gòu)##
電能的廣泛傳播和使用镇草,與豐富家用電器的使用場(chǎng)景以及以電能為動(dòng)力的廣泛的工業(yè)化應(yīng)用是分不開(kāi)的眶痰。同樣,云計(jì)算的發(fā)展和普及梯啤,依賴于真正符合云計(jì)算特點(diǎn)的應(yīng)用系統(tǒng)和應(yīng)用架構(gòu)竖伯。到底什么樣的一種應(yīng)用架構(gòu)是符合云的未來(lái)趨勢(shì)的呢?最近因宇,有一種應(yīng)用架構(gòu)開(kāi)始流行:Cloud Native(云原生應(yīng)用)七婴。Cloud Native不是一種新的技術(shù),也不是一種新的架構(gòu)察滑。而是包含下面三個(gè)東西打厘,可以說(shuō)是一套云端業(yè)務(wù)構(gòu)建和運(yùn)營(yíng)管理的最新的理念。
- 一種架構(gòu)思想(微服務(wù))
- 一種業(yè)務(wù)運(yùn)行環(huán)境(Docker + 容器)
- 一種團(tuán)隊(duì)組織方式(小團(tuán)隊(duì)贺辰,DevOps)
隨著云計(jì)算技術(shù)的發(fā)展户盯,云計(jì)算所表現(xiàn)出來(lái)的資源化特征已經(jīng)完全不同于傳統(tǒng)的IT。傳統(tǒng)的集中式架構(gòu)饲化,分布式架構(gòu)顯然已經(jīng)無(wú)法適應(yīng)一切以云端為基礎(chǔ)構(gòu)建的業(yè)務(wù)莽鸭。“微服務(wù)”在這種情況下應(yīng)運(yùn)而生吃靠。和傳統(tǒng)的SOA一樣硫眨,微服務(wù)也是一種面向服務(wù)的架構(gòu),但是它的粒度更小巢块,服務(wù)和服務(wù)之間更為松散耦合礁阁。一切以API進(jìn)行通信巧号。
當(dāng)然微服務(wù)的實(shí)現(xiàn)氮兵,也依賴于其具體的業(yè)務(wù)運(yùn)行方式和管理模式裂逐。所以也離不開(kāi)“Docker”這只改變世界的“箱子”。如果云計(jì)算的未來(lái)是一種公共的資源泣栈,那么由它所驅(qū)動(dòng)的業(yè)務(wù)卜高,一定會(huì)有一個(gè)通用化的執(zhí)行環(huán)境。并且計(jì)算單元的粒度更細(xì)南片,也更具有可衡量的特征掺涛。以容器技術(shù)為核心的Docker,將是當(dāng)前最優(yōu)化的一種方案疼进。同時(shí)薪缆,服務(wù)以極細(xì)粒度去運(yùn)行,配合標(biāo)準(zhǔn)化的分發(fā)伞广,調(diào)度管理模式拣帽,才更能適合微服務(wù)這樣的全新架構(gòu)。
20世界60年代嚼锄,有一個(gè)程序員提出了著名的“康威定律”减拭,有什么樣的業(yè)務(wù)架構(gòu),必然會(huì)有什么樣的團(tuán)隊(duì)組織形式区丑。既然云端的業(yè)務(wù)是一種全新的業(yè)務(wù)架構(gòu)去組織的拧粪,當(dāng)然也會(huì)催生出新的團(tuán)隊(duì)組織和運(yùn)行模式〔捉模“小團(tuán)隊(duì)作戰(zhàn)可霎,DevOps”,構(gòu)建一種適合云端業(yè)務(wù)的宴杀,敏捷的業(yè)務(wù)開(kāi)發(fā)癣朗,運(yùn)行,運(yùn)營(yíng)管理模式旺罢。
總結(jié)##
從云計(jì)算的未來(lái)的發(fā)展形態(tài)斯棒,談到了云的技術(shù)演化,再談到了云的資源化特征主经,最后談到了云端的應(yīng)用架構(gòu)荣暮。從歷史到技術(shù)演化,到業(yè)務(wù)特征罩驻,最后到應(yīng)用形態(tài)穗酥。其實(shí)一直都是圍繞著一條主線:“云計(jì)算如何由服務(wù)向著公共資源去演變”。總結(jié)起來(lái)砾跃,有下面幾點(diǎn)結(jié)論:
- 云計(jì)算的服務(wù)化特征會(huì)越來(lái)越明顯
- 資源粒度會(huì)越來(lái)越細(xì)骏啰,越來(lái)越通用,越來(lái)越容易獲取
- 業(yè)務(wù)的述求越來(lái)越向著即時(shí)獲取抽高,按需獲取判耕,彈性的方向發(fā)展
- 新的業(yè)務(wù)架構(gòu),業(yè)務(wù)運(yùn)行環(huán)境翘骂,團(tuán)隊(duì)組織模式是其演進(jìn)的催化劑壁熄。