2010年蜗巧,幾個大胡子年輕人在舊金山成立了一家做 PaaS 平臺的公司沉唠,起名為「dotCloud」通贞,這個名字讓我想起了微軟的「DotNet」焊夸。
dotCloud 主要是基于 PaaS 平臺為開發(fā)者或開發(fā)商提供技術(shù)服務(wù)仁连。什么是 PaaS 呢?PaaS 的全稱是 Platform as a Service阱穗,也就是平臺即服務(wù)饭冬,這個概念在2010年熱的一塌糊涂,直到現(xiàn)在也沒涼下來揪阶。舉個例子來說昌抠,傳統(tǒng)的軟件產(chǎn)品開發(fā)一般是這樣的:
1、確定產(chǎn)品定位和需求鲁僚,確定首次迭代的范圍炊苫。
2、制作界面原型冰沙。
3侨艾、技術(shù)選型,然后根據(jù)技術(shù)選型為每個開發(fā)者搭建開發(fā)環(huán)境和技術(shù)棧拓挥,例如 Java 環(huán)境唠梨、Python 環(huán)境、Ruby 環(huán)境侥啤、數(shù)據(jù)庫当叭、中間件等等。
4盖灸、構(gòu)建基礎(chǔ)技術(shù)框架和服務(wù)蚁鳖,包括日志、存儲糠雨、消息才睹、緩存徘跪、搜索甘邀、數(shù)據(jù)源、集群擴(kuò)展等等垮庐。
5松邪、模擬用戶容量,構(gòu)建測試環(huán)境哨查。
6逗抑、開始編寫真正的業(yè)務(wù)代碼,實(shí)現(xiàn)產(chǎn)品功能。
7邮府、迭代開發(fā)/測試荧关,生生不息,周而復(fù)始褂傀,直到頭發(fā)掉光為止……
如果采用完善的 PaaS 平臺忍啤,可以直接忽略3、4仙辟、5三個步驟同波。無論你選擇哪個技術(shù)棧,PaaS 都會為你提供相關(guān)的配套設(shè)置叠国,包括語言環(huán)境未檩、運(yùn)行環(huán)境、存儲和各種基礎(chǔ)服務(wù)粟焊。dotCloud 不僅支持諸如 PHP冤狡、MySql 等傳統(tǒng)技術(shù)框架,還包括 Node.js项棠、MongoDB 等新興技術(shù)筒溃。基于 dotCloud 提供的開發(fā)工具和技術(shù)框架沾乘,你可以直接使用 dotCloud 的 SDK 編寫代碼和構(gòu)建業(yè)務(wù)服務(wù)怜奖,并在聯(lián)網(wǎng)的時候把這些代碼推送到云端,實(shí)現(xiàn)自動部署和測試翅阵。
dotCloud 把需要花費(fèi)大量時間的手工工作和重復(fù)勞動抽象成組件和服務(wù)歪玲,并放到了云端,另外掷匠,它還提供了各種監(jiān)控滥崩、告警和控制功能,方便開發(fā)者管理和監(jiān)控自己的產(chǎn)品讹语。dotCloud 最初運(yùn)行在 Amazon 的 EC2 上钙皮,不過由于 dotClout 高度的抽象層次,理論上 dotCloud 可以運(yùn)行在各種各樣的云服務(wù)上面(我猜這就是 Docker 的功勞)顽决。
一切看起來都是那么的美好短条,如果后來的事情按照這個設(shè)想進(jìn)行下去的話,軟件廠商和程序員都會松好幾口氣才菠,那樣我們的頭發(fā)還能和「普通地鐵站」里的人一樣茸时,倔強(qiáng)的飄在風(fēng)里。
遺憾的是赋访,我們抵達(dá)的是「中關(guān)村地鐵站」可都!
PaaS 并沒有這樣一直春暖花開下去缓待,事實(shí)上給開發(fā)者或程序猿做東西一直是件非常危險的事情,程序猿是一種很奇怪的動物渠牲,雖然他們常常分不清楚女友的發(fā)型和衣服款式旋炒,但是對開發(fā)環(huán)境和開發(fā)工具卻非常敏感并要求極高,稍不注意就會傷害到他們脆弱的心签杈。所謂文人相輕国葬,程序猿也不例外,對自己人常常是下死手的芹壕。所以汇四,PaaS 的概念雖好,但是由于認(rèn)知踢涌、理念和技術(shù)的局限性通孽,市場的接受度并不高,市場的規(guī)模也不夠大睁壁。
除此之外背苦,還有巨頭不斷進(jìn)場攪局,IBM 的藍(lán)云潘明,微軟的 Azure行剂,Amazon 的 EC2,Google 的 GAE钳降,VMware 的 Cloud Foundry 等等厚宰,可謂強(qiáng)敵環(huán)伺,而且強(qiáng)敵都不差錢遂填,想玩多久就玩多久铲觉,想玩多大玩多大。在這種情況下吓坚,雖然 dotCloud 在2011年初拿到了1000萬美元的融資撵幽,但依然舉步維艱。
再也不能這樣下去了礁击!dotCloud 的創(chuàng)始人 Solomon Hykes 把大伙召集到一起盐杂,說,咱們過的不舒服哆窿,也不能讓別人痛快了链烈,干脆把我們的核心引擎開源扔到市面上看看,如何更耻?大家面面相覷测垛,最后把拳頭砸到桌面上,就這么辦秧均。
山重水復(fù)疑無路食侮,柳暗花明又一村!
這個基于 Linux Container 技術(shù)的核心管理引擎一經(jīng)開源立刻得到了「業(yè)界」的熱烈吹捧目胡,首當(dāng)其沖的當(dāng)然是程序猿們锯七。看到好的開源產(chǎn)品誉己,這幫平時靜若處子的貨色就像猴子看到賣桃的一樣眉尸,一窩蜂沖上去,邊吃邊說好吃巨双。這個容器管理引擎大大降低了容器技術(shù)的使用門檻噪猾,輕量級,可移植袱蜡,虛擬化,語言無關(guān)慢宗,寫了程序扔上去做成鏡像可以隨處部署和運(yùn)行,開發(fā)镜沽、測試和生產(chǎn)環(huán)境徹底統(tǒng)一了,還能進(jìn)行資源管控和虛擬化缅茉。程序員們流著口水驚呼嘴脾,太方便了统阿,太方便了。
業(yè)界幾個大佬也沒閑著筹我,看看程序員們歡喜雀躍,再看看自己平臺上笨重的 PaaS蔬蕊,紛紛表示要接入或支持這個引擎。連最傳統(tǒng)的過氣帶頭大哥微軟都信誓旦旦的說岸夯,要以Windows 原生的方式運(yùn)行這個引擎麻献。
這個引擎的名字叫做 Docker勉吻,以 Go 語言寫成。
這個結(jié)果是 dotCloud 公司的幾個創(chuàng)始人萬萬沒想到的旅赢,他們本來是按照窮小子模式來培育 Docker 的齿桃,沒成想直接蹦出一個婀娜多姿的大美女惑惶,明眸善睞,顧盼生姿短纵,不僅把各類程序猿迷的神魂顛倒带污,而且旁邊幾個高樓大廈里的土豪也時不時過來搭訕聊天。哥兒幾個坐不住了香到,開始合計鱼冀。
咱本來是想撿點(diǎn)芝麻,結(jié)果懷里掉了個大西瓜悠就,怎么辦千绪?
目光堅定,勇往直前梗脾,為了理想繼續(xù)撿芝麻荸型!
你傻呀,別和杭州那個產(chǎn)品經(jīng)理學(xué)藐唠,這么好的機(jī)會砸腦門上帆疟,咱就甭躲了,專心培養(yǎng)西瓜吧宇立。
從此以后踪宠,他們開始專心研發(fā) Docker 產(chǎn)品和維護(hù)相關(guān)社區(qū),過上了幸福而快樂的生活妈嘹。2013年10月 dotCloud 公司更名為 Docker 股份有限公司柳琢,2014年8月 Docker 宣布把平臺即服務(wù)的業(yè)務(wù)「dotCloud」出售給位于德國柏林的平臺即服務(wù)提供商「cloudControl」,dotCloud 的歷史告一段落润脸。同年8月柬脸,Docker 內(nèi)部員工 James Turnbull 發(fā)布了面向開發(fā)者、運(yùn)維和系統(tǒng)管理員的 Docker 電子書《The Docker Book》毙驯。
過去12個月倒堕,Docker 迅速成長為云計算相關(guān)領(lǐng)域最受歡迎的開源項(xiàng)目,Amazon爆价、Google垦巴、IBM、Microsoft铭段、Red Hat 和 VMware 分別表示已經(jīng)支持 Docker 技術(shù)或準(zhǔn)備支持骤宣。據(jù)說,有 Linux 的地方序愚,就可以運(yùn)行 Docker憔披。看情形 Windows 也快了。
有意栽花花不開芬膝,無心插柳柳成蔭望门!
Docker 這個技術(shù)到底能解決什么問題呢?預(yù)知后事如何蔗候,且聽下回分解怒允。
今日題圖來自二爺鑒書(微信號:findbook)的攝影作品埂软,模特是他的大美女夫人。
文章來自微信平臺「MacTalk By 池建強(qiáng)」所灸,未經(jīng)允許炫七,禁止轉(zhuǎn)載