国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

云原生到底是個啥玩意?從云端降臨的超級技術:云原生

這篇具有很好參考價值的文章主要介紹了云原生到底是個啥玩意?從云端降臨的超級技術:云原生。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

福利:文末分享云原生相關全套資料哦

一、云計算?云原生?

二、云原生帶來什么好處

7個字:隔離、彈性、自動化。

三、云原生的基礎知識

四、云原生中最重要的概念

1、虛機

2、容器

3、容器編排

4、VPC

5、微服務(Microservices)

6、服務網格(Service Mesh)

7、無服務器(serverless)

8、基礎設施即代碼(IaC)

9、DevOps

五、更深一步:云計算背后的東西

1、云平臺和云管平臺

2、地域(Region)

3、可用區(qū)(AZ)

4、SDN

5、網絡資源池

那么,云原生是什么


福利:文末分享云原生相關全套資料哦

云原生技術里有很多技術、概念和術語,不了解的人,往往弄不清楚而一頭霧水,這些概念都是啥,之間是什么關系?

本文要說的就是這些。

本文更多是科普和掃盲,無意面面俱到,也無意深入細節(jié)。 本文適合一定IT基礎的人閱讀,完全的小白和門外漢,可能是看不懂的。

云原生到底是個啥玩意?從云端降臨的超級技術:云原生

完全看不懂的云原生

一、云計算?云原生?

云原生就是“云+原生”(cloud + native)。一般而言,“”更關注IaaS,也就是基礎設施層面(如計算、存儲、網絡);“原生”更關注PaaS層面(如容器、微服務)。之所以叫“原生”,是因為它一生下來是給云用的,可謂是生在云里,長在云里。

一位學者可能會說:“云計算是一種靈活提供基礎IT資源的架構,云原生是一種在云計算上創(chuàng)建和運行應用程序的方法?!边@話沒有什么錯,但也沒有什么用,因為太抽象了。

在詞匯使用上,據我觀察,“云計算”和“云原生”基本上已經混為一談了,我從來沒有見過一個人說“云原生”的時候,另一個人站出來說“不對,這個是云計算”,反之亦然。

唯一的區(qū)別是:人們以前愛說“云計算”,現在愛說“云原生”。

畢竟,新詞總是高大上一點嘛。

所以,這塊不要太糾結。

二、云原生帶來什么好處

其實這等同一個問題:為什么要上云。

好處有很多,我本人覺得最重要的有3點:

7個字:隔離、彈性、自動化。

1、隔離:在傳統(tǒng)架構中,一個網絡配置錯誤可能導致整個DC故障,一個模塊出問題可能會導致整個應用系統(tǒng)故障。而且往往很難定位和隔離。云原生通過VPC、容器、微服務這些能力,把網絡、操作系統(tǒng)、應用系統(tǒng)以虛擬或拆分的方式隔離開來,做到互不影響。一個部分的運行、變更或故障,不會影響其他部分,這就安全多了。

2、彈性:應用系統(tǒng)在服務能力緊張時,需要擴容,比如增加機器的內存和CPU,或是部署新的實例并做負載均衡,在傳統(tǒng)環(huán)境下,這需要一定的工作量,尤其是需要運維人員的安裝和配置。云原生在一開始設計時,就考慮了如何更方便、更快捷、更安全地擴容,比如虛機、容器的快速生成,自動地擴容和負載均衡。這樣,以前是幾個小時的事,現在稍稍動動手指就可以了,幾分鐘或者更少的時間搞定。

3、自動化:不管是部署還是變更、維護,如果一項工作涉及多個步驟,需要多項配置,甚至需要多個團隊配合,那就會很繁瑣,很復雜,對使用者的要求就會很高,出錯的概率就會變大。如果只需一條指令、一個按鍵就能完成相關工作,那就是高度的自動化。云原生的很多設計,就是以盡可能少的指令,完成盡可能復雜的操作。

自動化通過什么方式呈現給用戶?一是圖形化界面,讓各類用戶(平臺租戶、運營人員、運維人員、開發(fā)人員)都可以簡單上手操作,比如租戶(就是客戶)點點鼠標就能申請一臺虛機或是一臺網關;二是命令行界面,讓喜歡命令行的人可以直接或者寫腳本調用;三是API,讓程序員可以寫程序任意編排操作。這樣,各種不同技能基礎的人,都能夠盡自己能力實現盡可能的自動化。

云原生的本質,就是IT全過程的軟件化,也即“軟件定義everything”在IT行業(yè)得以實現,而且是規(guī)模化和自動化的實現。原先冗長、復雜、頗費時費力的技術工作和體力活,現在可以輕輕松松搞定。

說這么多,現在略略見識一下:

kubectl create deployment nginx --image=nginx --replicas=2
kubectl set image deployment/nginx nginx=nginx:latest

以上是兩條kubernetes命令,其中,第一條命令部署兩個nginx容器,第二條命令則讓它們更新成一個最新的鏡像版本。

看,這多么簡單。

三、云原生的基礎知識

考慮掃盲性質,現在說一點最基礎的東西。

1、虛機:虛機是在物理服務器之上虛擬出來的具有完整功能的計算機。人們可以通過云平臺創(chuàng)建虛機并安裝操作系統(tǒng),對其擴容,并在不停機的情況下將其遷移到另一臺物理機上。

2、裸金屬:裸金屬即云納管的物理機。裸金屬不參與虛擬化,不提供虛機,但一樣可以被云管理,可以被云自動化地分配、回收和管理。

3、存儲:云可以提供塊存儲(如IPSAN)、文件存儲(如NAS)、對象存儲(OBS)。并且都提供界面、命令行和API給用戶,讓用戶可以非常便利的使用和管理存儲。通過對存儲的資源池化和虛擬化,抹平了不同設備的差異,用戶不再需要學習具體的存儲設備知識、指令和配置方法。?

比如在openstack中,用如下命令創(chuàng)建一個叫my_volume的卷,大小為10G,然后通過命令將這個創(chuàng)建好的卷連接到虛擬服務器my_server上。

openstack volume create --size 10 my_volume
openstack server add volume myserver my_volume

看,這多么簡單!作為一個完全不懂存儲的人,我也可以輕而易舉做到。

可以說,云的用戶,就是在抽象層或者說邏輯層工作,底層細節(jié)完全可以不了解。

4、網絡:云提供虛擬的網絡,用戶并不用實際購買和獨占網絡設備,就可以在云里構建出一個個互相隔離的虛擬網絡分區(qū),組織他的多臺虛機。這通過創(chuàng)建虛擬私有網絡(VPC)、虛擬子網、虛擬路由器、虛擬NAT網關等來實現。用戶不再需要和底層的網絡設備打交道,用戶只需要在云平臺里“創(chuàng)建”和“配置”即可。

5、容器:容器可視為輕量級的虛擬機,它把應用“集裝箱”化,應用程序和自己需要的依賴(Depends)打包在一起,自成一體。容器可以在各種操作系統(tǒng)中部署,不受具體宿主機影響。比起虛機,它更輕量,更方便、可以秒級啟動。

以上這些是最基本的概念,相對靠基礎設施一些,再往上走,就會遇到更“云原生”一些的概念:微服務、服務網格、函數計算、DevOps等,這些更靠近開發(fā)一些。

下面,我們繼續(xù),部分概念會再次說起。

四、云原生中最重要的概念

搞明白下面這些概念及其關系,你就心里有底了。

1、虛機

虛機(VM,Virtual Machine,或稱虛擬機?)是在一臺物理機(又稱宿主機)上虛擬出來的計算機,目的是提高計算機硬件資源的利用率。這通過物理機上安裝VMM(Virtual Machine Manager,虛擬機管理器)來實現。VMM給虛機分配調度相應的資源(內存、CPU、網絡、磁盤等),加載虛機的操作系統(tǒng),并調度給虛機最終所需的物理資源。大體而言,一臺物理機可以虛擬出10臺虛擬機。

云原生到底是個啥玩意?從云端降臨的超級技術:云原生

虛機、VMM、物理機關系示意圖

和容器相比,虛機還是有些笨重的,由于虛機鏡像包含了整個操作系統(tǒng),所以通常有幾個GB大小。虛機啟動時間通常是1分鐘或幾分鐘。

虛機鏡像是包含一臺計算機的操作系統(tǒng)、安裝的軟件、數據和配置等信息的文件。鏡像文件通常被用來作為虛擬機的模板,以便在需要時快速地創(chuàng)建多臺相同內容的虛擬機。

正是因為虛機還不夠敏捷便利,速度也不夠快,所以才產生了容器技術。

2、容器

在一個操作系統(tǒng)中,通過進程隔離、內存隔離、文件隔離、用戶隔離、網絡隔離等技術,形成一個個互相隔離的運行空間,每個空間里運行著應用程序和其所依賴的程序及庫,這就是容器。

這樣,多個容器共享同一個操作系統(tǒng),但又互相隔離。容器通常不大,可以秒級啟動,非常迅捷。

容器實現了完全的可移植性,在支持容器的任何操作系統(tǒng)或環(huán)境上都可以兼容運行。因為容器里的軟件和所需要的庫依賴是封裝好的,和所在宿主機的庫是互相隔離的,不需要像以前那樣,要在宿主機上做各種安裝和適配。

在Linux操作系統(tǒng)中,早有通過命名空間(namespace)和控制組(control group)實現應用程序隔離的方法,使得一個或多個進程的CPU,內存,磁盤I / O和網絡使用可以隔離開來互不影響,此即Linux容器(LXC)技術。但對用戶而言,LXC并不易用。Docker把這些較為復雜的容器功能封裝起來,形成對用戶友好的操作命令或圖形界面,才使得容器流行起來。

3、容器編排

在大型系統(tǒng)中,需要大量的容器同時運行,直接管理一個個容器有點麻煩,如果能以更優(yōu)雅更自動化的方法就更好了,這就出現了容器編排工具,有好幾種容器編排工具,但是毫無疑問,Kubernetes(簡稱k8s)這些年最流行的容器編排工具。

所謂編排(orchestration),就是統(tǒng)攬全局式的規(guī)劃、組織、部署、管理等,把眾多復雜的元素管理地井然有序,達到管理者所指定和預期的目標。

k8s提供了許多強大的功能,例如部署容器、自動擴容、負載均衡、應用更新、故障恢復和容器監(jiān)控等。總之,它能讓用戶更輕松、更便利地部署、調度和監(jiān)控容器。用戶可以通過描述性的文件,描述k8s應部署容器的規(guī)格、個數和關系,指定服務端口,將多個容器組織成一個應用,并能根據容器的負載情況自動地擴展容器的數量。

比如下面兩句話,就能將nginx容器擴容到5個。

kubectl scale deployment web-server --replicas=5
kubectl rollout restart deployment/web-server

4、VPC

VPC(Virtual Private Cloud,虛擬私有云)是在云中構建出來的一個獨立的、隔離的虛擬網絡環(huán)境,一朵云中,可以有多個VPC。

雖然名字里帶個“云”字,但人們更喜歡稱之為“虛擬私有網”,因為它更多的特性是網,然后才是其上的虛機、容器等。

用戶可以在VPC中自主規(guī)劃 IP 地址,創(chuàng)建子網,并使用虛擬交換機vSwitch、虛擬路由器vRouter、虛擬負載均衡vLB等網絡組件,還能通過網絡ACL、安全組、虛擬防火墻vFW等方式,實現網絡內虛機的隔離保護。

比起虛機和容器,虛擬網絡會更讓人難以理解一些,如果想快速掃盲,見我下一篇文章《讓人懵懂的云網絡,里面原來是這些》。

5、微服務(Microservices)

微服務是一種架構,在這種架構中,把原先應用系統(tǒng)中的各個功能模塊獨立出來,形成一個個服務,跑在不同的虛機或容器中,然后用標準化的方法互相調用。這些服務原先是耦合在一臺機器里的,現在都獨立出來了,人們也就能獨立地開發(fā)、部署和管理它們了。

微服務架構的目標是讓每個服務都盡可能簡單、單一,每個服務只執(zhí)行特定的業(yè)務邏輯,并且具備良好的橫向擴展能力。各服務之間通過簡單、輕量的通信協(xié)議(如REST、gRPC等)進行通信。

微服務的好處是,一、便于隔離,一個服務壞了也不會影響其他服務,不像以前都在一個機器里,一壞就感染一片;二、便于擴容,一個服務如果形成性能瓶頸,就對那個服務擴容,多弄幾個容器運行它。不像以前那樣,要對整個應用系統(tǒng)擴容。三、便于維護,每個服務都可以獨立地開發(fā)、部署、運維,一個服務只由一個小團隊專門負責。在另一個層面上講,小團隊的管理,也顯然要比大團隊容易。

在微服務架構中,常遇到兩個概念:API網關服務網格。

API網關提供集中式的服務請求處理,集成了反向代理、負載均衡、SSL卸載、身份認證、限流熔斷、超時重試、流量監(jiān)控、日志統(tǒng)計等功能,適合處理來自外部的流量(南北向)。在客戶端和后臺服務之間可以存在一個或多個功能不同的API網關。最受歡迎的網關代理是Nginx、HAProxy和Envoy。

對于系統(tǒng)內部復雜的服務間調用(東西向),為了避免瓶頸,還是以分布式的方法通信比較好,這就是近年來比較火的服務網格

6、服務網格(Service Mesh)

由于服務總是要處理請求,遇到網絡不好的時候,就需要重連或做超時處理,這樣,每個服務都需要實現請求重試、超時處理、斷路器等機制。如果每個服務都寫這樣的機制,就有點不經濟。如果服務還是用不同語言實現的,這些部分也得用不同語言實現,就很不經濟了。

服務網格的想法是將這種通用的功能從每個服務中抽出來,最早的做法是給服務提供SDK(便于服務集成通用功能),后來逐漸演變?yōu)橛瑟毩⒌拇韥硗瓿赏ㄓ霉δ埽涸诿總€服務旁邊運行一個代理(sidecar),sidecar作為一個單獨的容器與應用容器放在k8s的同一個Pod中(Pod是k8s調度的最小單元,里面可以有1個或多個容器)運行,它們共享相同的網絡。sidecar處理流入或流出的請求和響應流量,實現路由、安全和監(jiān)控等功能。

比如:Istio服務網格在服務的每個應用容器旁運行Envoy代理作為sidecar,所有sidecar都受微服務控制平面管理。

云原生到底是個啥玩意?從云端降臨的超級技術:云原生

由Sidecar組成的服務網格

注:Sidecar是一種形象的比喻,原意是摩托車旁的邊車。

云原生到底是個啥玩意?從云端降臨的超級技術:云原生

真正的sidecar

這種分離讓開發(fā)人員能夠很集中精力在業(yè)務上,而真正不再考慮非業(yè)務功能,所有服務所共需的通用能力,都放在sidecar里來做。

就好像開車的就專心開車,通信和作戰(zhàn)交給邊車上的隊友。

7、無服務器(serverless)

無服務器”并非真的沒有服務器,而是說用戶(比如開發(fā)人員)完全不用關心服務器的事,不用申請服務器、存儲和網絡。用戶只關心自己的程序,所有和資源相關的瑣事都由云提供商處理。代碼執(zhí)行時,云提供商會啟動資源,代碼執(zhí)行結束時,釋放資源。用戶只為使用時間付費,而不為閑置容量付費。

這提法更像是一個理念,更像是一個產品營銷話術,而不像一項新技術,因為“無服務器”的背后無非還是虛機、容器、微服務這些,只是用戶可以不管這些,這些都由云服務商提供,用戶把精力放在自己的程序上就好。

函數即服務(Function as a Service,FaaS)是最常被提起的無服務器架構,雖然它只是serverless的一種。使用FaaS,用戶將函數放到云上(將代碼作為zip文件或容器鏡像上傳),在需要的時候,通過HTTP調用即可,用戶只需為函數的執(zhí)行時間付費,函數所在容器,以及所需的RunTime,都由云服務商調度和管理。常見的FaaS產品AWS Lambada、Azure Functions和谷歌的Cloud Functions。

顯然,這種一會運行一會關閉的函數,只適合那種一過性的運算,那種很簡單的、無狀態(tài)的運算,比如簡單計算、更新記錄、發(fā)送消息、寫入數據這種。

除了FaaS,還有別的serverless,比如serverless DB,它不需要用戶手動維護和配置服務器資源,而是自動擴展和伸縮。

總之,只要是用戶原先要考慮服務器而現在不用考慮服務器的服務,都是Serverless。

8、基礎設施即代碼(IaC)

程序員大多是不太愛碰硬件的,他們喜歡沉溺在軟件的思維里。當他們不得不接觸和管理硬件的時候(比如被輪崗或是種種原因),他們就決心用軟件的方式來管理這些硬件。

基礎設施即代碼(Infrastructure as Code,IaC)用編程語言描述他們要運維和管理的基礎設施(服務器、網絡設備、存儲設備等硬件),這樣,部署和管理笨重的硬件設備,無非也就是在電腦面前敲幾句代碼而已,不再需要像以前那樣吭哧吭哧地猛干了。

這是硬件維護人員多年以來夢寐以求的自動化?,F在,人們只是寫一個腳本,用腳本去部署服務器,并配置各種網絡、存儲、負載均衡器等任何基礎設施服務。然后,只是執(zhí)行這個腳本,就可以在完全不同的AZ(AZ即可用區(qū),后面會介紹)中部署一套高度一致的基礎設施。以前,這樣的任務需要數人、數周才能完成?,F在,幾個小時就可以完成。

基礎設施即代碼,換句話說,即,軟件定義基礎設施。

9、DevOps

DevOps(它是“Development”和“Operations”的縮寫),就是從開發(fā)到運維,整個過程自動化。自動化地編譯、測試、構建容器、上傳容器、部署、發(fā)布、監(jiān)控、告警等,如果發(fā)現了Bug或問題,團隊能夠迅速迭代這一過程,修改代碼,然后又是自動化的編譯、測試、部署、發(fā)布等,一天可以來上這么10次!

在2009年O’Reilly Velocity大會上兩個Flickr員工做了題為《10+ Deploys Per Day: Dev and Ops Cooperation at Flickr》的演講1,引起了轟動,隨后得以蓬勃發(fā)展。

當然,這需要多種工具和多個腳本的有機銜接。

以前,這一過程冗長,開發(fā)團隊和運維團隊的配合并不容易。因為他們有著不同的部門和領導,有著不同的文化,他們的目標和利益并不一致。從開發(fā)到上線,這個過程中,有著各種流程和審批,1天能有10次發(fā)布?開玩笑,10天能有1次就不錯了?,F在可好,全都自動化了,一個小團隊,從開發(fā)到發(fā)布,全都干了,還很快,運維人員幾乎都不用動手,或者幾乎都不需要出現。

本質上,DevOps是搞開發(fā)的人終于幫助搞運維的人,把運維那攤子事給自動化了(搞運維的人,通常不太擅長寫代碼)。我想,這肯定是哪個公司,非要逼得開發(fā)人員去搞運維,所以他們沒辦法,只能自己拿起看家本事造福自己了。開發(fā)那一段的自動化,早在近二十年前,他們搞敏捷開發(fā)的時候就搞差不多了,他們早早就搞了CI(持續(xù)集成),然后又搞了CD(持續(xù)部署),這十年,他們通過前面說的容器、微服務、k8s等技術,再加上一些新方法、新工具,把運維這一段也搞定了,他們終于打通了任督二脈。

崇拜DevOps的人會說遠遠不止這些,是的,他們往DevOps里裝了種種思想、理念和方法論,以至于人們似乎已經忘了它本來想致力于什么。我以前寫過一篇文章講如何從高層把握DevOps2的實質,有興趣可以看看。

下面這張圖有助于你從全貌上概覽一下,這只是一種框架,引自3,篇幅有限,此處不細解釋。

云原生到底是個啥玩意?從云端降臨的超級技術:云原生

一種DevOps工作模型

滾動發(fā)布是一種發(fā)布軟件更新的方法。軟件新版本先在小范圍內發(fā)布,沒有什么問題的話,再慢慢擴展到更大的范圍。這樣,一開始如果有問題,受影響的也只是少數用戶。類似概念和叫法有灰度發(fā)布、金絲雀發(fā)布。以前礦工下礦前,為防范探洞里有有毒氣體,會先放一只金絲雀進去,看金絲雀能否活下來,金絲雀發(fā)布得名于此。

五、更深一步:云計算背后的東西

下面的內容有點偏底層技術了。

如果你不想了解更多,跳過這章就好。

1、云平臺和云管平臺

當“云管平臺”(Cloud Management Platform)這個說法在n年前第一次介紹給我時,我當時還真有點懵。

我心想,云平臺(Cloud Platform)不就是Openstack這些東西嗎,怎么又冒出來一個“云管”平臺?

后來才弄明白,原來還是有點不同的。

云平臺更多是指云計算平臺,偏技術層面,提供計算、存儲、數據庫、網絡、安全等基礎設施服務,供客戶在云上部署和運行應用程序。比如OpenStack提供IaaS,Docker和Kubernetes提供PaaS等,這些都屬于云平臺。

云管平臺從名稱上就能看出來,側重于管理,側重于多云、混合云、異構云場景下的統(tǒng)一管理。它給用戶提供統(tǒng)一的運營控制臺和運維控制臺。所謂運營控制臺,就是為用戶提供登錄、資源開通、使用、配置等功能,并且達到“自服務”的水平;所謂運維控制臺,就是讓運維人員可以對物理資源狀況進行監(jiān)控和管理。

所謂“自服務”,是指客戶可以通過平臺界面或API,自行創(chuàng)建和管理虛擬機、存儲空間、網絡資源和其他云服務,而無需其他專業(yè)人員參與,自己點點鼠標,想要的東西就出現了,就能用了。

兩者之間有一個明顯的不同是:云管平臺可以管理多云以及一朵云中的多個Region,而云平臺通常只能管理本Region內的資源。

在我看來,云平臺更偏技術一些,更靠近基礎設施一些,云管平臺則在云平臺的基礎上又做了一次封裝,以更簡便易用的方式將云服務提供給用戶。

不過,正如“云計算”和“云原生”這兩個詞已經被人們混用,“云平臺”和“云管平臺”往往也被混用起來了,你聽他說“云平臺”,其實他很大概率是在說“云管平臺”。

2、地域(Region)

Region即一朵云內某個物理區(qū)域中基礎設施服務的集合。不同Region之間的物理資源(計算、存儲、網絡)是完全隔離不共享的。

一朵云里可以有多個Region,每個Region可位于不同的城市的DC(數據中心)中,也可以位于同一個城市的不同DC中。不同DC能否放在一個Region中,關鍵看時延,如果時延超過 2ms,就應該在不同的Region中,因為同一Region內對時延有較高要求。

不同Region之間的時延也應該在100ms之內4,因為云管平臺對Region的命令下發(fā)和信息上報時延也有要求。

不同Region之間的通信使用“云連接”,通過“專線網關”實現,這個網關可以是軟件的,也可以是硬件交換機(又稱專線交換機),這塊見我下篇關于云網絡的文章。

每個Region中包含數個獨立的,物理分隔開的AZ,每個AZ可以有獨立的供電,制冷。

3、可用區(qū)(AZ)

可用區(qū)(Available Zone,AZ)可以簡單理解(雖然并非總是如此)為機房及其內的計算、存儲和網絡資源。一個Region內有多個機房,每個機房就是一個AZ。不同AZ使用不同的電力和制冷,使用獨立的計算、存儲和網絡資源(但網絡是互通的)。這樣,即便一個AZ不可用了,另一個還是可用的。AZ內通信時延要小于0.25ms。

AZ中的A就是可用(Available)的意思,一般而言,不同AZ使用獨立的電力、制冷、機房模塊等基礎環(huán)境。應用系統(tǒng)如果要實現高可用,應該同時部署多份在不同的可用區(qū)內,這樣,一個AZ壞了,還有另一個AZ可以提供服務。

裸金屬和不同CPU架構的物理機,通常部署在不同的AZ;同一個AZ內,又可以根據不同性能屬性劃分不同的主機組(host aggregate),便于管理員進一步按組分發(fā)虛機5。不同主機組提供不同的主機資源,但存儲和網絡資源是共享的。

VPC的子網是可以跨AZ的。比如在同一個子網中,VM1在AZ1,VM2在AZ2,他們可以同時承擔Web服務器功能,這樣,即便整個AZ1不可用了,VM2仍然能夠提供服務。

4、SDN

傳統(tǒng)的網絡設備是分布式和去中心化的,每臺設備可以通過自主學習和人工配置,知道如何轉發(fā)數據包,而不需要一個集中式的控制設備。SDN則像各個網絡設備的軟件大腦,讓各網絡設備不再用自主學習和人工配置,而是由大腦下達命令,告訴各設備應該怎么轉發(fā)數據包。

SDN(Software?Defined?Network)就是軟件定義網絡,那個大腦被稱為SDN控制器。

SDN為什么要把原先的分布式運行改為集中控制呢?因為如果每個網絡設備都要人工配置和管理,就會太麻煩,容易出錯,不易于統(tǒng)一集中管控。如果能力足夠,那就不如一起管了算了。

在虛擬網絡里,像虛擬交換機、虛擬路由器、虛擬網關等等,這些虛擬網絡設備,都受SDN統(tǒng)一管理。

5、網絡資源池

網絡資源池由一組網絡硬件設備(如交換機、路由器等)構成,為上層的虛擬網絡、虛機、存儲等提供底層的通信功能。

說起來有點復雜,大體而言,應用系統(tǒng)在虛擬網絡(Overlay)上跑,虛擬網絡基于隧道技術在物理網絡(Underlay)上跑。

從技術上講,Overlay的二層數據包封裝在Underlay的三層報文中傳輸,到達目的地之后再解封裝得到Overlay的二層報文。實際上,這是一種“L2 over L3”的隧道封裝技術,目前主流的隧道封裝協(xié)議為VxLAN。

如果Overlay的網絡數據封裝和路由都是軟件實現的,那就是軟件SDN(又稱主機Overlay),如果是硬件網絡設備做的,那就是硬件SDN(又稱網絡Overlay)。

一個Region需要一套網絡資源池,提供該Region內共用(多AZ、多VPC共用)的底層數據包轉發(fā),該資源池是由跨機房模塊(也即跨AZ)的多組Leaf+Spine模塊組成,跨機房模塊的網絡交換通過一組Core節(jié)點(Super Spine)交換機實現。

在主機Overlay這種主流場景下,網絡資源池中的網絡設備并不關心上層是哪個VM要和哪個VM通信,它們只是忠實地轉發(fā)數據包而已,它們不會去關心隧道里的虛擬網絡通信。

云原生到底是個啥玩意?從云端降臨的超級技術:云原生

通過隧道,在物理網絡上構建虛擬網絡

上圖使用兩臺Super Spine,四臺Spine,八臺Leaf,并通過在不同機房部署,提供了一套網絡資源池,供多個AZ共同使用。這樣,雖然VPC子網和虛機可能在不同AZ和機房內,但通過VxLAN隧道,它們之間的通信就像在一個交換機下面的二層通信。

那么,云原生是什么

看到現在,你大概知道云原生是什么了吧。

整個IT被云化了,不管是搞開發(fā)的,還是搞運維的,都在使用云,依靠云,發(fā)展云。

IT的一切,都盡可能用軟件定義,都盡可能虛擬化,一切都是為了簡單、自動、彈性、安全。

所有使用云的人,都只是點點鼠標,就可以完成以前很復雜的事。

IT在給其他行業(yè)搞數字化轉型的同時,給自己搞了個數字化轉型。

本質上,IT人終于把自己給解放了。

他們感嘆說,來才是我們活應有的樣子。

充電君會在第一時間給你帶來最新、最全面的解讀,別忘了三聯(lián)一波哦。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??云原生到底是個啥玩意?從云端降臨的超級技術:云原生

關注公眾號:資源充電吧
回復:Chat GPT
充電君發(fā)你:免費暢享使用中文版哦
點擊小卡片關注下,回復:IT

想要的資料全都有?文章來源地址http://www.zghlxwxcb.cn/news/detail-478427.html

到了這里,關于云原生到底是個啥玩意?從云端降臨的超級技術:云原生的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • AIGC到底是個啥? AI和AIGC的區(qū)別有哪些

    AIGC到底是個啥? AI和AIGC的區(qū)別有哪些

    ? 說來說去,到底什么是AIGC呢?AIGC是人工智能生成內容的縮寫,是一種基于生成對抗網絡(GAN)、大型預訓練模型等人工智能技術的方法,通過對已有數據進行學習和模式識別,以適當的泛化能力生成相關內容的技術,AIGC的應用領域有很多例如,AIGC可以用于自動生成新聞、

    2024年02月08日
    瀏覽(16)
  • 越來越火的Serverless(無服務器計算),到底是個啥?

    越來越火的Serverless(無服務器計算),到底是個啥?

    今天這篇文章,我們來聊一個云計算領域的熱門概念——Serverless。 到底什么是Serverless? 英語好的童鞋,可能一眼就看出來了,Serverless是由Server和less兩個詞根組成的詞。從字面上理解,就是“無服務器”。 行業(yè)通常所說的Serverless,主要是指 “無服務器計算(Serverless Comp

    2024年02月03日
    瀏覽(22)
  • CocoaPods 在iOS開發(fā)中養(yǎng)活了這么多項目,它到底是個啥?

    對于iOS開發(fā)者而言,CocoaPods并不陌生,通過pod相關的命令操作,就可以很方便的將項目中用到的三方依賴庫資源集成到項目環(huán)境中,大大的提升了開發(fā)的效率。CocoaPods作為iOS項目的包管理工具,它在命令行背后做了什么操作?而又是通過什么樣的方式將命令指令聲明出來供我

    2024年02月08日
    瀏覽(20)
  • ChatGPT3.5——AI人工智能是個什么玩意?

    ChatGPT3.5——AI人工智能是個什么玩意?

    AI,就像是一位超級聰明的機器朋友,它不會搶你的零食,但可以回答你的問題。AI可以扮演各種角色,就像是一個多面手,但不會像演員那樣要求高薪。最重要的是,AI從不生氣,總是耐心地聽你嘮叨。它會讓你在學習和娛樂中倍感驚喜! 那么,到底什么是AI? AI,即人工智

    2024年02月14日
    瀏覽(22)
  • .NET是個啥_拓展

    差不多一年前寫過一篇博客——.NET是個啥。 那篇博客基本上就是按照官方文檔的翻譯,并加入一些自己的理解和吐槽來寫的?,F在回過去看呢,雖然內容全面,但是停留在表面。(相當于回答了它是什么,它包含了什么) 什么意思呢? 通過那篇博客,可以知道.NET是微軟的

    2024年02月10日
    瀏覽(19)
  • ffmpeg anull 是個啥?

    1. ffmpeg anull 是個啥? ---------------------------------------- author: hjjdebug date:?? 2023年 07月 13日 星期四 17:59:47 CST ---------------------------------------- 當然是ffmpeg audio filter了, $ ffmpeg -h filter=anull 給出了如下信息: Filter anull ? Pass the source unchanged to the output. ??? Inputs: ?????? #0: default (au

    2024年02月15日
    瀏覽(18)
  • OCP3.0是個啥?

    OCP3.0是個啥?

    1、OCP NIC 3.0規(guī)范是OCP Mezz 2.0 設計規(guī)范的升級。 2、OCP NIC 3.0規(guī)范支持兩種基本卡尺寸:小尺寸Small Form Factor(SFF)和大尺寸Large Form Factor(LFF)。 3、SFF最多支持16 lane PCIe ,而LFF最多支持32 lane PCIe。 與OCP Mezz 2.0設計規(guī)范相比,更新的OCP網卡3.0規(guī)范為網卡和系統(tǒng)供應商提供更廣闊的解決

    2024年02月05日
    瀏覽(16)
  • 【C#】微軟的Roslyn 是個啥?

    【C#】微軟的Roslyn 是個啥?

    ????????Roslyn 是微軟重寫的C#編譯器并開源。 ????????Roslyn ?是 C# 和 Visual Basic.NET 開源編譯器的代號。以下是它如何在過去十年企業(yè)Microsoft的最黑暗中開始,并成為所有C#(和VB)的開源,跨平臺,公共語言引擎,我將在本文的其余部分將其視為給定的)。 ???????

    2024年02月15日
    瀏覽(17)
  • 了解 Langchain?是個啥?:第 1 部分

    ????????在日常生活中,我們主要致力于構建端到端的應用程序。我們可以使用許多自動 ML 平臺和 CI/CD 管道來自動化 ml 管道。我們還有像Roboflow和Andrew N.G.的登陸AI這樣的工具來自動化或創(chuàng)建端到端的計算機視覺應用程序。 ????????如果我們想在OpenAI或擁抱臉的幫助下

    2024年02月13日
    瀏覽(26)
  • 液體神經網絡:LNN是個啥概念?

    液體神經網絡:LNN是個啥概念?

    ????????在在人工智能領域,神經網絡已被證明是解決復雜問題的非常強大的工具。多年來,研究人員不斷尋求創(chuàng)新方法來提高其性能并擴展其能力。其中一種方法是液體神經網絡(LNN)的概念,這是一個利用動態(tài)計算功能的迷人框架。在本文中,我們將深入研究 LNN 的世

    2024年02月13日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包