為雲而生的「雲原生」,為什麼越來越重要?

2021-01-19 腦極體

IT史上有一個經典故事。那就是在1943年,IBM的董事長老託馬斯·沃森胸有成竹地告訴人們:未來5臺計算機就可以滿足全世界的市場。


現在我們知道,老沃森的預言有一半正在實現。就是世界正在朝著「5臺計算機」的方向演進,當然我們也知道,老沃森只是很認真地認為世界上用到計算機的地方並不太多,而不是預見到雲計算的到來。


現在,雲計算已經無處不在,數字世界成為我們的棲身之所。而近年來,一個名為「雲原生」的概念成為雲計算領域的熱詞。原本企業家們的對話可能是「你的公司業務上雲了嗎?」,而現在很多企業家要改口問下:「你的業務上了『雲原生』了嗎?」


Gartner報告曾指出,到2020年,將有50%的傳統老舊應用被以雲原生化的方式改造,到2022年,將有75%的全球化企業將在生產中使用雲原生的容器化應用。在企業上雲的趨勢下,我們正在看到越來越多的企業和開發者開始把業務與技術向雲原生演進。


那麼,什麼是「雲原生」?為什麼「雲原生」正在變得越來越重要?我們希望通過對「雲原生」概念和其代表的整體技術思路做一次梳理,看下「雲原生」能夠釋放怎樣的技術紅利。


「雲原生」,來自於Cloud Native的直譯(其實叫原生雲更順口),拆開來看,Cloud 就是指其應用軟體是在雲端而非傳統的數據中心。Native代表應用軟體從一開始就是基於雲環境、專門為雲端特性而設計,可充分利用和發揮雲平臺的彈性+分布式優勢,最大化釋放雲計算生產力。


技術永遠走在概念之前,在「雲原生」概念正式提出以前,在企業中就已經有了雲原生的實踐。比如,谷歌在2004年就開始使用了容器技術,2006推出的進程容器(Process Container),就是一種具有「雲原生」特徵的技術實踐。


業界公認的「雲原生」(Cloud Native)概念是Pivotal公司的Matt Stine於2013年首次提出,然後被一直沿用至今並發揚光大。


在Matt那裡,他把雲原生理解為一系列雲計算技術和開發管理方法的合集,包括DevOps、持續交付、微服務(MicroServices)、敏捷基礎設施(Agile Infrastructure)和12要素(The Twelve-Factor App)等等。



所以,雲原生從一開始就不是一項技術或一個產品,而是一種系統化的方法論和技術的集合。只有滿足「上雲」特徵,或者說專門面向「雲」設計的應用,才可以稱之為雲原生應用。

判斷一個應用是否為雲原生應用,就要考察它是否具有「雲」的特性,包括滿足網絡訪問、遠端部署、可擴展彈性伸縮、共享、按需使用自助服務、高可用、可遠程監控計費審計、標準化交付與位置無關等等。嚴格來講,可以用Matt提出的「12要素」來作為判斷雲原生應用的準則,其中最主要可以歸納為以下幾點:


1、彈性:彈性計算正是雲計算的核心特徵,也是雲原生技術中容器的重要特徵。雲原生應用彈性,應該包括應用使用資源的彈性和應用實例彈性擴展的彈性。在單實例擴展資源遭遇瓶頸時,可以配合負載均衡機制實現容器實例的彈性擴展。


2、共享:我們知道雲計算可以分為IaaS、PaaS、SaaS三種類型,分別通過這三種類型實現資源共享、平臺共享、應用共享。而雲原生應用則是部署在IaaS或PaaS層,通過SaaS層提供開放式服務。


3、自治:雲原生應用的交付一定是按照標準交付,可以在雲端任何支持標準的位置部署,這樣就與位置和環境無關,同時構建應用所需要的依賴包、配置文件和後端服務等都是和應用構成一個整體,實現自治管理。使用容器的好處就是可以使得應用以標準化鏡像的方式交付和運行,而用微服務實現雲原生應用,也正是符合這一自治原則的。


4、按需服務:雲應用部署在雲端,客戶可以根據自己的需求,通過網絡訪問,自助使用服務,不需要聯繫雲應用管理人員。通常會有個雲應用服務目錄,每個應用服務都有使用說明,通過服務目錄可以找到適合自己滿足自身需求的應用。


此外,像高可用性、敏捷、可監控審計、可配置等特性也都是雲原生應用的重要特點,但不再贅述。


總之,雲原生正是雲計算區別於傳統IT架構的根本特徵,雲原生應用正在成為雲計算主流的服務形式。企業通過採用基於雲原生的技術和管理方法而生成的應用,就能夠持續地享受到「雲計算」提供的源源不斷地高效服務。


在探討雲原生應用的價值前,我們先簡單了解下雲原生主要使用的技術。



在雲原生概念提出的2013年,Docker也正式發布。Docker的PaaS提供商DotCloud開源的一個基於LXC的高級容器引擎,幫助開發者把應用打包到容器中並進行發布,Docker對於開發者來說,就如同用貨櫃貨輪來運輸貨物一樣,效率又高、(容器如同貨櫃)部署靈活性也比虛擬機更好,一經發布就成為極為流行的開源容器發布工具。


第二年,K8s(kubernetes)項目由google發布。在容器和Docker誕生之後,開發者自然而然需要工具來管理這些容器和容器化引擎。K8s正是用來管理雲平臺中多個主機上的容器化的應用,讓部署容器化的應用簡單和高效。因為K8s也是採用了開源形式,發布之後也大受歡迎。


2015 年,由Google、紅帽、微軟等大型雲計算廠商以及一些開源公司,共同牽頭成立了 CNCF雲原生基金會。CNCF成立之初,就有22個創始會員,K8s成為CNCF託管的第一個開源項目。CNCF的目標就是致力於培育和維護一個廠商中立的開源生態系統,來推廣雲原生技術。


在2018年,CNCF對「雲原生」的定義中,給出其代表性技術,包括容器、服務網格、微服務、不可變基礎設施和聲明式API。在容器技術的普及中,Docker實現了容器的可移植、輕量化、虛擬化,語言無關,大大降低了容器技術的使用門檻,而K8s則相當於安排容器發布的管家,解決了容器編排的全周期管理,就如同貨櫃貨輪上的船長一樣。正是這一特性,K8s也成為了應用上雲的可移植性等問題,被成為雲原生技術的基石。


(K8s架構)


微服務是什麼呢?與微服務相對應的傳統的以系統為單位進行部署的單體架構,與之相比,微服務架構就是以獨立的組件為單位進行部署,是用戶可以感知最小功能集。微服務具有小而專的特性,使得開發、測試、更新效率提高,從而實現敏捷。從功能上看,微服務可以成為Docker的配合搭檔,使得業務流程可以按需編排,實時部署。


服務網格( Service Mesh )是指用以處理服務與服務之間通信的基礎設施層,解決了K8s在微服務的連接、管理和監控方面的短板,為K8s提供更好的應用和服務管理,成為微服務的輔助技術。而不可變基礎設施相比較於之前的可變基礎設施,具有更高的一致性和可靠性,以及更簡單,更可預測的部署過程,成為雲原生應用的運維的可靠基礎架構,而聲明式API這可以理解為是k8s的編碼方式。


這些技術成為目前雲原生應用主要利用的工具。當然,我們也看到雲原生的技術邊界和工具集合是處在不斷變動和更新當中的。基於這些特性和工具的發展,我們看到雲原生應用正在成為網際網路巨頭紛紛布局和轉向的應用方式,也成為眾多中小企業和開發者選擇應用開發的方式。那麼,雲原生技術到底為何越來越重要,雲原生應用正在發揮哪些價值呢?



在回答雲原生的價值之前,我們先來問下,為什麼企業的應用開發要原則上雲,並選擇雲原生技術呢?


而這就涉及到傳統的IT架構方式,將開發、IT運營和質量保障分別設置,各自獨立,開發與運營之間存在著信息「鴻溝」,開發人員希望基礎設施更快響應,運營人員則要求系統的可靠性和安全性,而業務需求則是更快地將更多的特性發布給最終用戶使用。這種被成為「瀑布式流程」的開發模式,一方面造成了開發上下遊的信息不對稱,一方面拉長了開發周期和調整難度。


但是隨著用戶需求的快速增加和產品迭代周期的不斷壓縮,原有的開發流程不再適合現實的需求,這時工程師們引入了一種新的開發模式——敏捷開發。但是,敏捷開發只是解決了軟體開發的效率和版本更新的速度,還沒有和運維打通。



出於協調開發和運維的「信息對稱」問題,開發者又推出了一套新的方法——DevOps,DevOps可以看作是開發、技術運營和質量保障三者的交集,促進之間的溝通、協作與整合,從而提高開發周期和效率。



最終實現的就是「持續交付」,讓軟體產品的產出過程在一個短周期內完成,保證軟體可以穩定、持續的保持在隨時可以發布的狀況。


而雲原生的容器、微服務等技術正是為DevOps提供了很好的前提條件,保證IT軟體開發實現DevOps開發和持續交付的關鍵應用。換句話說,能夠實現DevOps和持續交付,已經成為雲原生技術價值不可分割的內涵部分,這也是無論網際網路巨頭企業,還是眾多中小應用開發公司和個人,越來越多選擇雲原生技術和工具的原因。


基於雲原生技術帶給企業的應用開發的技術價值,直接來說就可以大幅降低企業IT開發和運維的成本,從而又提升企業業務的創新效率和產業價值。


對於外界而言,我們最直觀的感受就是節假日前在12306搶票再也沒有遇到系統崩潰,一些行政網站的體驗也不那麼差了,在購物節的流量高峰時,我們的頁面也很少出現延遲或者刷不出來的情況了,而那些大型的在線直播、遊戲的體驗也很流暢了。而這些有時高達數以億計的高並發流量都得益於雲原生技術的快速彈性擴容來實現。


而對於企業而言,選擇雲原生技術,也就不僅僅是降本增效的考慮,而且還能為企業創造過去難以想像的業務承載量,對於企業業務規模和業務創新來說,雲原生技術都正在成為全新的生產力工具。


過去企業看重的辦公樓、廠房、IT設施等有形資產,其重要性也逐漸被這些雲端數字資產所超越,企業正通過雲原生構建一個完整的數字孿生的新體系,而這才是雲原生技術的真正價值所在。


對於整個雲計算產業的發展本身來說,雲原生區別於早先的虛擬機階段,也完成了一次全新的技術生產力變革,就如同近代能源革命經歷的水、煤、電的變革導致能量釋放的密度和產業規模的數量級躍遷一樣,雲原生也是從雲技術的應用特性和交付架構上進行了創新性的組合,能夠極大地釋放雲計算的生產能力。


此外,雲原生的變革從一開始自然而然地與開源生態走在了一起,也意味著雲原生技術從一開始就選擇了一條「飛輪進化」式的道路,通過技術的易用性和開放性實現快速增長的正向循環,又通過不斷壯大的應用實例來推動了企業業務全面上雲和自身技術版圖的不斷完善。


當然,企業業務的全面雲原生化,並非一蹴而就的,企業業務的技術架構變革仍然要迎接很多的挑戰,比如傳統虛擬機模式下的運維習慣、原有的IT資產切換、人員的思維和管理方式變革等。不過,雲原生所帶來的種種好處,對於企業的未來業務發展的優勢,已經成為眾多企業的新共識。


可以預見,更多企業在經歷了這一輪雲原生的變革之痛後,能夠穿越企業的原有成長周期,跨越到數字經濟的新賽道,更好地活在即將到來的全面雲化的數字時代。

相關焦點

  • 為雲原生而生 DeepFlow破解混合雲時代網絡監控難題
    雲杉網絡研發總監向陽混合雲時代 新型網絡呼喚全新監控模式在傳統IT環境下,網絡監控就在企業中佔有重要地位。企業越來越需要一個更全面的網絡視圖,能夠使用大數據分析和機器學習來收集和關聯來自不同生產環境的數據。
  • 當容器拍了拍存儲,讓你「想用又敢用」雲原生
    在數位化轉型中,雲計算是一個非常重要的工具,是驅動數位化轉型的主要動力。在企業上雲的大趨勢下,業務應用如何更加高效、靈活地使用基礎設施層資源,成為當前越來越多企業的核心訴求,這直接驅動著應用的創建、發布和運行的新變革——容器化。容器化之所以會受到越來越多關注,是因為容器擁有三大法寶,的確能夠幫助用戶消除一些苦惱。
  • 融資首發 | 資本押注云原生資料庫,偶數完成B輪融資
    風起於雲原生資料庫  2020年9月16日,紐交所迎來今年最為重要的IPO之一,Snowflake市值超過700億美元。雲原生資料庫的大紅大紫,早已有跡可循。萬物互聯時代,數據總量爆發式增長。如何存儲和處理海量數據也成為一個亟需解決的問題。因此,資料庫底層技術的變革是大勢所趨。
  • 避免不完全的雲原生(一):雲原生到底意味著什麼?
    在後續的文章中,當我們回顧雲原生的「為什麼」時,我們將對這些目標進行更細的分解,但即使從這個簡單的定義來看,我們也應該清楚,雲原生並不僅僅是指簡單地遷移到一種新類型的基礎設施,其含義要更廣泛。然而,儘管這些目標很正確,但我們很難看到它們被應用於具體的雲原生環境。我們需要做更多的工作來明確雲原生到底是什麼意思。
  • 雲原生架構定義了vRAN的未來
    但是,技術繼續從虛擬化工作負載向容器,雲原生架構和應用程式發展。傳統的無線電接入網絡由天線,基站(基帶單元– BBU)和控制器組成。這使它們成為行動網路中最昂貴的組件。而且,它們還需要專門的硬體和軟體。虛擬化RAN(vRAN)解決方案克服了這些缺點,這就是為什麼它們正在以越來越多的數量替換專有的,基於硬體的無線電接入網絡的原因。
  • 雲原生生態大會Day1,網易數帆揭秘雲原生軟體生產力三重境
    12月16-17日,由CNCF、網易數帆、VMware、PingCAP和阿里雲聯合主辦2020 Cloud Native Day雲原生生態大會線上召開,來自聯合主辦方及字節跳動、Zilliz、百勝中國等公司的17位重磅演講嘉賓,帶來2天主題分享,解析雲原生領軍企業和組織、頭部用戶的雲原生戰略與實踐,剖析雲原生技術帶來的機遇與挑戰,幫助雲原生技術使用者和愛好者加深對技術的理解
  • 對話阿里雲李飛飛:雲原生資料庫的時代來了
    」而在雲生態發展下,「雲原生資料庫」已成為不可逆的趨勢之一。對此,李飛飛解釋道,所謂雲原生,重要有兩大部分:「雲」與「原生」。其中,雲,即用虛擬化的技術實現資源池化。而「資源池化」的定義,可追溯到六十年代的馮·諾依曼架構,因為它奠定了現代計算機體系架構。
  • IBM硬體系統布局混合雲 加速企業容器應用和雲原生
    IBM全球副總裁、大中華區系統部總經理侯淼近期表示,IBM硬體系統將全力投入混合雲平臺,讓雲原生開發者可以全面利用IBM硬體的能力,建立支持今日及未來的IT架構。企業可以將關鍵業務及雲原生業務部署於這些硬體上。」
  • 雲原生時代,容器持久化存儲方案選對了嗎?
    而現在,隨著雲原生對業務創新的影響力持續顯現,越來越多的企業開始將容器應用於生產環境。前者更側重容器本身帶來的便利,而後者需要解決數據持久化存儲等諸多問題。據Gartner預測,到2022年,全球超過75%的組織將在生產環境中運行容器化應用。
  • 七牛雲許式偉做客雲棲大會:杯酒話雲原生,笑談技術派
    為什麼我們把雲原生比作 OS?因為智能機跟功能機時期最大的區別就是作業系統不一樣,所以它是從一個封閉的作業系統轉向開放作業系統的一個關鍵點。這是我認為雲原生帶來的一個比較巨幅的變化,就它是一個從 1.0 到 2.0 的一個變化。阿里雲畢玄:我們一直在一套基礎技術上去構建自己的業務系統。
  • 雲原生:定義軟體產業未來十年,行業發展趨勢前景廣闊
    雲原生:定義軟體產業未來十年 1、前言:為什麼是雲原生 「軟體吞噬世界」已成產業共識,美國在過去十年的發展已經驗證這一點, 無論是美國傳統 IT 廠商如微軟、甲骨文的轉型;還是 SaaS 公司如 Salesforce
  • 三個男人一臺戲,為雲原生應用和OpenShift寫了一本書
    紅帽資深架構師魏新宇(網名大魏)說,「和王洪濤老師、陳耿老師合著的這本新書,定位於快速掌握雲原生依賴的各項知識,它更輕更博,就像戰鬥機裡的F-35。」這幾年,雲原生和OpenShift成為國內越來越火的IT方向與話題。
  • 雲原生時代下的開發變革,騰訊雲Nocalhost讓雲原生開發更簡單
    12月20日,在2020 Techo Park開發者大會 DevOps 分論壇上,騰訊雲CODING DevOps CEO 張海龍對CODING DevOps技術進行解讀,並發布了助力開發者的開源工具 Nocalhost,與行業大咖共同探討雲原生時代下的軟體工程的演進方向,為技術管理者帶來啟發。
  • 雲原生高堂難入?那就讓KubeSphere陪你走
    在雲計算時代,雲原生技術又在重演Java的歷史。怎樣才能最大程度利用雲的能力?避免廠商鎖定又能降低成本?雲原生已經被廣泛證實是最佳路徑。而容器和Kubernetes正是雲原生體系裡的基石。因此,以Kubernetes為代表的開源項目已呈燎原之勢。Kubernetes在雲計算社區中的使用率從2018年的58%上升到2019年的78%。
  • 構築雲原生安全技術底座 綠盟科技發布《雲原生安全技術報告》
    安全問題成為影響雲原生落地的重要因素隨著雲原生越來越多的落地應用,其相關的安全風險與威脅也不斷的顯現出來。Docker/Kubernetes等服務暴露問題、特斯拉Kubernetes集群挖礦事件、Docker Hub中的容器鏡像被「投毒」注入挖礦程序、微軟Azure安全中心檢測到大規模Kubernetes挖礦事件、Graboid蠕蟲挖礦傳播事件等一系列針對雲原生的安全攻擊事件層出不窮。安全問題成為影響雲原生落地的重要顧慮因素。2.
  • 騰訊雲十年新風向:雲原生與開源的未來
    站在前沿技術層面,騰訊的格局和視野越來越大。今天更為強調的微信小程序雲開發、騰訊音視頻、騰訊資料庫、騰訊大數據與AI、騰訊安全等相關領域的技術生態,很大程度上也源自於貫穿騰訊過去十年的關鍵詞——擁抱雲原生與開源。
  • 三大運營商如何玩轉雲原生?|CNBPS 2020演講實錄
    我們後來也分析過,網際網路廠商像阿里、騰訊等,他們為什麼很快就能響應K8s和Docker這種最新技術的,但我們為什麼就走了很長的路才去走到今天這一步。後來發現這種使用場景越來越多,而且在跨數據中心大量傳輸時,會產生很多其他問題。後來我們就想了一個辦法,在北京數據中心建了一個大的鏡像倉庫集群。
  • 進入雲原生、分布式的時代,什麼才是資料庫的正確打開方式
    為什麼要將一個個豎井變成相互貫通的「水池」 李飛飛表示,雲的本質就是利用虛擬化的技術將資源池化,從而進一步實現計算存儲分離和資源解耦。這就像以前家家戶戶打水井,每個水井都獨立的,但今天我們實際上是要把水井底部打通,形成一個暗的池塘,做到資源池化,從而提升資源的使用率。
  • 大咖論道雲原生,七牛雲 Tech Meetup 深圳站啟航
    【天極網IT新聞頻道】11 月 18 日,「七牛雲 Tech Meetup」——雲原生實踐與分享活動在深圳順利落幕。此次活動邀請到七牛雲、CVTE、荔枝、他趣的雲原生實踐先行者,帶來雲原生潮流的最新趨勢和行業應用的最佳實踐。
  • 騰訊云云原生產品矩陣再升級,推出八款雲原生系列產品
    12月19日,在騰訊2020 Techo Park開發者大會上,騰訊雲容器產品總經理鄒輝通過代表性案例剖析,講述了騰訊雲原生路線圖的全面布局,並升級發布了的八款雲原生系列產品。包括開源雲原生開發環境Nocalhost、首款金融級雲原生Serverless消息隊列TDMQ以及國內首款全Serverless雲原生MySQL資料庫TDSQL Serverless等。