長話短說,本文的目的是幫助你了解云原生的功能及帶來的業(yè)務(wù)效益,并探討準(zhǔn)備遷移到這種新型計(jì)算模式的企業(yè)面臨的種種選擇和陷阱。
“計(jì)算機(jī)革命已過去了60年,離微處理器的發(fā)明已有40年,現(xiàn)代互聯(lián)網(wǎng)興起至今已有20年,通過軟件改變各行各業(yè)所需的所有技術(shù)終于切實(shí)可行,可以在全球范圍內(nèi)廣泛提供。
在后端,有了軟件編程工具和基于互聯(lián)網(wǎng)的服務(wù),很容易在許多行業(yè)新創(chuàng)辦軟件驅(qū)動(dòng)的全球性初創(chuàng)公司,無需投資興建新的基礎(chǔ)架構(gòu)、無需培訓(xùn)新員工。2000年,我的合伙人Ben Horowitz還是第一家云計(jì)算公司Loudcloud的首席執(zhí)行官時(shí),客戶運(yùn)行基本的互聯(lián)網(wǎng)應(yīng)用軟件所需費(fèi)用為每月約15萬美元。如今在亞馬遜云端運(yùn)行同樣這個(gè)應(yīng)用軟件,每月費(fèi)用僅為約1500美元。”
因此,Marc Andreessen在其2011年發(fā)表的知名文章中恰如其名地取名為《為何軟件在吞噬世界?》。
自2011年以來,幾個(gè)方面已取得了一些進(jìn)展,“軟件”帶來了前所未有的可能性。云不再是個(gè)流行語。AI/機(jī)器學(xué)習(xí)已成為主流。敏捷和開發(fā)運(yùn)維(DevOps)對我們而言不再陌生。甚至出現(xiàn)了零運(yùn)維/無運(yùn)維(ZeroOps/NoOps)。區(qū)塊鏈/去中心化計(jì)算并不適合所有人。每個(gè)人都為量子計(jì)算而感到興奮。
當(dāng)今技術(shù)更值得關(guān)注的方面之一是,“云原生”技術(shù)迅猛發(fā)展。據(jù)云原生計(jì)算基金會(huì)聲稱,“云原生技術(shù)使企業(yè)組織能夠在現(xiàn)代動(dòng)態(tài)環(huán)境(比如公共云、私有云和混合云)中構(gòu)建和運(yùn)行可擴(kuò)展的應(yīng)用程序。容器、服務(wù)網(wǎng)格、微服務(wù)、不可變的基礎(chǔ)架構(gòu)和聲明性API就是這種方法的體現(xiàn)。”使用云原生的公司越來越多,這不僅是計(jì)算機(jī)界的一次重大的根本性轉(zhuǎn)變,也是整個(gè)世界的一次重大的根本性轉(zhuǎn)變。
許多新的顛覆性公司(比如Go-Jek、字節(jié)跳動(dòng)和Grab)以及大名鼎鼎且經(jīng)常被舉例的公司(比如Facebook、谷歌、優(yōu)步和愛彼迎等)都充分表明了這一點(diǎn):正是由于采用云原生方法,可以迅速構(gòu)建可靈活擴(kuò)展,服務(wù)于全球數(shù)十億客戶的平臺。
技術(shù)近期發(fā)展史
深入探究構(gòu)成云原生的功能之前,簡單回顧一下近期技術(shù)的發(fā)展史很有必要。
AWS于2009年3月9日問世,它來源于一個(gè)自然而合理的想法:靠亞馬遜行之有效地管理基礎(chǔ)架構(gòu)的核心優(yōu)勢來賺取收入。公共云現(xiàn)在是一個(gè)產(chǎn)值1800億美元(截至2018年)的行業(yè),預(yù)計(jì)到2022年將增長到3310億美元。云已從早期提供存儲(chǔ)和計(jì)算機(jī)等資源,發(fā)展成為一種可靠的替代方案(傳統(tǒng)方案是擁有和運(yùn)行自己的基礎(chǔ)架構(gòu)),以開發(fā)功能強(qiáng)大的數(shù)字化應(yīng)用軟件。還有另外幾種強(qiáng)大的技術(shù),比如容器、API和微服務(wù)等,當(dāng)它們與AWS率先倡導(dǎo)的彈性基礎(chǔ)架構(gòu)結(jié)合使用時(shí),更廣泛的術(shù)語“云原生”(Cloud-Native)由此形成。
在提到云計(jì)算行業(yè)的同時(shí),我們需要追溯對客戶期望產(chǎn)生深遠(yuǎn)影響的另一場革命。iPhone在2007年1月9日面市,標(biāo)志著客戶期望方面出現(xiàn)了重大變化??蛻舯恍碌臄?shù)字化服務(wù)所淹沒,最先是社交網(wǎng)絡(luò),這種網(wǎng)絡(luò)隨時(shí)在線,其大多數(shù)功能作為自助式服務(wù)來交付,提供令人愉悅的客戶體驗(yàn)。爭奪客戶并將網(wǎng)絡(luò)擴(kuò)展到數(shù)十億客戶的規(guī)模,導(dǎo)致了硅谷的技術(shù)巨頭們展開一場軍備競賽,這意味著旨在開發(fā)“數(shù)字化優(yōu)化”應(yīng)用程序的技術(shù)層出不窮。你可以在此處了解這些技術(shù)。
這里值得一提的另一點(diǎn)是,通過向開源社區(qū)貢獻(xiàn)功能強(qiáng)大的軟件組件,像谷歌、奈飛、優(yōu)步和Spotify這些互聯(lián)網(wǎng)時(shí)代崛起的企業(yè)組織一直在以零成本或極低的成本增強(qiáng)云原生計(jì)算的功能,這與采用許可模式的同行形成了對照。這些功能由才華橫溢的工程師組成的社區(qū)開發(fā),常常得到科技巨頭的支持(比如,用于編排和管理容器的軟件Kubernetes已由谷歌開源),它們定義了“可能的藝術(shù)”(Art of Possible)。
云原生公司的七大功能
云原生計(jì)算不僅是一系列技術(shù)功能,還代表了構(gòu)建數(shù)字化優(yōu)先應(yīng)用程序的一種新模式。想了解云原生,需要更仔細(xì)地分析定義當(dāng)今高效的云原生公司的七大功能。
平臺――雖然平臺本身不是軟件工程界的新事物,但這更多地局限于產(chǎn)品供應(yīng)商,而不是企業(yè)。比如在銀行,貸款業(yè)務(wù)可能不被認(rèn)為是一個(gè)平臺,而是集合了執(zhí)行一系列業(yè)務(wù)功能的數(shù)百個(gè)應(yīng)用程序、幾個(gè)本地開發(fā)的應(yīng)用程序和幾個(gè)商用現(xiàn)成(COTS)應(yīng)用程序。平臺方法意味著業(yè)務(wù)功能被視為提供一組功能的產(chǎn)品。這與傳統(tǒng)IT應(yīng)用程序的構(gòu)建方式相比是一大轉(zhuǎn)變。
容器――正如當(dāng)初定義運(yùn)貨集裝箱的標(biāo)準(zhǔn)尺寸以及圍繞集裝箱處理而建的工具生態(tài)系統(tǒng)促進(jìn)了全球貿(mào)易迎來大幅增長,容器的引入也給軟件工程界帶來了一場革命。容器可以追溯到Linux操作系統(tǒng),總部位于硅谷的Docker公司讓容器流行了起來。隨之出現(xiàn)的生態(tài)系統(tǒng)涵蓋眾多工具,它們作為微服務(wù)而開發(fā),作為API來公布(比如客戶事務(wù)查詢),以便在特定的時(shí)間處理峰值負(fù)載。Kubernetes就是一種代表性的工具,它提供了管理和編排容器的功能,這意味著公司企業(yè)可以向內(nèi)或向外擴(kuò)展某項(xiàng)特定功能。
API(應(yīng)用編程接口)和微服務(wù)。
API將功能作為貴企業(yè)的菜單卡來提供。在云原生界,API好比是貴企業(yè)的門戶。API抽取了應(yīng)用程序所有的底層復(fù)雜性,提供了更簡單且易于理解的合約,以便精通技術(shù)的業(yè)務(wù)用戶和開發(fā)人員了解和開發(fā)功能強(qiáng)大的應(yīng)用程序。貴企業(yè)需要從頭開始構(gòu)建一切的日子已經(jīng)一去不復(fù)返。API利用一系列內(nèi)部和第三方的API組合成功能強(qiáng)大的應(yīng)用程序。如果說數(shù)字化經(jīng)濟(jì)好比是國家,那么API就是你的護(hù)照。
微服務(wù)――微服務(wù)定義了貴企業(yè)中獨(dú)立業(yè)務(wù)功能的最小單位。通過將整個(gè)企業(yè)分解成較小的微服務(wù),云原生企業(yè)可以迅速行動(dòng):無論從可擴(kuò)展性的角度來看,還是從采用多種編程語言的自由度這個(gè)角度來看,這在以前是不可能做到的(比如面向數(shù)據(jù)科學(xué)的Python、面向并行處理的Golang以向面向業(yè)務(wù)應(yīng)用軟件的Java等)。
智能決策――數(shù)據(jù)有好多個(gè)稱謂:比如石油、黃金和氧氣。云原生技術(shù)對企業(yè)組織利用數(shù)據(jù)的方式產(chǎn)生了深遠(yuǎn)的影響。我們擁有Kafka等功能非常強(qiáng)大的平臺,能夠以非常快的速度處理來自外界(眾多設(shè)備、社交媒體和合作伙伴組織等)的大量數(shù)據(jù),發(fā)送到可以在一段時(shí)間內(nèi)學(xué)習(xí)并獲取洞察力的AI/機(jī)器學(xué)習(xí)平臺。簡而言之,現(xiàn)在我們正進(jìn)入到這樣一個(gè)時(shí)代:需要人來干預(yù)才能進(jìn)行解讀和采取行動(dòng)的決策已變得自動(dòng)化。這就意味著云原生組織天生比傳統(tǒng)組織更智能化,并不斷學(xué)習(xí)。
創(chuàng)新文化――說到進(jìn)度方面,完美是優(yōu)秀的敵人。創(chuàng)新不是云原生組織的流行語,而是組織文化的一個(gè)固有部分。雖然企業(yè)面臨老牌品牌的負(fù)擔(dān),并擔(dān)心打破常規(guī)、失去客戶信任,現(xiàn)代企業(yè)專注于將持續(xù)試驗(yàn)作為一種創(chuàng)新的手段,并將創(chuàng)新的顛覆性技術(shù)提供給客戶。
敏捷文化云原生應(yīng)用程序常常由在同一地方工作(或奉行無縫協(xié)作文化)的敏捷團(tuán)隊(duì)來構(gòu)建。敏捷的軟件開發(fā)方式取得了一些進(jìn)步,尤其來自Spotify及其他硅谷公司,它們打造了一種對功能特性進(jìn)行創(chuàng)新、試驗(yàn)以及持續(xù)集成和持續(xù)交付(CI/CD)的文化,這種文化已深入到工程原則的精髓。這些團(tuán)隊(duì)全面負(fù)責(zé)從開發(fā)到部署的整個(gè)過程,通過先進(jìn)的DevOps技術(shù)使軟件開發(fā)生命周期(SDLC)流程幾乎完全實(shí)現(xiàn)自動(dòng)化,并常常通過任務(wù)的游戲化來汲取靈感。
通過充分利用云基礎(chǔ)架構(gòu)的彈性特性來提供存儲(chǔ)和計(jì)算資源,實(shí)現(xiàn)軟件定義的基礎(chǔ)架構(gòu)?,F(xiàn)在,數(shù)字化優(yōu)化的公司大有機(jī)會(huì)構(gòu)建功能的強(qiáng)大應(yīng)用程序,而這些應(yīng)用程序的構(gòu)建和運(yùn)營成本與以前相比大幅降低。
整體上來看,上述功能及其采用的程度代表著云原生商(CNQ),CNQ代表企業(yè)組織在現(xiàn)代化過程中所處的階段。
借助更高的CNQ和先進(jìn)的技術(shù)(比如事件處理、AI/機(jī)器學(xué)習(xí)驅(qū)動(dòng)的數(shù)據(jù)處理以獲取洞察力),云原生組織常常以幾年前無法想象的速度運(yùn)作。這從我們每年看到的獨(dú)角獸(估值超過10億美元的初創(chuàng)公司)數(shù)量中可見一斑。總之,如果你在打造一家現(xiàn)代企業(yè),云原生技術(shù)將為你提供速度這個(gè)核心優(yōu)勢。
憑借速度,云原生組織一直在搶占屬于傳統(tǒng)企業(yè)堡壘的地盤。“從早期階段到獨(dú)角獸”的時(shí)間越來越短就充分體現(xiàn)了這一點(diǎn)。這些云原生的科技初創(chuàng)公司已成功地從許多國家的傳統(tǒng)老牌巨頭搶過很大的份額,比如中國的百度、騰訊和阿里巴巴,韓國的Kakao,印度的Flipkart、PayTM和Ola,印度尼西亞的Go-Jek,這樣的例子在許多發(fā)展中國家比比皆是。在西方國家,這種情況不太普遍,但是客戶早晚會(huì)移情別戀。
傳統(tǒng)企業(yè)與云原生企業(yè)的速度差異
由于客戶比以往任何時(shí)候更愿意嘗試,并可能從新時(shí)代進(jìn)入者轉(zhuǎn)向更新穎的產(chǎn)品,企業(yè)的運(yùn)營速度決定了它能否繼續(xù)吸引客戶群并蓬勃發(fā)展。當(dāng)初因可預(yù)測性和穩(wěn)定性而備受喜愛的那些企業(yè)現(xiàn)在被迫擯棄對這些優(yōu)點(diǎn)的熱情,需要與新時(shí)代以速度見長的后起之秀相匹敵或競爭。對速度的渴求無比迫切。
通過云原生計(jì)算獲得速度的旅程并非沒有陷阱。在開始邁上獲得速度的旅程之前,企業(yè)需要考慮清楚幾個(gè)關(guān)鍵的方面。
將應(yīng)用程序重寫為原生云的成本仍然很高,這方面的風(fēng)險(xiǎn)可能無法證明有必要搞原生云。同樣,在金融服務(wù)、保險(xiǎn)和醫(yī)療保健等受監(jiān)管行業(yè),監(jiān)管機(jī)構(gòu)常常對所有數(shù)據(jù)移至云端惴惴不安。原因不一,有的是缺少了解云原生技術(shù)的工作人員,有的是對云服務(wù)提供商(CSP)保護(hù)客戶數(shù)據(jù)的能力有所擔(dān)憂。
由于云服務(wù)提供商市場快速整合,企業(yè)將面臨少數(shù)幾個(gè)選擇:AWS、Azure、GCP(開源替代技術(shù)OpenStack尚未達(dá)到臨界規(guī)模),這些CSP可能會(huì)成為“重要的外包商”,它們控制著企業(yè)組織的關(guān)鍵功能。
此外,萬一出現(xiàn)安全泄密,大量客戶數(shù)據(jù)集中在個(gè)別幾家CSP可能意味著災(zāi)難,不過客戶數(shù)據(jù)放在CSP處比放在本地?cái)?shù)據(jù)中心來得更安全這種觀點(diǎn)有其道理。還有一些隱私方面的顧慮:CSP會(huì)不會(huì)分析海量數(shù)據(jù)以牟取私利(還記得Cambridge Analytica嗎?)。雖然有一些令人滿意的技術(shù)方案:從強(qiáng)加密到分片(將數(shù)據(jù)分成多個(gè)塊并存儲(chǔ)在CSP許多不同地區(qū)的方法),但監(jiān)管部門對此卻仍有所擔(dān)憂,對金融服務(wù)、保險(xiǎn)和醫(yī)療保健這些處理敏感客戶數(shù)據(jù)的行業(yè)來說尤為如此。
為了解決上述問題,幾家高瞻遠(yuǎn)矚的企業(yè)組織正在采用一種兼顧的“混合多云”方法:將關(guān)鍵應(yīng)用程序留在內(nèi)部,將AWS用于一組功能,而將Azure和GCP用于另外幾組功能。應(yīng)用程序的容器化是這個(gè)方法的核心,谷歌Anthos就是一個(gè)典例,它表明了本地環(huán)境、私有云和公共云可以無縫共存。
從技術(shù)角度來看,企業(yè)在采用云原生計(jì)算時(shí)主要有三個(gè)選擇
將所有內(nèi)容重寫成云原生――這個(gè)選擇成本高昂但回報(bào)豐厚。雖然云原生的好處很誘人,但對于僅在威斯康星州運(yùn)營,投入成本以構(gòu)建有助于在全球范圍內(nèi)擴(kuò)展的功能的銀行來說,這可能不明智。相反,關(guān)注云原生功能以擴(kuò)大其市場范圍,這方面倒是有幾個(gè)機(jī)會(huì)。新市場和新客戶群意味著現(xiàn)金充裕的企業(yè)組織可以追逐新的利潤池。
針對云進(jìn)行優(yōu)化――這個(gè)選擇需要更改應(yīng)用程序的某些部分,比如它使用的存儲(chǔ)、進(jìn)行少量更改以采用微服務(wù)以及將功能作為API來提供,從而充分利用與眾多SaaS提供商和合作伙伴進(jìn)行協(xié)作的機(jī)會(huì)。大多數(shù)企業(yè)選擇了這條路。雖然這可能不像原生云方案那樣完全有效,但它提供了開始的契機(jī)。
將應(yīng)用程序原封不動(dòng)地遷移到云――這種選擇最省事,企業(yè)可以將應(yīng)用程序遷移到云,無需在利用彈性基礎(chǔ)架構(gòu)功能方面作任何改變。對于不太關(guān)鍵的應(yīng)用程序、COTS應(yīng)用程序和不再積極開發(fā)的老式應(yīng)用程序而言,這不失為一個(gè)選擇。
向云原生轉(zhuǎn)變有好幾條路,技術(shù)、架構(gòu)和流程方面有幾個(gè)選擇。很顯然,這是重要的旅程,需要引起CEO的注意。云原生計(jì)算不再是可以單單交給IT團(tuán)隊(duì)就行的方案,因?yàn)樗鼛砹岁P(guān)鍵的業(yè)務(wù)功能和急需的速度,以便在瞬息萬變的世界保持重要性和競爭力。
許多企業(yè)采取自下而上的以應(yīng)用程序?yàn)橹行牡亩唐诜椒?,從長遠(yuǎn)來看,這可能造成更大的危害,因?yàn)樵圃袠I(yè)一直在發(fā)展變化,過去很強(qiáng)大的功能可能在明天變得完全無關(guān)緊要。因此,在公司旨在實(shí)現(xiàn)的成果、一系列業(yè)務(wù)戰(zhàn)略、旨在執(zhí)行這些戰(zhàn)略的功能、為交付這些功能而構(gòu)建的應(yīng)用程序以及一直在交付服務(wù)的流程之間建立可追溯性就顯得至關(guān)重要。
最后,采用云原生計(jì)算的10條戒律
●如果貴公司的性質(zhì)不希望你成為谷歌,無需成為谷歌。切莫過于復(fù)雜。
●在業(yè)務(wù)成果、戰(zhàn)略、功能和應(yīng)用程序之間建立可追溯性。
●明確哪些功能將留在內(nèi)部、哪些功能可以托管在私有云中以及哪些功能可以托管在公共云中。
●明確哪些應(yīng)用程序完全可以移植到云端、哪些可以針對云進(jìn)行優(yōu)化以及哪些可以針對云原生進(jìn)行重寫。
●專注于將“客戶放在首位”的一系列執(zhí)行。如果貴公司的活動(dòng)不會(huì)提高收入或利潤,就要質(zhì)疑一切。
●采用“混合多云”方法。記住,貴公司追求的是競爭能力,而不是新潮的技術(shù)。
●建立一套強(qiáng)大的敏捷優(yōu)先的工程方法,并適合貴公司。
●倡導(dǎo)持續(xù)創(chuàng)新和試驗(yàn)的文化。
●參與API經(jīng)濟(jì)。
●這個(gè)行業(yè)不乏牛皮大王,我們在經(jīng)歷根本性轉(zhuǎn)變時(shí)更是如此。小心避開他們。成功沒有捷徑可言。
歡迎來到云原生時(shí)代!