乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Docker與k8s的恩怨情仇(一)

       看見就非常 2022-03-11

      大家在工作中或許或多或少都接觸過Docker,那你知道Docker以及容器化背后的原理到底是什么嗎?

      容器化技術滿天下,那為什么只有Docker被大家所熟知呢?

      后Docker時代,到底誰才是云原生時代的王者?

      我們相信本系列文章能幫您解答這些疑惑。

      被“嫌棄”的物理服務器

      在云時代以前,開發(fā)者如需構建一個線上的站點,必須自己維護物理服務器。但是隨著業(yè)務發(fā)展,大體量服務器逐漸增多,隨之而來的是硬件、場地和維護成本的不斷提高。對于面向C端的站點來說,網絡熱點事件具有隨機性,流量的變化并不可控,難免會遭遇站內流量暴漲的情況。此時如果沒有備用服務器,突發(fā)的大流量很可能會沖垮整個站點。但在沒有突發(fā)事件的時候,備用服務器的采購和維護成本又讓人不可忽略。

      2.png
      (運維的傳統(tǒng)藝能:上線拜祖,圖片來自網絡)

      哪里有問題,哪里就有商機。有人想到,如果買一批服務器放在外網,安排專人管理,然后按照用戶的需要租賃出去,不正好解決了這個問題嗎?

      于是,一場云計算的好戲,正式上演。

      虛擬機還是“超重”了

      云計算時代的大幕拉開,大廠先后登臺,讓我們先簡單做一下回顧。

      • 2006年,亞馬遜成立aws,從云端存儲業(yè)務開始。

      • 2008年,云計算初創(chuàng)。

      • 2009年,阿里云成立。目前最新的數據表明,2020年度IaaS市場份額調查,阿里云位居全球第三,亞太第一;前兩名分別是亞馬遜和微軟,市場份額達9.5%,超過谷歌的6.1%,亞馬遜40.8%,微軟17%。國內市場份額40% ,第二是華為云,占18%。

      • 2010年,OpenStack由NASA發(fā)布。OpenStack是一個IaaS架構,可以用其架構來搭建自己的私有云,讓任何人都可以自行創(chuàng)建和提供云計算服務。對比而言,AWS和aliyun都是自研架構,OpenStack是開源的。所以公司如果需要,完全可以接入OpenStack搭建自己的私有云。(當然前提需要有OpenStack核心開發(fā)能力)。

      • 2010-2013年之間,云計算的全球份額被aws和OpenStack瓜分。

      這時的云計算技術,本質都是虛擬化技術,將硬件資源作為基礎設施提供給用戶,簡稱IaaS。簡單理解,IaaS就是將一個很大的服務器,通過虛擬化技術拆分成多個小的虛擬服務器,提供服務,類似于在本機裝了虛擬機。

      1.png
      (云計算主力玩家的進場時間,圖片來自網絡)

      但是,IaaS時代的虛擬機還是太過于笨重了。每一臺虛擬機都需要消耗CPU、內存等計算資源才能支撐應用的運行。即便應用再小,系統(tǒng)的開銷都是固定的成本。如何為IaaS減肥,讓虛擬機系統(tǒng)的開銷降到最低?

      2013年開始,云計算正式進入了PaaS時代。PaaS時代,云計算所銷售的單元,從虛擬機變成了應用運行平臺。于是,云廠商提供的服務更多,資源利用率也更高了。

      什么是PaaS?我們用一個通俗的例子來解釋。如果我們現(xiàn)在是一個燒餅店老板,采用IaaS模式意味著我們需要用別人廚房、鍋爐、煤氣,自己和面做餡料,做燒餅。如果是PaaS,我們燒餅的面粉、餡料和調料都是別人提供好了,我們只需要把餅烤熟。

      云廠商該如何構建一套好用的PaaS服務呢?借力開源項目,成為各廠商的共識。

      Cloud Foundry開啟PaaS開源時代

      PaaS的核心是平臺。最早出現(xiàn)在開發(fā)者視野中的PaaS開源項目中,vmware創(chuàng)立的Cloud Foundry是知名度最高的。與IaaS提供云上虛擬機的服務方式不同,基于Cloud Foundry的云計算能夠提供應用托管的功能。開發(fā)者只需要通過一條簡單的命令比如:cf push "我的應用",就可以將項目打成一個壓縮包,上傳到Cloud Foundry服務器。而Cloud foundry會開啟自己的調度器,在一群云主機中找到滿足用戶需求的主機(系統(tǒng)版本、性能、個數),然后通過容器化技術,在主機上創(chuàng)建一個容器,在容器中下載壓縮包,解壓并運行,最終成為一個對外提供服務的應用。

      此外,Cloud Foundry平臺對這些應用項目提供分發(fā),災備,監(jiān)控,重啟等等服務(這也是我們提供給用戶的核心服務)。這種托管服務解放了開發(fā)者的生產力,讓他們不用再關心應用的運維狀況,而是專心開發(fā)自己的應用。而這就是PaaS的“初心”,平臺即服務。

      5.png
      (Cloud Foundry提供的服務)

      這里就會有同學問了,容器是什么?容器是用來解決多個應用資源沖突與隔離性問題的技術。Linux上的namespace機制和cgroups命令都能用做資源隔離和限制,這些都是容器技術。

      容器技術并不是Docker創(chuàng)建的,在Docker興起之前,就已經被其他公司商用了,但是為什么現(xiàn)在一談起容器,所有人第一時間想到的就是Docker呢?這就要提到Cloud Foundry的死亡。

      從Cloud Foundry到Docker

      Cloud Foundry似乎已經和我們現(xiàn)在使用的云功能區(qū)別不大,但2021年的現(xiàn)實情況卻是Cloud Foundry已經死了。

      我們看過互聯(lián)網上很多文章,再結合我們活字格公有云開發(fā)的經驗,我們認為這個項目的致命缺陷集中它的打包機制上。

      Cloud Foundry最核心的組件就是應用的打包和分發(fā)機制,也是開發(fā)者打交道最多的功能。Cloud Foundry為每一種主流的語言都定義了一套打包的方式,這些方式之間毫無章法。但就是這個打包功能,成了Cloud Foundry的軟肋,一直為用戶所詬病。開發(fā)者不得不為每一種語言,每一種框架,甚至是每個版本應用維護一個打好的包,還有可能出現(xiàn)本機運行成功,打了個包上傳上去之后就無法運行的情況。情況最嚴重的時候,開發(fā)者在調試云平臺系統(tǒng)上花的時間都已經比開發(fā)一個新軟件的時間要長了。

      本來是為賦能開發(fā)者的而生的技術,Cloud Foundry卻對開發(fā)者如此不友好。當開發(fā)者的抱怨積累到一定程度,想要在PaaS浪潮中央站穩(wěn)腳跟的Cloud Foundry被后起之秀Docker“紅牌罰出局”也就順理成章了。

      最初,Docker是一個當時還叫dotCloud的公司(2010年由所羅門??怂箘?chuàng)建,Y Combinator孵化)開發(fā)的容器項目。在Cloud Foundry困于打包問題時,Docker正在悄悄積蓄力量,在開源后的短短幾個月內就迅速崛起,成為一個不容忽視的PaaS技術方案,吸引了云服務開發(fā)者的眼球。

      滑稽的是,在Docker剛開源的時候,Cloud Foundry的首席產品經理 James Bayer就在社區(qū)做了一次詳細的對比,告訴用戶Docker和Cloud Foundry一樣,都是使用了Namespace和Cgroups技術的沙箱而已,沒什么值得關注的。

      事實上,Docker也確實就和他所說的一樣,采用了這個“傳統(tǒng)”的技術方案,但是Docker與Cloud Foundry相比,做了一點小小的創(chuàng)新,體現(xiàn)了所羅門??怂沟倪h見。從2010他就開始考慮應用打包的一致性與復用性問題,并提出了創(chuàng)新的解決方案,最終對Cloud Foundry造成了毀滅性的打擊。這個解決方案就是Docker鏡像。

      4.jpg

      (Docker,圖片來自官網)

      剛開源的Docker迅速爆火,憨態(tài)可掬的小鯨魚,對用戶友好的文檔,三分鐘部署一個Nginx集群的宣傳語,以及Docker Image這個 “微不足道的創(chuàng)新”,讓Docker席卷整個PaaS領域。

      Docker的制勝法寶:鏡像

      Docker成功的關鍵,在于Docker鏡像幾乎完美地解決了Cloud Foundry在打包方面的軟肋。

      所謂的鏡像,其實也是一個壓縮包,但是比起Cloud Foundry那種執(zhí)行文件+啟動腳本的打包結果,鏡像提供給用戶的是一套完整的運行環(huán)境,每一個鏡像都可以指定操作系統(tǒng)版本,內部可以構建程序執(zhí)行的文件結構,并且一份鏡像可以完全共享在多處使用。

      6.png

      此外,Docker還給開發(fā)者提供了一套完善的鏡像制作流程,這套流程與編程語言和框架無關。開發(fā)者只需要按照該流程,定制對應程序所需要的運行的操作系統(tǒng)環(huán)境即可。

      總之,Docker 鏡像完美解決了兩個問題:

      1.本地環(huán)境和服務器環(huán)境的差異
      2.同一份鏡像可以讓所有的機器進行復用

      從這一刻開始,PaaS的市場已經完全是Docker的天下。

      小結

      本文是系列文章的第一期,我們一起回顧了IaaS取代物理服務器,基于IaaS構建PaaS的發(fā)展路線。在構建PaaS時,我們經歷了Cloud Foundry的衰敗,見證了Docker的成功。

      但是,只依靠Docker就能構建起完整的PaaS服務嗎?我們的活字格最終選擇了哪個技術方案?云計算的故事還沒有講完,敬請期待下期精彩內容。

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多