為何雲原生在吞噬世界?

長話短說,本文的目的是幫助你瞭解雲原生的功能及帶來的業務效益,並探討準備遷移到這種新型計算模式的企業面臨的種種選擇和陷阱。


“計算機革命已過去了60年,離微處理器的發明已有40年,現代互聯網興起至今已有20年,通過軟件改變各行各業所需的所有技術終於切實可行,可以在全球範圍內廣泛提供。

在後端,有了軟件編程工具和基於互聯網的服務,很容易在許多行業新創辦軟件驅動的全球性初創公司,無需投資興建新的基礎架構、無需培訓新員工。2000年,我的合夥人Ben Horowitz還是第一家雲計算公司Loudcloud的首席執行官時,客戶運行基本的互聯網應用軟件所需費用為每月約15萬美元。如今在亞馬遜雲端運行同樣這個應用軟件,每月費用僅為約1500美元。”

因此,Marc Andreessen在其2011年發表的知名文章中恰如其名地取名為《為何軟件在吞噬世界?》。

自2011年以來,幾個方面已取得了一些進展,“軟件”帶來了前所未有的可能性。雲不再是個流行語。AI/機器學習已成為主流。敏捷和開發運維(DevOps)對我們而言不再陌生。甚至出現了零運維/無運維(ZeroOps/NoOps)。區塊鏈/去中心化計算並不適合所有人。每個人都為量子計算而感到興奮。

當今技術更值得關注的方面之一是,“雲原生”技術迅猛發展。據云原生計算基金會聲稱,“雲原生技術使企業組織能夠在現代動態環境(比如公共雲、私有云和混合雲)中構建和運行可擴展的應用程序。容器、服務網格、微服務、不可變的基礎架構和聲明性API就是這種方法的體現。”使用雲原生的公司越來越多,這不僅是計算機界的一次重大的根本性轉變,也是整個世界的一次重大的根本性轉變。

許多新的顛覆性公司(比如Go-Jek、字節跳動和Grab)以及大名鼎鼎且經常被舉例的公司(比如Facebook、谷歌、優步和愛彼迎等)都充分表明了這一點:正是由於採用雲原生方法,可以迅速構建可靈活擴展,服務於全球數十億客戶的平臺。

技術近期發展史

深入探究構成雲原生的功能之前,簡單回顧一下近期技術的發展史很有必要。

AWS於2009年3月9日問世,它來源於一個自然而合理的想法:靠亞馬遜行之有效地管理基礎架構的核心優勢來賺取收入。公共雲現在是一個產值1800億美元(截至2018年)的行業,預計到2022年將增長到3310億美元。雲已從早期提供存儲和計算機等資源,發展成為一種可靠的替代方案(傳統方案是擁有和運行自己的基礎架構),以開發功能強大的數字化應用軟件。還有另外幾種強大的技術,比如容器、API和微服務等,當它們與AWS率先倡導的彈性基礎架構結合使用時,更廣泛的術語“雲原生”(Cloud-Native)由此形成。

在提到雲計算行業的同時,我們需要追溯對客戶期望產生深遠影響的另一場革命。iPhone在2007年1月9日面市,標誌著客戶期望方面出現了重大變化。客戶被新的數字化服務所淹沒,最先是社交網絡,這種網絡隨時在線,其大多數功能作為自助式服務來交付,提供令人愉悅的客戶體驗。爭奪客戶並將網絡擴展到數十億客戶的規模,導致了硅谷的技術巨頭們展開一場軍備競賽,這意味著旨在開發“數字化優化”應用程序的技術層出不窮。你可以在此處瞭解這些技術。

這裡值得一提的另一點是,通過向開源社區貢獻功能強大的軟件組件,像谷歌、奈飛、優步和Spotify這些互聯網時代崛起的企業組織一直在以零成本或極低的成本增強雲原生計算的功能,這與採用許可模式的同行形成了對照。這些功能由才華橫溢的工程師組成的社區開發,常常得到科技巨頭的支持(比如,用於編排和管理容器的軟件Kubernetes已由谷歌開源),它們定義了“可能的藝術”(Art of Possible)。

為何雲原生在吞噬世界?

雲原生公司的七大功能

雲原生計算不僅是一系列技術功能,還代表了構建數字化優先應用程序的一種新模式。想了解雲原生,需要更仔細地分析定義當今高效的雲原生公司的七大功能。

  • 平臺――雖然平臺本身不是軟件工程界的新事物,但這更多地侷限於產品供應商,而不是企業。比如在銀行,貸款業務可能不被認為是一個平臺,而是集合了執行一系列業務功能的數百個應用程序、幾個本地開發的應用程序和幾個商用現成(COTS)應用程序。平臺方法意味著業務功能被視為提供一組功能的產品。這與傳統IT應用程序的構建方式相比是一大轉變。
  • 容器――正如當初定義運貨集裝箱的標準尺寸以及圍繞集裝箱處理而建的工具生態系統促進了全球貿易迎來大幅增長,容器的引入也給軟件工程界帶來了一場革命。容器可以追溯到Linux操作系統,總部位於硅谷的Docker公司讓容器流行了起來。隨之出現的生態系統涵蓋眾多工具,它們作為微服務而開發,作為API來公佈(比如客戶事務查詢),以便在特定的時間處理峰值負載。Kubernetes就是一種代表性的工具,它提供了管理和編排容器的功能,這意味著公司企業可以向內或向外擴展某項特定功能。
  • API(應用編程接口)和微服務。API將功能作為貴企業的菜單卡來提供。在雲原生界,API好比是貴企業的門戶。API抽取了應用程序所有的底層複雜性,提供了更簡單且易於理解的合約,以便精通技術的業務用戶和開發人員瞭解和開發功能強大的應用程序。貴企業需要從頭開始構建一切的日子已經一去不復返。API利用一系列內部和第三方的API組合成功能強大的應用程序。如果說數字化經濟好比是國家,那麼API就是你的護照。微服務――微服務定義了貴企業中獨立業務功能的最小單位。通過將整個企業分解成較小的微服務,雲原生企業可以迅速行動:無論從可擴展性的角度來看,還是從採用多種編程語言的自由度這個角度來看,這在以前是不可能做到的(比如面向數據科學的Python、面向並行處理的Golang以向面向業務應用軟件的Java等)。
為何雲原生在吞噬世界?

  • 智能決策――數據有好多個稱謂:比如石油、黃金和氧氣。雲原生技術對企業組織利用數據的方式產生了深遠的影響。我們擁有Kafka等功能非常強大的平臺,能夠以非常快的速度處理來自外界(眾多設備、社交媒體和合作夥伴組織等)的大量數據,發送到可以在一段時間內學習並獲取洞察力的AI/機器學習平臺。簡而言之,現在我們正進入到這樣一個時代:需要人來干預才能進行解讀和採取行動的決策已變得自動化。這就意味著雲原生組織天生比傳統組織更智能化,並不斷學習。
  • 創新文化――說到進度方面,完美是優秀的敵人。創新不是雲原生組織的流行語,而是組織文化的一個固有部分。雖然企業面臨老牌品牌的負擔,並擔心打破常規、失去客戶信任,現代企業專注於將持續試驗作為一種創新的手段,並將創新的顛覆性技術提供給客戶。
  • 敏捷文化雲原生應用程序常常由在同一地方工作(或奉行無縫協作文化)的敏捷團隊來構建。敏捷的軟件開發方式取得了一些進步,尤其來自Spotify及其他硅谷公司,它們打造了一種對功能特性進行創新、試驗以及持續集成和持續交付(CI/CD)的文化,這種文化已深入到工程原則的精髓。這些團隊全面負責從開發到部署的整個過程,通過先進的DevOps技術使軟件開發生命週期(SDLC)流程幾乎完全實現自動化,並常常通過任務的遊戲化來汲取靈感。
  • 通過充分利用雲基礎架構的彈性特性來提供存儲和計算資源,實現軟件定義的基礎架構。現在,數字化優化的公司大有機會構建功能的強大應用程序,而這些應用程序的構建和運營成本與以前相比大幅降低。

整體上來看,上述功能及其採用的程度代表著雲原生商(CNQ),CNQ代表企業組織在現代化過程中所處的階段。

藉助更高的CNQ和先進的技術(比如事件處理、AI/機器學習驅動的數據處理以獲取洞察力),雲原生組織常常以幾年前無法想象的速度運作。這從我們每年看到的獨角獸(估值超過10億美元的初創公司)數量中可見一斑。總之,如果你在打造一家現代企業,雲原生技術將為你提供速度這個核心優勢。

憑藉速度,雲原生組織一直在搶佔屬於傳統企業堡壘的地盤。“從早期階段到獨角獸”的時間越來越短就充分體現了這一點。這些雲原生的科技初創公司已成功地從許多國家的傳統老牌巨頭搶過很大的份額,比如中國的百度、騰訊和阿里巴巴,韓國的Kakao,印度的Flipkart、PayTM和Ola,印度尼西亞的Go-Jek,這樣的例子在許多發展中國家比比皆是。在西方國家,這種情況不太普遍,但是客戶早晚會移情別戀。

為何雲原生在吞噬世界?

傳統企業與雲原生企業的速度差異

由於客戶比以往任何時候更願意嘗試,並可能從新時代進入者轉向更新穎的產品,企業的運營速度決定了它能否繼續吸引客戶群並蓬勃發展。當初因可預測性和穩定性而備受喜愛的那些企業現在被迫擯棄對這些優點的熱情,需要與新時代以速度見長的後起之秀相匹敵或競爭。對速度的渴求無比迫切。

通過雲原生計算獲得速度的旅程並非沒有陷阱。在開始邁上獲得速度的旅程之前,企業需要考慮清楚幾個關鍵的方面。

將應用程序重寫為原生雲的成本仍然很高,這方面的風險可能無法證明有必要搞原生雲。同樣,在金融服務、保險和醫療保健等受監管行業,監管機構常常對所有數據移至雲端惴惴不安。原因不一,有的是缺少了解雲原生技術的工作人員,有的是對雲服務提供商(CSP)保護客戶數據的能力有所擔憂。

由於雲服務提供商市場快速整合,企業將面臨少數幾個選擇:AWS、Azure、GCP(開源替代技術OpenStack尚未達到臨界規模),這些CSP可能會成為“重要的外包商”,它們控制著企業組織的關鍵功能。

此外,萬一出現安全洩密,大量客戶數據集中在個別幾家CSP可能意味著災難,不過客戶數據放在CSP處比放在本地數據中心來得更安全這種觀點有其道理。還有一些隱私方面的顧慮:CSP會不會分析海量數據以牟取私利(還記得Cambridge Analytica嗎?)。雖然有一些令人滿意的技術方案:從強加密到分片(將數據分成多個塊並存儲在CSP許多不同地區的方法),但監管部門對此卻仍有所擔憂,對金融服務、保險和醫療保健這些處理敏感客戶數據的行業來說尤為如此。

為了解決上述問題,幾家高瞻遠矚的企業組織正在採用一種兼顧的“混合多雲”方法:將關鍵應用程序留在內部,將AWS用於一組功能,而將Azure和GCP用於另外幾組功能。應用程序的容器化是這個方法的核心,谷歌Anthos就是一個典例,它表明了本地環境、私有云和公共雲可以無縫共存。

從技術角度來看,企業在採用雲原生計算時主要有三個選擇

  • 將所有內容重寫成雲原生――這個選擇成本高昂但回報豐厚。雖然雲原生的好處很誘人,但對於僅在威斯康星州運營,投入成本以構建有助於在全球範圍內擴展的功能的銀行來說,這可能不明智。相反,關注雲原生功能以擴大其市場範圍,這方面倒是有幾個機會。新市場和新客戶群意味著現金充裕的企業組織可以追逐新的利潤池。
  • 針對雲進行優化――這個選擇需要更改應用程序的某些部分,比如它使用的存儲、進行少量更改以採用微服務以及將功能作為API來提供,從而充分利用與眾多SaaS提供商和合作夥伴進行協作的機會。大多數企業選擇了這條路。雖然這可能不像原生雲方案那樣完全有效,但它提供了開始的契機。
  • 將應用程序原封不動地遷移到雲――這種選擇最省事,企業可以將應用程序遷移到雲,無需在利用彈性基礎架構功能方面作任何改變。對於不太關鍵的應用程序、COTS應用程序和不再積極開發的老式應用程序而言,這不失為一個選擇。

向雲原生轉變有好幾條路,技術、架構和流程方面有幾個選擇。很顯然,這是重要的旅程,需要引起CEO的注意。雲原生計算不再是可以單單交給IT團隊就行的方案,因為它帶來了關鍵的業務功能和急需的速度,以便在瞬息萬變的世界保持重要性和競爭力。

許多企業採取自下而上的以應用程序為中心的短期方法,從長遠來看,這可能造成更大的危害,因為雲原生行業一直在發展變化,過去很強大的功能可能在明天變得完全無關緊要。因此,在公司旨在實現的成果、一系列業務戰略、旨在執行這些戰略的功能、為交付這些功能而構建的應用程序以及一直在交付服務的流程之間建立可追溯性就顯得至關重要。

最後,採用雲原生計算的10條戒律

為何雲原生在吞噬世界?

  • 如果貴公司的性質不希望你成為谷歌,無需成為谷歌。切莫過於複雜。
  • 在業務成果、戰略、功能和應用程序之間建立可追溯性。
  • 明確哪些功能將留在內部、哪些功能可以託管在私有云中以及哪些功能可以託管在公共雲中。
  • 明確哪些應用程序完全可以移植到雲端、哪些可以針對雲進行優化以及哪些可以針對雲原生進行重寫。
  • 專注於將“客戶放在首位”的一系列執行。如果貴公司的活動不會提高收入或利潤,就要質疑一切。
  • 採用“混合多雲”方法。記住,貴公司追求的是競爭能力,而不是新潮的技術。
  • 建立一套強大的敏捷優先的工程方法,並適合貴公司。
  • 倡導持續創新和試驗的文化。
  • 參與API經濟。
  • 這個行業不乏牛皮大王,我們在經歷根本性轉變時更是如此。小心避開他們。成功沒有捷徑可言。


分享到:


相關文章: