2014-12-11 MacTalk By 池建強
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 這個技術到底能解決什麼問題呢?預知後事如何,且聽下回分解。
今日題圖來自杭州辣個項目經理的攝影作品,模特是他的大美女夫人。