中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CNCF官方大使張磊:什么是云原生?

發布時間:2020-06-14 21:30:02 來源:網絡 閱讀:354 作者:阿里系統軟件技術 欄目:云計算

作者|張磊 阿里云容器平臺高級技術專家,CNCF 官方大使

編者說:

從 2015 年 Google 牽頭成立 CNCF 以來,云原生技術開始進入公眾的視線并取得快速的發展,到 2018 年包括 Google、AWS、Azure、Alibaba Cloud 等大型云計算供應商都加入了云原生基金會?CNCF,云原生技術也從原來的應用容器化發展出包括容器、Service Mesh、微服務、不可變基礎設施、Serverless、FaaS 等眾多技術方向,CFCF 旗下也囊括了越來多的開源項目。

Kubernetes 作為 CNCF 的第一個項目從誕生之初就就令人矚目,Kubernetes 由 Google 工程師基于 Google 內部多年集群管理系統 Borg 的設計經驗,結合云計算時代的基礎設施特點重新設計而得,旨在幫助企業解決大規模 IT 基礎設施的應用容器編排難題。Google 在 2014 年 6 月開源?Kubernetes 以后,在 Redhat、Microsoft、Alibaba 等廠商和眾多開源愛好者共同的努力下,成長為如今容器編排領域的事實標準,極大的推動了云原生領域的發展。

在系統介紹什么是云原生,云原生對開發者來說意味著什么,我們先從云原生技術發展簡史開始講起。

云原生技術發展簡史

CNCF官方大使張磊:什么是云原生?cdn.com/1984634253ecef3ab2c930a97067b211b0c666e0.png">

  • 2004?年— 2007?年,Google 已在內部大規模地使用像 Cgroups?這樣的容器技術;
  • 2008?年,Google?將 Cgroups?合并進入了?Linux?內核主干;
  • 2013?年,Docker?項目正式發布。
  • 2014?年,Kubernetes?項目也正式發布。這樣的原因也非常容易理解,因為有了容器和?Docker?之后,就需要有一種方式去幫助大家方便、快速、優雅地管理這些容器,這就是?Kubernetes?項目的初衷。在?Google?和?Redhat?發布了?Kubernetes?之后,這個項目的發展速度非常之快。
  • 2015?年,由Google、Redhat?以及微軟等大型云計算廠商以及一些開源公司共同牽頭成立了?CNCF?云原生基金會。CNCF 成立之初,就有?22?個創始會員,而且?Kubernetes?也成為了?CNCF?托管的第一個開源項目。在這之后,CNCF?的發展速度非常迅猛;
  • 2017?年,CNCF 達到?170?個成員和?14?個基金項目;
  • 2018?年,CNCF?成立三周年有了?195?個成員,19?個基金會項目和?11?個孵化項目,如此之快的發展速度在整個云計算領域都是非常罕見的。

云原生技術生態現狀

因此,如今我們所討論的云原生技術生態是一個龐大的技術集合。CNCF?有一張云原生全景圖(https://github.com/cncf/landscape),在這個全景圖里已經有?200?多個項目和產品了,這些項目和產品也都是和?CNCF?的觀點所契合的。

CNCF官方大使張磊:什么是云原生?

所以,如果以這張全景圖作為背景,加以思考就會發現,我們今天所討論的云原生其實主要談論了以下幾點:

  1. 云原生基金會?—— CNCF;

CNCF (云原生基金會)是目前云計算領域最成功的
開源基金會之一,是 Kubernetes,containerd,etcd
,Envoy 等知名開源項目的托管基金會

  1. 云原生技術社區

CNCF 目前托管的 20 + 正式項目共同構成了現代云
計算生態的基石。其中 Kubernetes 項目是全世界第
四活躍的開源項目

  1. 云原生技術產業

除了前面兩點之外,現在全球各大公有云廠商都已經支持了?Kubernetes。此外,還有?100?多家技術創業公司也在持續地進行投入,總體市場于2021年逼近 1000 億美元。現在阿里巴巴也在全面上云,而且上云就要上云原生,這也是各大技術公司擁抱云原生的一個例子。

我們正處于時代的關鍵節點

CNCF官方大使張磊:什么是云原生?
2019?年正是云原生時代的關鍵節點,為什么這么說?我們這里就為大家簡單梳理一下。

從?2013?年?Docker?項目發布開始說起,Docker?項目的發布使得全操作系統語義的沙盒技術唾手可得,使得用戶能夠更好地、更完整地打包自己的應用,使得開發者可以輕而易舉的獲得了一個應用的最小可運行單位,而不需要依賴任何 PaaS 能力。這對經典?PaaS?產業其實是一個“降維打擊”。

2014?年的時候,Kubernetes?項目發布,其意義在于?Google?將內部的?Borg/Omega?系統思想借助開源社區實現了“重生”,并且提出了“容器設計模式”的思想。而?Google?之所以選擇間接開源?Kubernetes?而不是直接開源?Borg?項目,其實背后的原因也比較容易理解:Borg/Omega?這樣的系統太復雜了,是沒辦法提供給?Google?之外的人使用,但是?Borg/Omega?這樣的設計思想卻可以借助?Kubernetes?讓大家接觸到,這也是開源?Kubernetes?的重要背景。

這樣到了?2015?年到?2016?年,就到了容器編排“三國爭霸”的時代,當時?Docker、Swarm、Mesos、Kubernetes?都在容器編排領域展開角逐,他們競爭的原因其實也比較容易理解, 那就是?Docker?或者容器本身的價值雖然大,但是如果想要讓其產生商業價值或者說對云的價值,那么就一定需要在編排上面占據一個有利的位置。

Swarm?和?Mesos?的特點,那就是各自只在生態和技術方面比較強,其中,Swarm?更偏向于生態,而?Mesos?技術更強一些。相比之下, Kubernetes?則兼具了兩者優勢,最終在 2017?年“三國爭霸”的局面中得以勝出,成為了當時直到現在的容器編排標準。這一過程的代表性事件就是?Docker?公司宣布在核心產品中內置了?Kubernetes?服務,并且?Swarm?項目逐漸停止維護。

到了?2018?年的時候,云原生技術理念開始逐漸萌芽,這是因為此時?Kubernetes?以及容器都成為了云廠商的既定標準,以“云”為核心的軟件研發思想逐步形成。

而到了?2019?年,情況似乎又將發生一些變化。

CNCF官方大使張磊:什么是云原生?

什么是“云原生”?云原生該怎么落地?

云原生的定義

CNCF官方大使張磊:什么是云原生?

很多人都會問“到底什么是云原生?”

實際上,云原生是一條最佳路徑或者最佳實踐。更詳細的說,云原生為用戶指定了一條低心智負擔的、敏捷的、能夠以可擴展、可復制的方式最大化地利用云的能力、發揮云的價值的最佳路徑。

因此,云原生其實是一套指導進行軟件架構設計的思想。按照這樣的思想而設計出來的軟件:首先,天然就“生在云上,長在云上”;其次,能夠最大化地發揮云的能力,使得我們開發的軟件和“云”能夠天然地集成在一起,發揮出“云”的最大價值。

所以,云原生的最大價值和愿景,就是認為未來的軟件,會從誕生起就生長在云上,并且遵循一種新的軟件開發、發布和運維模式,從而使得軟件能夠最大化地發揮云的能力。說到了這里,大家可以思考一下為什么容器技術具有革命性?

其實,容器技術和集裝箱技術的革命性非常類似,即:容器技術使得應用具有了一種“自包含”的定義方式。所以,這樣的應用才能以敏捷的、以可擴展可復制的方式發布在云上,發揮出云的能力。這也就是容器技術對云發揮出的革命性影響所在,所以說,容器技術正是云原生技術的核心底盤。

云原生的技術范疇

CNCF官方大使張磊:什么是云原生?

云原生的技術范疇包括了以下幾個方面:

  • 第一部分是云應用定義與開發流程。這包括應用定義與鏡像制作、配置?CI/CD、消息和?Streaming?以及數據庫等。
  • 第二部分是云應用的編排與管理流程。這也是?Kubernetes?比較關注的一部分,包括了應用編排與調度、服務發現治理、遠程調用、API?網關以及?Service Mesh。
  • 第三部分是監控與可觀測性。這部分所強調的是云上應用如何進行監控、日志收集、Tracing?以及在云上如何實現破壞性測試,也就是混沌工程的概念。
  • 第四部分就是云原生的底層技術,比如容器運行時、云原生存儲技術、云原生網絡技術等。
  • 第五部分是云原生工具集,在前面的這些核心技術點之上,還有很多配套的生態或者周邊的工具需要使用,比如流程自動化與配置管理、容器鏡像倉庫、云原生安全技術以及云端密碼管理等。
  • 最后則是?Serverless。Serverless?是一種?PaaS?的特殊形態,它定義了一種更為“極端抽象”的應用編寫方式,包含了?FaaS?和 BaaS?這樣的概念。而無論是?FaaS?還是?BaaS,其最為典型的特點就是按實際使用計費(Pay as you go),因此?Serverless?計費也是重要的知識和概念。

云原生思想的兩個理論

CNCF官方大使張磊:什么是云原生?

在了解完云原生的技術范疇之后你就會發現,其所包含的技術內容還是很多的,但是這些內容的技術本質卻是類似的。云原生技術的本質是兩個理論基礎。

  • 第一個理論基礎是:不可變基礎設施。這一點目前是通過容器鏡像來實現的,其含義就是應用的基礎設施應該是不可變的,是一個自包含、自描述可以完全在不同環境中遷移的東西;
  • 第二個理論基礎就是:云應用編排理論。當前的實現方式就是?Google?所提出來的“容器設計模式”,這也是 Kubernetes?部分文章中所需主要講述的內容。

基礎設施向云演進的過程

CNCF官方大使張磊:什么是云原生?

首先為大家介紹一下“不可變基礎設施”的概念。其實,應用所依賴的基礎設施也在經歷一個向云演進的過程,舉例而言,對于傳統的應用基礎設施而言,其實往往是可變的。

大家可能經常會干這樣一件事情,比如需要發布或者更新一個軟件,那么流程大致是這樣的,先通過?SSH?連到服務器,然后手動升級或者降級軟件包,逐個調整服務器上的配置文件,并且將新代碼直接都部署到現有服務器上。因此,這套基礎設施會不斷地被調整和修改。

但是在云上,對“云”友好的應用基礎設施是不可變的。

這種場景下的上述更新過程會這么做:一旦應用部署完成之后,那么這套應用基礎設施就不會再修改了。如果需要更新,那么需要現更改公共鏡像來構建新服務直接替換舊服務。而我們之所以能夠實現直接替換,就是因為容器提供了自包含的環境(包含應用運行所需的所有依賴)。所以對于應用而言,完全不需要關心容器發生了什么變化,只需要把容器鏡像本身修改掉就可以了。因此,對于云友好的基礎設施是隨時可以替換和更換的,這就是因為容器具有敏捷和一致性的能力,也就是云時代的應用基礎設施。

所以,總結而言,云時代的基礎設施就像是可以替代的“牲口”,可以隨時替換;而傳統的基礎設施則是獨一無二的“寵物”,需要細心呵護,這就體現出了云時代不可變基礎設施的優點。

基礎設施向云演進的意義

CNCF官方大使張磊:什么是云原生?

所以,像這樣的基礎設施向“不可變”演進的過程,為我們提供了兩個非常重要的優點。

    1. 基礎設施的一致性和可靠性。同樣一個鏡像,無論是在美國打開,在中國打開,還是在印度打開都是一樣的。并且其中的?OS?環境對于應用而言都是一致的。而對于應用而言,它就不需要關心容器跑在哪里,這就是基礎設施一致性非常重要的一個特征。
    1. 這樣的鏡像本身就是自包含的,其包含了應用運行所需要的所有依賴,因此也可以漂移到云上的任何一個位置。

此外,云原生的基礎設施還提供了簡單、可預測的部署和運維能力。由于現在有了鏡像,應用還是自描述的,通過鏡像運行起來的整個容器其實可以像?Kubernetes?的?Operator?技術一樣將其做成自運維的,所以整個應用本身都是自包含的行為,使得其能夠遷移到云上任何一個位置。這也使得整個流程的自動化變得非常容易。

應用本身也可以更好地擴容,從?1?個實例變成?100?個實例,進而變成?1?萬個實例,這個過程對于容器化后的應用沒有任何特殊的。最后,我們這時也能夠通過不可變的基礎設施來地快速周圍的管控系統和支撐組件。因為,這些組件本身也是容器化的,是符合不可變基礎設施這樣一套理論的組件。

以上就是不可變基礎設施為用戶帶來的最大的優點。

2019?年——云原生技術普及元年

為什么說?2019?年很可能是一個關鍵節點呢?我們認為?2019?年是云原生技術的普及元年。

首先大家可以看到,在?2019?年,阿里巴巴宣布要全面上云,而且“上云就要上云原生”。我們還可以看到,以“云”為核心的軟件研發思想,正逐步成為所有開發者的默認選項。像?Kubernetes?等云原生技術正在成為技術人員的必修課,大量的工作崗位正在涌現出來。

這種背景下,“會?Kubernetes”已經遠遠不夠了,“懂?Kubernetes”、“會云原生架構”的重要性正日益凸顯出來。 從?2019?年開始,云原生技術將會大規模普及,這也是為什么大家都要在這個時間點上學習和投資云原生技術的重要原因。

CNCF官方大使張磊:什么是云原生?

阿里云和 CNCF 聯合發布了《云原生技術公開課》,希望通過 29 節課程設置讓開發者對云原生有全局的認知。

阿里巴巴云原生微信公眾號(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術公眾號。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金阳县| 龙南县| 丰县| 枞阳县| 平和县| 青神县| 甘谷县| 隆德县| 呈贡县| 尉氏县| 天祝| 思南县| 焦作市| 伊金霍洛旗| 商都县| 科尔| 周口市| 岳普湖县| 信阳市| 苍溪县| 宁强县| 金昌市| 睢宁县| 广东省| 贵阳市| 洪雅县| 宜州市| 红原县| 禹州市| 安远县| 石景山区| 清苑县| 类乌齐县| 开江县| 临海市| 锡林浩特市| 巴林右旗| 永寿县| 石棉县| 林西县| 北碚区|