摘要 : 一切看起來都是那么的美好,如果后來的事情按照這個設想進行下去的話,軟件廠商和程序員都會松好幾口氣,那樣我們的頭發還能和「普通地鐵站」里的人一樣,倔強的飄在風里。
2010年,幾個大胡子年輕人在舊金山成立了一家做 PaaS 平臺的公司,起名為「dotCloud」,這個名字讓我想起了微軟的「DotNet」。
dotCloud 主要是基于 PaaS 平臺為開發者或開發商提供技術服務。什么是 PaaS 呢?PaaS 的全稱是 Platform as a Service,也就是平臺即服務,這個概念在2010年熱的一塌糊涂,直到現在也沒涼下來。舉個例子來說,傳統的軟件產品開發一般是這樣的:
1、確定產品定位和需求,確定首次迭代的范圍。
2、制作界面原型。
3、技術選型,然后根據技術選型為每個開發者搭建開發環境和技術棧,例如 Java 環境、Python 環境、Ruby 環境、數據庫、中間件等等。
4、構建基礎技術框架和服務,包括日志、存儲、消息、緩存、搜索、數據源、集群擴展等等。
5、模擬用戶容量,構建測試環境。
6、開始編寫真正的業務代碼,實現產品功能。
7、迭代開發/測試,生生不息,周而復始,直到頭發掉光為止……
如果采用完善的 PaaS 平臺,可以直接忽略3、4、5三個步驟。無論你選擇哪個技術棧,PaaS 都會為你提供相關的配套設置,包括語言環境、運行環境、存儲和各種基礎服務。dotCloud 不僅支持諸如 PHP、MySql 等傳統技術框架,還包括 Node.js、MongoDB 等新興技術。基于 dotCloud 提供的開發工具和技術框架,你可以直接使用 dotCloud 的 SDK 編寫代碼和構建業務服務,并在聯網的時候把這些代碼推送到云端,實現自動部署和測試。
dotCloud 把需要花費大量時間的手工工作和重復勞動抽象成組件和服務,并放到了云端,另外,它還提供了各種監控、告警和控制功能,方便開發者管理和監控自己的產品。dotCloud 最初運行在 Amazon 的 EC2 上,不過由于 dotClout 高度的抽象層次,理論上 dotCloud 可以運行在各種各樣的云服務上面(我猜這就是 Docker 的功勞)。
一切看起來都是那么的美好,如果后來的事情按照這個設想進行下去的話,軟件廠商和程序員都會松好幾口氣,那樣我們的頭發還能和「普通地鐵站」里的人一樣,倔強的飄在風里。
遺憾的是,我們抵達的是「中關村地鐵站」!
PaaS 并沒有這樣一直春暖花開下去,事實上給開發者或程序猿做東西一直是件非常危險的事情,程序猿是一種很奇怪的動物,雖然他們常常分不清楚女友的發型和衣服款式,但是對開發環境和開發工具卻非常敏感并要求極高,稍不注意就會傷害到他們脆弱的心。所謂文人相輕,程序猿也不例外,對自己人常常是下死手的。所以,PaaS 的概念雖好,但是由于認知、理念和技術的局限性,市場的接受度并不高,市場的規模也不夠大。
除此之外,還有巨頭不斷進場攪局,IBM 的藍云,微軟的 Azure,Amazon 的 EC2,Google 的 GAE,VMware 的 Cloud Foundry 等等,可謂強敵環伺,而且強敵都不差錢,想玩多久就玩多久,想玩多大玩多大。在這種情況下,雖然 dotCloud 在2011年初拿到了1000萬美元的融資,但依然舉步維艱。
再也不能這樣下去了!dotCloud 的創始人 Solomon Hykes 把大伙召集到一起,說,咱們過的不舒服,也不能讓別人痛快了,干脆把我們的核心引擎開源扔到市面上看看,如何?大家面面相覷,最后把拳頭砸到桌面上,就這么辦。
山重水復疑無路,柳暗花明又一村!
這個基于 Linux Container 技術的核心管理引擎一經開源立刻得到了「業界」的熱烈吹捧,首當其沖的當然是程序猿們。看到好的開源產品,這幫平時靜若處子的貨色就像猴子看到賣桃的一樣,一窩蜂沖上去,邊吃邊說好吃。這個容器管理引擎大大降低了容器技術的使用門檻,輕量級,可移植,虛擬化,語言無關,寫了程序扔上去做成鏡像可以隨處部署和運行,開發、測試和生產環境徹底統一了,還能進行資源管控和虛擬化。程序員們流著口水驚呼,太方便了,太方便了。
業界幾個大佬也沒閑著,看看程序員們歡喜雀躍,再看看自己平臺上笨重的 PaaS,紛紛表示要接入或支持這個引擎。連最傳統的過氣帶頭大哥微軟都信誓旦旦的說,要以Windows 原生的方式運行這個引擎。
這個引擎的名字叫做 Docker,以 Go 語言寫成。
這個結果是 dotCloud 公司的幾個創始人萬萬沒想到的,他們本來是按照窮小子模式來培育 Docker 的,沒成想直接蹦出一個婀娜多姿的大美女,明眸善睞,顧盼生姿,不僅把各類程序猿迷的神魂顛倒,而且旁邊幾個高樓大廈里的土豪也時不時過來搭訕聊天。哥兒幾個坐不住了,開始合計。
咱本來是想撿點芝麻,結果懷里掉了個大西瓜,怎么辦?
目光堅定,勇往直前,為了理想繼續撿芝麻!
你傻呀,別和杭州那個產品經理學,這么好的機會砸腦門上,咱就甭躲了,專心培養西瓜吧。
從此以后,他們開始專心研發 Docker 產品和維護相關社區,過上了幸福而快樂的生活。2013年10月 dotCloud 公司更名為 Docker 股份有限公司,2014年8月 Docker 宣布把平臺即服務的業務「dotCloud」出售給位于德國柏林的平臺即服務提供商「cloudControl」,dotCloud 的歷史告一段落。同年8月,Docker 內部員工 James Turnbull 發布了面向開發者、運維和系統管理員的 Docker 電子書《The Docker Book》。
過去12個月,Docker 迅速成長為云計算相關領域最受歡迎的開源項目,Amazon、Google、IBM、Microsoft、Red Hat 和 VMware 分別表示已經支持 Docker 技術或準備支持。據說,有 Linux 的地方,就可以運行 Docker。看情形 Windows 也快了。
有意栽花花不開,無心插柳柳成蔭!
Docker 這個技術到底能解決什么問題呢?預知后事如何,且聽下回分解。