本文根據chris swan在2023年qcon上海大會的主題演講《容器化的雲》整理而成。在這次分享中,chris闡述了從「容器技術」到「容器化的雲」之間的差距,容器化對雲計算領域的經濟影響,以及容器的運維管理現狀。
\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n
chris swan,cohesiveft公司cto,cohesiveft是一家成立於2023年的雲網路公司,chris swan於2023年年初加入cohesiveft。
\u0026#xd;\n\u0026#xd;\n
chris swan之前在ubs(瑞士聯合銀行集團,簡稱瑞銀集團)承擔cto角色,並曾經代表銀行擔任開放資料中心聯盟指導委員會主任。在加入ubs之前,他在一家倫敦的投資銀行——精品資本scf擔任cto。chris之前在瑞士信貸(credit suisse)主導過大量的高階研發、架構和工程定位工作,包括網路、安全、資料中心自動化和新應用平台的引進等。
\u0026#xd;\n\u0026#xd;\n
在加入金融服務行業之前,chris曾在英國皇家海軍作戰系統擔任工程軍官,他擁有工商管理碩士學位和約克大學的oubs電子工程學士學位。
\u0026#xd;\n\u0026#xd;\n
chris是乙個敏銳的製造者和黑客,他在倫敦和布萊頓等地的開源硬體、raspberry pi 、物聯網社群非常活躍。他還是一些倫敦的科技和初期創業公司的顧問,也是infoq的雲專欄的編輯。2023年的qcon上海是chris swan第七次參與的qcon大會,也是他第一次在國內的qcon上演講。
\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n
容器是一項歷史悠久的技術,應用其實也已經相當廣泛。像是wordpress、drupal、joomla這些**託管服務,以及早年vps服務當中的openvz主機,之所以能夠提供相對廉價的服務,背後都有容器技術的支援。google可以說從2023年開始一直大力推動容器技術的應用,現在google的容器例項增長速度超過了每週20億個;google甚至會在容器當中跑虛機,在容器中的虛機裡面再跑容器。
\u0026#xd;\n\u0026#xd;\n
但是,docker的出現,給容器的世界帶來了深刻的改變。它並非對容器技術本身進行變革,但無論是ibm aix上的lpar,還是linux containers的技術,這些東西都僅僅是執行時。docker跟它們最大的不同在於,docker是由構建(build)-交付(ship)-執行(run)這三部分組成的——構建與交付是跟執行時同等重要的事情(如果不是更重要的話)。
\u0026#xd;\n\u0026#xd;\n
在以前,你想要在乙個地方開發構建,然後把構建好的東西運到另乙個地方執行,是一件很困難的事情。即使是虛擬機器,也沒有很好的解決這種「工作負載可移植性」的問題。但是乙個docker file則是這樣的乙個東西:我們可以把乙個地方構建的輸出弄成乙個映象,把這個映象挪到另乙個地方,然後讓這個映象在新的地方執行。docker hub可以說是docker體系的整個生態系統,你可以用任意工具和流程生成docker檔案映象,把映象傳輸/交付到docker hub,然後執行。
\u0026#xd;\n\u0026#xd;\n
這整個過程非常簡單。比如我最近在玩wrtnode這個東西,要獲取wrtnode的sdk,只需要很簡單的一行docker run命令即可。
\u0026#xd;\n\u0026#xd;\n
這種docker映象有點像是瓶裝飲料一樣,就好比我們想喝啤酒,不需要自己去釀酒,只要拉開易拉罐就行。有了docker映象,你無需再去擺弄各種各樣的工具鏈和sdk,只需「拉開易拉罐」即可,因此我也將其稱之為「瓶裝的軟體」。
\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n
容器技術相比虛擬機器,其效能優勢可以說達到了乙個量級的差距。根據boden russell在openstack上做的一次基準測試報告,乙個kvm例項的平均記憶體消耗有292mb,而乙個docker例項的平均記憶體消耗在49mb左右。在cpu overhead和啟動時間方面,docker基本都比kvm有乙個量級的優勢。
\u0026#xd;\n\u0026#xd;\n
目前,乙個aws上的micro例項,每小時的按需使用成本大約在一美分多一些。如果用docker來提供例項,那麼每小時的按需使用成本很可能會做到0.1美分。這一點對於雲經濟至關重要。正如經濟學家william stanley jevons的理論所呈現的,隨著商品的**越便宜,人們使用它們的場景和頻率會越來越多。
\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n
既然容器技術有如此大的優勢,為什麼基於容器的雲現在還沒有成為主流?我認為主要還是安全性的問題。虛擬機器可以利用來自硬體的信任機制來提公升安全性,這些機制在intel virtualization technology evolution的演示中有詳細的介紹。即使如此,虛擬機器仍然被視為相對不安全,比如前一段時間xen爆出乙個漏洞,導致aws不得不大量公升級自己的主機。
\u0026#xd;\n\u0026#xd;\n
即使是虛擬機器也仍然有被攻破許可權的危險,而現在的容器,雖然名為「容器」,但從安全的角度其實幾乎算不上有什麼隔離性了。
\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n
docker流行起來之後,我們很快看到一些相關的paas服務冒出來,如deis、octohost、dokku和flynn等。另外像是cloudcredo、apcera continuum、bosh、cloud foundry的工作也對docker生態產生了促進作用。
\u0026#xd;\n\u0026#xd;\n
paas這個東西有點被過度概念化,不同的觀點都摻乎在裡面。但以往來說,無論哪種paas都意味著開發者被迫使用特定的語言、特定的框架去開發他們的應用,而開發者不喜歡受限。
\u0026#xd;\n\u0026#xd;\n
我認為docker實質上可能是「反paas」的,它將可能讓我們脫離paas的種種技術選擇限制。我認為paas的實質是有關運維性——它實際上提供的是將部署、監控、擴容、資源管理簡化的能力。
\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n
我在前一段時間的dockercon上看到brad rydzewski的一條推文,很有意思,上面是這麼說的:
\u0026#xd;\n\u0026#xd;\n
在dockercon上我學習到了一件事實:所有人都在構建自己的編排平台。千真萬確。所有的人。
\u0026#xd;\n\u0026#xd;\n
的確,dockercon上每一家公司都分享他們自己做的一些編排工具,比如twitter發起的apache mesos,來自facebook的tupperware,以及google的kubernetes。我自己更看好kubernetes這個專案,現在微軟azure和ibm softlayer也都在參與這個專案了。
\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n\u0026#xd;\n
QCon上海第一天參會記錄
今天是qcon上海的第一天,在此記錄一下參會的感受。今年是qcon第一次在上海召開,舉辦的地點是上海光大會展中心大酒店,這個酒店的格局有些奇怪,幾棟樓圍成乙個圓圈,所以乙個樓層的面積會比較大,但是就像是迷宮一樣,各個會議室之間要轉好一陣子,哈哈。上午開始的第一場演講是twitter的vp帶來的,他和...
上海 專案 第一天
勞累了一晚飛抵上海,終於這麼過去了第一天.一天的時間不長,到了客戶處,才發現環境竟然完全不具備 操作間 一間會議室 的網路不通,根本沒辦法幹活.弄了老半天不成,說改無線.無線也悽慘.一連就斷.要換位置換到一定的方位才上去了.伺服器沒準備好.下午好不容易伺服器裝上了2003.想著去擺弄擺弄,卻不認手頭...
mysql 第一天 MySQL 系列第一天
mysql 系列第一天這篇文章是黑馬程式設計師 mysql 教程的筆記,好好學習哦。和 mysql 資料庫的互動 客戶端單向連線認證 連線伺服器,認證身份。mysql 資料庫屬於 c s 架構,所以開啟伺服器程式後,需要通過客戶端連線它。mysql 會自帶乙個客戶端程式,可以直接輸入賬號和密碼即可連...