<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 業(yè)界動(dòng)態(tài) > 虛擬機已死 容器才是未來(lái)?

虛擬機已死 容器才是未來(lái)?

作者: 時(shí)間:2016-05-06 來(lái)源:網(wǎng)絡(luò ) 收藏

   vs

本文引用地址:http://dyxdggzs.com/article/201605/290774.htm

  也許有人會(huì )說(shuō) docker pull/push 多方便啊,docker build 多方便啊,可不要忘了,vm image storage 早在 openstack 里就解決了,自己處理也不是個(gè)大事,vm image build 也有 Hashicorp 的 Packer 工具代勞,不是個(gè)事。Docker 自豪的官方 docker registry 其實(shí)大家最多用用 base os image,那些 app 級別的出于信任以及定制考慮都會(huì )自己 build。而 Docker 自豪的 layered storage 也是無(wú)數血淚,aufs & overlayfs 坑了多少人?社區最近還特崇拜 immutable deployment,以把根文件系統弄做只讀的為榮,全然不管有緊急安全更新或者功能修正怎么處理——什么,你要說(shuō) docker rm && docker run 再起一批不就完事么?真有這么簡(jiǎn)單就好了。

  像 Linux kernel 和 git 那種才是正經(jīng) unix 設計的思想,分層堆疊,底層提供mechanism,高層提供 policy,各取所需,可惜人總是易于被洗腦,在接受各種高大上policy的時(shí)候全然忘了mechanism還在不在自己手里。

  回合二:正確性之爭

  強隔離、full OS 體驗、保留 mechanism,這才是正道。另外容器還隱藏了一個(gè)坑,/proc/cpuinfo和free命令輸出是host os的,這坑了無(wú)數探測系統資源自動(dòng)決定默認線(xiàn)程池和內存池大小的程序,尤以Java最為普遍。

  回合三:性能之爭

  容器粉絲津津樂(lè )道——啟動(dòng)容器快,容器的開(kāi)銷(xiāo)少。這兩點(diǎn)確實(shí)如此但好處真的有那么巨大么?誰(shuí)有事沒(méi)事不停創(chuàng )建?誰(shuí)的生命周期平均在分鐘級別?誰(shuí)的“用完全啟動(dòng)時(shí)間”平均在秒級? 至于說(shuō)到虛擬機浪費的資源太多,其實(shí)也就是個(gè)障眼法。理論上服務(wù)器的資源利用率平均不應該超過(guò) 80%而實(shí)際上絕大部分公司的服務(wù)器資源利用率應該都不到 50%,大量的CPU、內存、本地磁盤(pán)都是常年浪費的,所以 VM 的額外開(kāi)銷(xiāo)不過(guò)是浪費了原本就在浪費的資源罷了。就單機的巔峰 I/O 能力來(lái)言,VM 確實(shí)不敵容器。但平時(shí)根本就用不到巔峰狀態(tài), 原本一個(gè) VM 里多進(jìn)程干的事,非得搞多個(gè)容器跑,這容器開(kāi)銷(xiāo),這人力開(kāi)銷(xiāo)怎么算?

  關(guān)于容器還有一個(gè)幻想,那就是可以在物理機上直接跑容器,開(kāi)銷(xiāo)巨低、管理巨方便,用專(zhuān)用物理機方式提供多租戶(hù)強隔離。前面兩點(diǎn)上面已經(jīng)駁過(guò)了,話(huà)說(shuō) 還有人用 openstack 管理 docker 容器呢。 我只是說(shuō)一下第三點(diǎn),在一臺物理機上直接跑容器的一個(gè)最容易被忽視的問(wèn)題:現在用來(lái)提供云服務(wù)的物理機一般都是硬件超級牛逼,跑上百個(gè)容器都沒(méi)問(wèn)題,但問(wèn)題在于用戶(hù)很可能只需要幾個(gè)容器,所以要么跟人共用物理機,要么浪費資源白交錢(qián)。哪怕用戶(hù)需要上百個(gè)容器,出于容災考慮,也不可以把上百容器部署到一臺物 理機上,所以還是要么跟人共用物理機,要么浪費資源。

  方案

  以上是我的觀(guān)點(diǎn),我并不是“容器黑”,而是“實(shí)用白”。AWS、Azure、GCE 都主推在虛擬機上跑容器,按虛擬機收費,這非常明智的解決了問(wèn)題:老的純 VM 基礎設施不用動(dòng),計費照舊,單物理機可以被安全的多租戶(hù)共用,資源隔離有保證(起碼比共享內核強多了),把容器管理軟件如“kubernetes”給用 戶(hù),既滿(mǎn)足用戶(hù)的容器需求,又不擔心容器的多租戶(hù)問(wèn)題。

  所以我認為:以 VM 為基礎,以容器為輔助點(diǎn),要買(mǎi)就買(mǎi) VM,自己管理容器,別買(mǎi) CAAS 直接提供的容器,別看不到底下物理機或者虛擬機。用 VM 還是用容器,冷靜考察自己的應用上容器是否有好處。最后,殘念,VM 開(kāi)源管理軟件能搞個(gè)比 OpenStack 簡(jiǎn)單的東西嗎?


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 虛擬機 容器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>