程序員改變世界,DockerCon 2015 直播現場
六月的San Francisco 居然異常的涼爽。而與之相反的確是DockerCon 2015的如火如荼。2000人的參與的大會使這個不太熱的初夏平添了幾分熱度。美國時間6月22日,DockerCon 2015在舊金山舉行。作為本次DockerCon的贊助商之一,云雀科技也為大會增添了不少中國特色,CTO陳愷以及戰略及市場負責人于歷濛,出席了本次DockerCon,他們會在靈雀云微博直播本次盛會,并為未能到現場的Docker愛好者們帶來第一手的報道。
8:45 當我步入會場,奪我眼球的并不是業界大佬們齊聚此間的盛況亦或是會場本身的恢宏與喧囂,而是舞臺之上一位藝術家正在安靜的現場作畫。作為參加了無數會議的我,也覺得此處創意非常特別,給會議本身平添了幾分輕松詼諧的氛圍。
9:00 DockerCon 2015 大會正式開場。不得不說一下,大會的開場播放一部視頻漫畫,與靈雀云本月初的發布會有 異曲同工之妙。 漫畫回顧了”The dark days before docker”,以及我們已經習以為常的那句話: “It’s not working in prod”, “But it was working on my machine!”. 真的是這樣,如果沒有Docker, DevOps的世界又將灰暗成什么樣哪? 由衷感謝Docker為世界帶來的改變!
9:15 Docker CEO Ben Golub 正式上臺。Ben 自述Docker是他工作過的第五家startup。他認為Docker 已經具備全球影響力,并且已經改變了人們對IT世界的認識和工作習慣。他也同時感謝了兩年以來,對Docker和Docker社區做出巨大貢獻的公司和個 人,即包括諸多大公司比如IBM,,Google,Redhat等,也包括Docker項目的貢獻者和Docker Meetups 的組織者。之后,他展現了一組數據以證明這一年來Docker使用的突飛猛進。這組數據中,讓我尤為驚訝的是, 相比于去年同期,Container 的下載數量增長了近兩萬倍,由接近三百萬次到達了五億次!
之 后,他從應用架構的發展的角度陳述了Docker存在和蓬勃發展的必然性。他說到, 在云時代,應用程序的架構已經從根本上發生改變,從構建大型單體應用和使用巨型服務器的模式已經演進為構建由微服務(Microservices)組成的 應用和使用小型服務器模式。而使用Docker, 是這種演進的必由之路。
最后,他回顧了在去年DockerCon 14’ 提到的“The Future of Distributed Application in 5 steps”, 他認為Docker已經完成了五步中的前兩步,”Create lightweight containers”和“make container standard, easy to use”, 而下一步,Docker將更加專注于怎么增加其生態系統和讓Docker變得更開放。
“給Docker一個支點,我們可以用它撬起地球“ 他最后的結束語。
9:35 Docker 的靈魂人物Docker的聯合創始人 以及 CTO Solomon Hykes上臺!我個人認為他要講的東西是DockerCon的真正看點。
9:40 Solomon 并沒有直切主題,而是希望聽眾能關注“Big picture”, 能了解自己未來能在這個“Big Picture”中做哪些貢獻。他認為編程是創新最好的途徑,而互聯網是讓眾多程序員發揮其編程天賦最好的介質。程序員可以通過互聯網整合和控制大多數資 源,而現在的問題是如何讓程序員更好的和互聯網溝通。為了解決這個問題,他宣布了Docker未來五年的宏偉計劃:Doocker將構建新的軟件層,讓整 個互聯網可編程化(For the next 5 years, we’re going to build a software layer to make the internet programmable.)
9: 50 為 了實現這個宏大的計劃,Solomon認為首先要實現四大目標。第一大目標:重新發明程序員的工具箱(Reinvent the programmer’s toolbox)。他認為當前構建分布式應用的體驗不佳,原因是當前構建分布式應用的工具是在“分布式”這個概念之前產生的,并不能有效的用來構建分布式 應用。程序員應該有更好的工具!而如何做到reinvent哪?Solomon提出了Incremental Revolution的概念,其核心意義就是每次專注于解決一個核心的問題,然后重復這個過程。就我個人而言,這個概念和Lean的概念不謀而合,看來 coding和做Startup也是殊途同歸啊。使用這個方法,在過去的兩年里,Docker已經解決了runtime (Docker Container), packaging and distribution(Docker Registry), service composition (Docker Compose), machine management (Docker Machine),clustering (Docker Swarm)等問題。而Docker 關注的下一個核心問題,就是networking。Solomon 強調“網絡應該是應用的一部分(The network should be part of the application not the other way around)”。
之 后,Solomon正式發布了Docker Network,一個和Docker無縫整合的全新network stack 產品。該產品支持multi-host networking, micro-segmentation,standardized service discovery。而所有的這些feature都建立在現有網絡標準之上,無需用戶重寫代碼或者改變現有基礎架構。
10:00 Demo 時間, Ben Firshman ,Docker產品總監,上臺做Demo。他演示的重點是程序員如何在不用關心network和底層架構的情況下,通過Docker Compose將本地的應用部署到Production。首先他演示了如何用Docker compose 在本機啟動包含多個service的服務,之后展示了如何在CLI中通過Docker compose 在Docker Swarm支持的Production 環境中部署和啟動應用,最后演示通過Docker compose 擴展多個應用以應對增長的Web traffic。
10:05 Solomon 回到臺上, 闡述他關注的另外一個核心問題:Extensibility (可延展性)-如何讓程序員整合既有工具和Docker提供的新工具箱。為此,Solomon宣布了另外一個新產品:Docker Plugins。Docker Plugins 定義了四類擴展點:Networks,Volume,Scheduler Point 和Service Discovery。用戶可以通過擴展點定制化Docker的產品。Docker Plugins 還有三大特性,第一)Dynamic loading,用戶無需重啟就可以使用新部署的Plugins。第二)Multi-tenant, 用戶可以”Use different plugins for different applications”。第三)No Lock in。
10:15 Solomon開始強調Ecosystem。 緊接著,AWS的代表上臺demo。看來今年的嘉賓同樣重磅啊。
10:22 Solomon 再次回到舞臺上,揭示了他的第二大目標:Build better plumbing。他定義的plumbing包含眾多底層軟件模塊,例如security tools, storage,login,networking,isolation等。Docker既復用了也新構建了很多底層軟件,Solomon告訴我們,在現 有的Docker代碼中,有至少50%的代碼是和Plumbing相關的!以此為引子,他宣布了關于plumbing未來的發展計劃:創建The Docker Plumbing Project,將plumbing相關的工作從Docker的主流項目中分離出去,使Docker更加模塊化。
10:34 Solomon 緊接著拿出了兩個Plumbing的例子。第一個就是Security。看來之前業界關于Docker 安全問題的顧慮讓Docker把Security作為頭等問題討論啊。 他宣布了Notary (A trusted publishing system for any content),一個在Docker項目之外的安全模塊。另外一個是OS Containers。Solomon指出,Docker 已經不再僅僅是container了,Container的代碼只占Docker代碼的百分之五左右。在未來OS Container部分也將被從Docker的代碼中剝離出去,這個動作的結果就是RunC - A universal runtime for OS container。 RunC可以獨立運行,與其他的Docker組件沒有依賴關系。同時RunC也將成為第一個既支持Windows平臺也支持Linux平臺的 Container runtime。
10:50 Solomon 開始討論他的第三個目標:標準。他認為Docker真正的價值不在于技術而是讓人們共同認可一件事情。他提到了近期發生的標準之爭(比如和CoreOS) 并認為人們不應該關注如何定義“集裝箱”的尺寸和形狀而應該取得對事情的共同認可而進一步獲取更大的成就。Docker作為行業的領軍公司,應該責無旁貸 的來定義標準,進而把行業團結在一個標準之下。當然正確的標準會包含幾個元素:第一,標準的容器格式,Solomon在此公布了OCF,一個標準的容器格 式。第二,獨立管理:Open Container Project(OCP)會成為Linux Foundation項目一員,由委員會管理。第三,中立的參考實現:為此Docker貢獻出Docker所基于的runC代碼。第四,受廣泛認同、支 持:超過20家業界巨頭共同參與、支持Open Container Project。第五,廣泛接受新的意見和建議:由CoreOS主導的Application Container(appc)標準將與OCP整合,成為OCP項目的一員。
Docker的Solomon和CoreOS 的Alex最終握手的一幕讓人動容。我在今天keynotes上最大的感受就是Docker將變得更開放,將擁抱更多的廠商共建生態系統。對行業而言,這是一件幸事,未來,讓我們拭目以待吧。
作者:于歷濛,云雀科技戰略及市場負責人。持有美國密歇根大學(University of Michigan)羅斯商學院 (Ross School of Business)工商管理碩士學位(MBA)。就讀商學院前,于歷濛歷任惠普公司高級咨詢經理和軟通動力實施總監等職位。