我有一個程序員朋友,他每年情人節都要送女朋友一臺服務器。
他說:“誰不想在過節當天收到一臺4核8g的服務器呢?”
“萬一對方不要,我還能留著自己用。” 給他一次過節的機會,他能把浪漫玩的明明白白。
所以今年情人節,他自己一個人過。
太痛了,是那種布洛芬都不知道他哪里痛的痛。
雖然人跑了,但起碼還有服務器陪著他,但屏幕前依然單身的你呢?你連服務器都沒有。那么問題就來了,你買過服務器嗎?看著云廠商各種產品是不是有點懵。
你知道 ecs,vps,docker 容器 是什么嗎?它們有啥區別呢?
我們今天來聊聊這個話題。
物理服務器是什么?
我的柜子里有一臺大學時候用的廢棄電腦,自帶 cpu、 內存等硬件和操作系統,根據一些教程視頻,是可以做成服務器的。
像這樣一臺看得見摸得著的機器,其實就是云廠商頁面里提到的物理服務器或物理機。不同廠商叫法不同,有的廠商叫它獨立服務器。
跟家里電腦不一樣的是,云廠商的機器性能更好,核數更高,還有專業的機房和空調伺候著。那既然這樣,是不是就不需要買云廠商的服務器呢?
糊涂啊,一臺家用電腦跑起來 50 瓦,一年下來電費都好幾百,還得花精力伺候著不讓它關機,還真不如買別人家的劃算。
但問題又來了,云廠商的物理服務器一般都是核數較高,很多時候我們根本不需要這么高配的機器。怎么辦呢?這一點云廠商當然也考慮到了。
vps 和 ecs 是什么
云廠商一般會將一臺物理服務器分割成多個虛擬機。它跟我們在 windows 用VMware,VirtualBox建的虛擬機其實是一回事。每個虛擬機都擁有獨立的操作系統、資源(比如 CPU、內存、存儲空間)和公網 IP 地址。然后對外出售,這樣的虛擬機就是所謂的VPS(Virtual Private Server,虛擬專用服務器)。
VPS
但傳統 VPS 有個缺點,不支持用戶自主升降級,它的資源是預先分配的,不易動態調整。舉個例子,假設你買了1c1g的服務器,想在頁面上點點兩下升級成2c2g,這在傳統 VPS 里是不支持的。如果給 VPS 加入自主升降級的功能,那它就成了ECS(Elastic Compute Service,彈性計算服務)
ECS支持自主升降級
用戶可以根據需要隨時調整 CPU、內存、磁盤和帶寬,主打一個彈性。我們可以利用 ecs 學習 linux 命令,部署個人博客,做私人云盤存儲,甚至可以將自己做的游戲部署到 ecs 上邀請朋友來玩。
ecs的用途
docker 容器 是什么
買了 ecs 后,我們一般會開始部署自己的軟件應用。機器少的時候手動部署問題不大,機器多了后各種問題就來了,其中最明顯的就是,ecs 之間,如果底層操作系統不同,比如有些是ubuntu,有些是centos,部署應用的時候就會有各種環境問題。如果能讓軟件帶著操作系統環境一起去部署就好了,最簡單的方案是將軟件和操作系統一起打包成虛擬機部署在ecs中。但這樣就成了在 ECS(也就是虛擬機)中再運行一個完整的虛擬機,太重了。有解法嗎?
虛擬機上再運行一個虛擬機
有。既然多加一個操作系統太重,那我就只打包軟件和系統依賴庫加配置就好了。然后將這部分系統文件掛到 ecs 的操作系統下,利用一個叫Namespace的能力讓它看起來就像是一個獨立操作系統一樣。再利用一個叫Cgroup的能力限制它能使用的計算資源。這就省掉了一層笨重的操作系統,同時還讓軟件輕松跑在各類操作系統上。這就是我們常說的Docker 容器技術。
Docker容器是什么
總的來說就是,物理服務器上跑 ecs,ecs 跑 Docker 容器。多個 Docker 容器共享一個 ecs 實例 操作系統內核。
ecs和docker容器的關系
服務器怎么選
現在我們了解完他們的區別了,但服務器款式那么多,我們怎么選?如果你是小公司老板或個體創業者,想要好一點的物理機又不想自建機房,那可以考慮買獨立服務器。
如果你是像我一樣的個人開發者,或者是學生,那無腦沖云服務器 ecs。有了它,我們可以很方便的在上面部署 docker 容器,平時做做實驗,部署博客,完全夠用了。
容器里跑應用
這時候問題很多的小明就要問了,為什么不選擇大廠商的云服務器?是用不起嗎?喂喂喂,怎么說話呢?不是大廠云服務器用不起,而是小廠商的更有性價比。就以同樣是香港 1 核 1g 的 ecs 為例,小廠商一個月只要 1 碗紅燒牛肉面。大廠商則要 3 碗。
同樣是 24 核物理服務器,小廠商千把塊搞定,大廠商就是它的好幾倍。
這省下來的錢,能買多少份19 塊 95條的南極人內褲?
這時候問題很多的小明就又要問了,為什么要選香港服務器?大陸的不是更便宜嗎?
那是因為香港服務器沒有備案的煩惱,而且大陸也能輕松訪問,有時候一些熱點技術一出來,比如時下火熱的 ai 技術,網站越快上線就能越早拿到搜索引擎排名,備案得等個把月,這一等就白白錯失了很多成為下一個馬總的機會。
最后
好了,如果你覺得這期文章對你有幫助,記得轉發給你那不成器的兄弟。
最后遺留一個問題, docker 大概是什么你是了解了,那你知道它的內部架構嗎?
審核編輯:劉清
-
操作系統
+關注
關注
37文章
6896瀏覽量
123766 -
虛擬機
+關注
關注
1文章
946瀏覽量
28437 -
ECS
+關注
關注
0文章
50瀏覽量
20195 -
VMware
+關注
關注
1文章
298瀏覽量
21768 -
Docker
+關注
關注
0文章
492瀏覽量
11970
原文標題:面試官:Docker和傳統虛擬機有什么區別?
文章出處:【微信號:小林coding,微信公眾號:小林coding】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
請問QTE可以同幾種JAVA虛擬機集成
Linux容器和虛擬機之間的區別差異分析
什么是 Docker?Docker與傳統的虛擬機有什么區別?
![什么是 <b class='flag-5'>Docker</b>?<b class='flag-5'>Docker</b>與<b class='flag-5'>傳統</b>的<b class='flag-5'>虛擬機</b><b class='flag-5'>有</b><b class='flag-5'>什么區別</b>?](https://file.elecfans.com/web1/M00/49/C9/o4YBAFqrZCOAJk1nAAASzVeXk6g345.png)
評論