雲原生、微服務、容器、DevOps概念掃盲,資深技術人員請迴避!

2020-12-17 科技無憂

隨著企業數據量持續增長、業務系統日趨複雜、市場競爭日趨激烈,用戶需求需要得到越來越及時的響應,用戶服務需要不間斷地進行。但採用的傳統的雲計算服務模式,即按照傳統模式開發業務系統然後部署到雲上,會使得雲計算按需定製、彈性伸縮等優勢難以充分發揮。為解決以上問題,「雲原生」就此誕生。

雲原生是指專門為在雲平臺部署和運行而設計的應用及架構,包括十二項基本要素,分別是:

1.同一應用對應同一套基準代碼,並能多次部署;

2.顯式聲明第三方依賴;

3.將配置存儲至環境變量;

4.將後端服務作為鬆耦合的資源;

5.嚴格分離構建階段與運行階段;

6.將應用作為無狀態的進程運行;

7.通過埠綁定對外發布服務;

8.能夠通過水平伸縮應用程式進程來實現並發;

9.可以快速啟動和關閉應用;

10.要保持開發環境與生產環境等價;

11.使用事件流處理日誌;

12.將後臺管理任務當做一次性進程運行。

更具體來說,雲原生涉及一系列技術,典型技術包括以Docker和Kubernetes編排工具為主的容器技術、以Service Mesh為發展方向的微服務技術,以及以快速迭代、持續交付為目的的DevOps(開發運維一體化)技術。

關於容器技術。

容器是指將應用程式及其環境一起打包作為交付物,該交付物可以隨時構建、裝載、運行。由於其它類型容器(如RKT)市場佔比較低,容器一般指Docker。

容器編排工具是指讓集群中的多個容器能夠按計劃、有組織運行的工具。Kubernetes作為CNCF孵化項目,相比Mesos和Swarm已經呈現出十分明顯的優勢。

傳統虛擬機包含完整的作業系統,一旦開啟即對硬體資源的一部分獨佔。容器引擎只是一個隔離的進程,對資源並不獨佔,因此是一種更輕量的虛擬化。這使得容器在文件體積、啟動速度、佔用資源和開啟數量上都具有明顯優勢。

容器將依賴環境一起打包,因而屏蔽了開發、測試和運行環境的差異,再加上秒啟、可多開的特性,使得微服務和DevOps均得以實現。所以可以說,容器技術是雲原生的最佳載體,成為雲原生的基石

關於微服務。

採用化整為零的概念,將複雜的IT系統部署,通過功能化、原子化分解,形成一種鬆散耦合的組件,讓其更容易升級和擴展。

每個應用組件將其自身功能以服務的形式展現出來,並按照預先定義的協議進行交互,各個服務組件之間是鬆耦合的。

某個應用組件的程式語言與技術選型不會影響主體應用,如某個服務組件可以用Java 開發,而另一個可以用.NET開發。

每個服務組件都可以享有自己的資料庫,且該資料庫僅供該服務組件自己使用,其他服務組件都不能讀取或者修改。

每個服務組件都是可以自行部署和測試的,任何一個服務組件在測試、部署和運行的時候都不依賴其他服務組件。

任何一個服務組件的故障都應該是隔離的,單個服務組件的故障不應該拖垮整個應用,也不應該影響其他服務組件。

微服務是雲原生的實現方式,不僅涉及技術架構,還涉及業務怎麼劃分以及組織如何管理,如不同步規劃將無法發揮其價值。

關於DevOps。

隨著企業IT系統越來越複雜,功能迭代、局部升級、A/B Test甚至版本回滾成為常態,這都對開發、運維模式提出了新挑戰,DevOps應運而生。

DevOps即開發運維一體化,是敏捷開發的繼承和發展,目的是持續集成、持續交付,貫穿於開發到上線的始終。

DevOps因Docker的使用而更加簡單,所以完整的DevOps體系中會包含Docker、Kubernetes等工具。

DevOps和微服務很多技術都是重合的,但兩者的關注點並不同,微服務幫助我們以一種細顆粒度的方式開發、測試和發布服務,而DevOps提倡小規模和小批量的持續集成和持續部署,兩者相輔相成的,共同解決問題;

DevOps進一步增強了雲原生的敏捷特性,但其同樣對企業內部的業務職責劃分和組織架構調整提出了要求。

總結一下,容器+微服務+DevOps是實現雲原生的最佳組合,但只有容器是一種比較明確的技術,而微服務和DevOps更像是一種方法論,僅僅有技術層面的配合是遠遠不夠的,還需要有組織架構層面以及管理流程層面的共同配合才能發揮作用。

創作不易,歡迎朋友們關注、評論、轉發。如企業轉載或其它,請聯繫:keji5u(科技無憂訂閱號)

相關焦點

  • IBM硬體系統布局混合雲 加速企業容器應用和雲原生
    在混合雲環境下,微服務管理也相對複雜,微服務通常採用容器技術實現,對於企業而言,必須要考慮容器如何在自己的雲環境中具有便攜性、可移動,還要制訂更好的策略以管理這些微服務,這對企業也是個挑戰。另外,一旦被某家雲服務商鎖定,企業很難快速、高效地完成雲遷移。
  • 別再雲裡霧裡,或許我們可以這樣理解雲原生
    因此,雲原生一種構建和運行應用程式的技術體系和方法論,這套技術體系從設計之初即考慮到雲的環境,充分利用和發揮雲平臺的彈性和分布式優勢。華為曾對符合雲原生架構的應用程式如是描述:採用開源堆棧(K8S+Docker)進行容器化,基於微服務架構提高靈活性和可維護性,藉助敏捷方法、DevOps支持持續迭代和運維自動化,利用雲平臺設施實現彈性伸縮、動態調度、優化資源利用率。
  • 雲原生技術的初學者指引
    當我們初接觸雲原生技術時,可能會覺得它有些複雜和混亂。不過,我們可以先來了解一個開放,活力的軟體社區,即雲原生計算基金會(CNCF)。它為數不清的雲原生技術項目提供了持續不斷的支持和貢獻。而且,CNCF有一張涵蓋了全部雲原生解決方案的全景圖,許多耳熟能詳的項目方案都包括在這張圖內。
  • 雲原生生態大會Day1,網易數帆揭秘雲原生軟體生產力三重境
    、頭部用戶的雲原生戰略與實踐,剖析雲原生技術帶來的機遇與挑戰,幫助雲原生技術使用者和愛好者加深對技術的理解,同時推進雲原生與企業IT的融合。陳諤指出,分而治之是最符合直覺的解決辦法,當時微服務架構也已被提出,但拆分後的技術複雜性是不可忽略的因素,需要和迭代效率放在一起來權衡。 而雲計算的出現首先解決了碎片化的計算資源獲取問題,剩下的就基於雲計算提供一個技術棧來應對微服務架構的複雜性。
  • 眾安保險CTO康德勝 首次全景展示眾安保險雲原生之旅
    雲原生以容器、聲明式API、Serverless、服務網絡、不可變基礎設施為代表技術,致力於構建容錯性好、易於管理和便於觀察的鬆耦合系統,結合自動化手段,使系統隨時處於發布狀態。從技術角度來看,雲原生架構旨在將雲應用中的非業務代碼部分進行最大化剝離,讓雲設施接管應用中原有的大量非功能特性,使業務不再有非功能性業務中斷困擾的同時,具備輕量、敏捷、高度自動化的特性。
  • 構建雲原生架構版圖:安信證券服務化平臺實踐
    隨著敏態業務的逐漸增多,對業務連續性、交付效率和故障處理效率等方面提出了更多的挑戰,安信證券服務化平臺實踐,以賦能業務為中心,積極擁抱微服務、容器和雲原生等新興技術來解決業務系統研發過程中的實際問題。 容器技術與雲原生 當前,基礎設施雲化已經成為最熱門的演進方向,微服務落地的最佳載體是以容器和 Kubernetes 容器編排引擎為基礎,為拆分後的服務提供彈性伸縮、資源調度等一系列標準化和自動化的能力。
  • 從技術視角看考拉海購的雲原生之路
    雲產品接入雲原生產品定義雲原生本質上是一套技術體系和方法論。隨著容器技術、可持續交付、編排系統等技術的發展,同時在開源社區、分布式微服務等理念的帶動下,應用上雲已經是不可逆轉的趨勢。真正的雲化不僅僅是基礎設施和平臺的變化,應用本身也需要做出改變。在架構設計、開發方式、應用運維等各個階段基於雲的特點,面向開源和標準化,建設全新的雲化的應用,即雲原生應用。
  • 才雲Caicloud 步履不停,與雲原生先行者攜手同行
    這會導致容器部署拖沓、複雜; 很多企業對於雲原生技術利用不充分,導致容器技術大材小用。很多企業僅僅利用雲原生搭建所謂新一代的網站平臺、網站託管平臺。由於企業使用開源技術的局限,導致容器只能運行一些企業邊緣化業務; 很多企業對於雲原生是否能適應,如數據分析、機器學習和 AI 等新興軟體開發,或解決這一類新業務場景中的一些痛點存在困惑,亟需指引。
  • 什麼是雲原生應用 有哪些關鍵點?
    雲並非把原先在物理伺服器上跑的東西放到虛擬機裡跑,真正的雲化不僅是基礎設施和平臺的事情,應用也要做出改變,改變傳統的做法,實現雲化的應用——應用的架構、應用的開發方式、應用部署和維護技術都要做出改變,真正的發揮雲的彈性、動態調度、自動伸縮……一些傳統IT所不具備的能力。這裡說的「雲化的應用」也就是「雲原生應用」。
  • 如何解決落地雲原生難題?青雲科技KubeSphere給出答案
    在多雲時代的當今,「雲原生」逐漸走向了技術舞臺的中央。  「這是雲原生最好的時代,也是不得不雲原生的時代。」KubeSphere容器平臺產品負責人於爽表示。  通過近幾年的發展,雲原生已經成為解決企業業務落地適應數位化、網際網路化趨勢時,一個很實用、很有效的解決架構。
  • 2020年阿里云云原生市場現狀與發展趨勢分析 雲原生促阿里雙11訂單...
    阿里云云原生致力於打造世界上最先進、穩定的雲原生基礎設施,是阿里雲最核心的部門之一。阿里雲主要雲原生技術包括容器技術、Serveriess、DevOps、Service Mesh技術、雲原生微服務、雲原生中間件、開放應用模型等。
  • 助力企業找到最佳上雲路徑,騰訊雲發布首個企業雲原生路線圖
    以雲原生技術上雲是剛需,但企業如何上雲去卻是個問題。一方面,目前市場雖然有很多成熟的雲原生技術,但對企業來說,雲原生始終是一項新技術,需要有一個認知和接納過程。另一方面,企業要想進行雲原生改造,原有的IT系統、架構、任務發布、運維體系要去適配雲原生環境,要進行容器化、微服務架構改造,這對技術儲備不足、缺乏實踐經驗的企業來說,貿然改造很容易「踩坑」。
  • 讀懂雲原生背後的價值
    而為遙望網絡帶來這種驚豔效果的則是青雲QingCloud 的雲原生解決方案。輕量化的容器,龐大的未來雲原生是近兩年IT行業探討最多的話題之一,容器、微服務、DevOps、Serverless等成為企業落地雲原生的關鍵手段,也是不同雲廠商紛紛布局的方向。
  • 又拍雲Open Talk:OpenResty與微服務網關實踐
    △ Apache APISIX PPMC 成員溫銘Apache APISIX是一個雲原生、高性能、可擴展的微服務 API 網關,基於 OpenResty 和 etcd 實現。溫銘對微服務的演進進行剖析,微服務從類庫至 proxy、到 sidecar, 再到 Service Mesh 各個階段面臨不同痛點,在此基礎上不斷變革演進。溫銘認為微服務發展至今,將會分久必合、拋棄 sidecar,走向中心節點或者集群的模式,全動態、全協議支持、高性能、雲原生友好的網關是下一代網關發展方向。
  • 華為雲微服務應用平臺通過微服務標準首批評估
    日前,在2019年雲原生產業大會上,中國信息通信研究院組織開展了業界首次微服務平臺評估,華為雲微服務應用平臺(ServiceStage)作為業界微服務平臺典型代表,以其完整的解決方案和成熟的產品能力獲得評估專家團隊的一致肯定,順利通過了首批評估,這也再次體現了華為雲在微服務以及雲原生領域所具備的絕對領先產品服務能力和技術領導力。
  • 遷移到Kubernetes對DevOps和DataOps有哪些好處
    儘管對於軟體開發人員、DevOps和數據科學工程師來說,Kubernetes獲得成功的原因顯而易見,但對於組織管理者來說卻不是那麼顯著。為什麼將應用程式和相關流程遷移到Kubernetes成為一種主流?為了找到答案,人們需要了解Kubernetes的關鍵概念和帶來的好處。組織管理者需要了解如何通過將工作負載遷移到Kubernetes獲得競爭優勢。
  • 解讀容器的 2020:尋找雲原生的下一站
    然而,在 2020 年,隨著雲原生技術的極大普及,我們卻發現這個模型似乎正遭受著挑戰。   今天的雲原生技術,起源於 Docker 以及容器這個創新性的技術革命,又受益於經典 PaaS (比如 Cloud Foundry)持續已久的心智普及,最終在開發者與平臺構建者的雙重關注下,以 Kubernetes 生態為載體最終落地。
  • 共話實戰 深剖企業那些年為何如此青睞雲原生
    以容器、微服務及動態編排為代表的雲原生技術,不僅天然適合解決傳統應用升級緩慢、架構臃腫、不能快速迭代等問題,還逐漸成為賦能企業業務創新的重要推動力,正是看到雲原生技術的這些優勢,大多數企業最終選擇以雲原生化的方式完成核心系統上雲。對於企業而言,雲原生是實現數位化創新的捷徑。時至今日,雖然關於雲原生的定義仍說法不一,但云原生卻已大規模落地全行業。
  • 雲原生體系下的技海浮沉與理論探索
    下面是 CNCF 的最新定義:雲原生技術有利於各組織在公有雲、私有雲和混合雲等新型動態環境中,構建和運行可彈性擴展的應用。雲原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式API。這些技術能夠構建容錯性好、易於管理和便於觀察的鬆耦合系統。
  • Gdevops北京站:網際網路、金融與運營商的智慧運維、資料庫、Fintech...
    2020年,Gdevops全球敏捷運維峰會開啟了傳播前沿技術、助力技術人成長進階、促進跨界交流合作的第五個年頭。依託迄今成功舉辦的17場大會在分享議題上的精心打磨、在技術圈子裡的口碑傳播,Gdevops在展開新一年技術巡演中邀請到更頂級的嘉賓陣容,將帶來更重磅的科技成果與獨家實踐。2020 Gdevops北京站