2021-03-08 分類: 網站建設
有了IaaS,實現了資源層面的彈性就夠了嗎?顯然不是,還有應用層面的彈性。
這里舉個例子:比如說實現一個電商的應用,平時十臺機器就夠了,雙十一需要一百臺。你可能覺得很好辦啊,有了IaaS,新創建九十臺機器就可以了啊。但90臺機器創建出來是空的,電商應用并沒有放上去,只能讓公司的運維人員一臺一臺的弄,需要很長時間才能安裝好的。
雖然資源層面實現了彈性,但沒有應用層的彈性,依然靈活性是不夠的。有沒有方法解決這個問題呢?
人們在IaaS平臺之上又加了一層,用于管理資源以上的應用彈性的問題,這一層通常稱為PaaS(Platform As A Service)。這一層往往比較難理解,大致分兩部分:一部分筆者稱為“你自己的應用自動安裝”,一部分筆者稱為“通用的應用不用安裝”。
電商應用是你自己開發的,除了你自己,其他人是不知道怎么安裝的。像電商應用,安裝時需要配置支付寶或者微信的賬號,才能使別人在你的電商上買東西時,付的錢是打到你的賬戶里面的,除了你,誰也不知道。所以安裝的過程平臺幫不了忙,但能夠幫你做得自動化,你需要做一些工作,將自己的配置信息融入到自動化的安裝過程中方可。比如上面的例子,雙十一新創建出來的90臺機器是空的,如果能夠提供一個工具,能夠自動在這新的90臺機器上將電商應用安裝好,就能夠實現應用層面的真正彈性。例如Puppet、Chef、Ansible、Cloud Foundary都可以干這件事情,最新的容器技術Docker能更好的干這件事情。
· 然而大多數云平臺會提供MySQL這樣的開源數據庫,又是開源,錢不需要花這么多了。但維護這個數據庫,卻需要專門招一個很大的團隊,如果這個數據庫能夠優化到能夠支撐雙十一,也不是一年兩年能夠搞定的。
比如您是一個做單車的,當然沒必要招一個非常大的數據庫團隊來干這件事情,成本太高了,應該交給云平臺來做這件事情,專業的事情專業的人來做,云平臺專門養了幾百人維護這套系統,您只要專注于您的單車應用就可以了。
要么是自動部署,要么是不用部署,總的來說就是應用層你也要少操心,這就是PaaS層的重要作用。
雖說腳本的方式能夠解決自己的應用的部署問題,然而不同的環境千差萬別,一個腳本往往在一個環境上運行正確,到另一個環境就不正確了。
而容器是能更好地解決這個問題。
容器是 Container,Container另一個意思是集裝箱,其實容器的思想就是要變成軟件交付的集裝箱。集裝箱的特點:一是封裝,二是標準。
在沒有集裝箱的時代,假設將貨物從 A運到 B,中間要經過三個碼頭、換三次船。每次都要將貨物卸下船來,擺得七零八落,然后搬上船重新整齊擺好。因此在沒有集裝箱時,每次換船,船員們都要在岸上待幾天才能走。
有了集裝箱以后,所有的貨物都打包在一起了,并且集裝箱的尺寸全部一致,所以每次換船時,一個箱子整體搬過去就行了,小時級別就能完成,船員再也不用上岸長時間耽擱了。
這是集裝箱“封裝”、“標準”兩大特點在生活中的應用。
那么容器如何對應用打包呢?還是要學習集裝箱。首先要有個封閉的環境,將貨物封裝起來,讓貨物之間互不干擾、互相隔離,這樣裝貨卸貨才方便。好在 Ubuntu中的LXC技術早就能做到這一點。
封閉的環境主要使用了兩種技術,一種是看起來是隔離的技術,稱為 Namespace,也即每個 Namespace中的應用看到的是不同的 IP地址、用戶空間、程號等。另一種是用起來是隔離的技術,稱為 Cgroups,也即明明整臺機器有很多的 CPU、內存,而一個應用只能用其中的一部分。
所謂的鏡像,就是將你焊好集裝箱的那一刻,將集裝箱的狀態保存下來,就像孫悟空說:“定”,集裝箱里面就定在了那一刻,然后將這一刻的狀態保存成一系列文件。這些文件的格式是標準的,誰看到這些文件都能還原當時定住的那個時刻。將鏡像還原成運行時的過程(就是讀取鏡像文件,還原那個時刻的過程)就是容器運行的過程。
有了容器,使得 PaaS層對于用戶自身應用的自動部署變得快速而優雅。
名稱欄目:云計算不光管資源,也要管應用
轉載來于:http://m.newbst.com/news31/104831.html
成都網站建設公司_創新互聯,為您提供虛擬主機、域名注冊、App設計、企業建站、靜態網站、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容