技術(shù)巨頭們?nèi)绾蝹鞑ラ_源編程之精神
譯文“Go是由谷歌公司設(shè)計(jì),用于幫助其自身解決實(shí)際問題的編程語(yǔ)言。”Go語(yǔ)言設(shè)計(jì)者之一Rob Pike表示。
事實(shí)也許的確如此,不過目前該開源語(yǔ)言正越來越多地被世界各地的其它企業(yè)所使用,負(fù)責(zé)構(gòu)建立足于大規(guī)模場(chǎng)景的應(yīng)用程序。
同樣的情況也發(fā)生在Erlang方面。其最初是由瑞典電信企業(yè)愛立信開發(fā)的一種專有語(yǔ)言,旨在處理其硬件之上往來傳輸?shù)拇罅侩娫捊粨Q數(shù)據(jù)。然而Erlang隨后轉(zhuǎn)化為開源項(xiàng)目,如今正快速成長(zhǎng)為大規(guī)模應(yīng)用程序開發(fā)領(lǐng)域的高人氣選項(xiàng)。
類似的情況還有很多。Facebook公司開發(fā)出了GraphQL與BigPipe技術(shù),旨在解決其所運(yùn)行的社交網(wǎng)絡(luò)流程所面臨的、由15億活躍用戶每天進(jìn)行的數(shù)千億次API調(diào)用操作引發(fā)的挑戰(zhàn)。然而當(dāng)下這些技術(shù)成果已經(jīng)轉(zhuǎn)為開源,并被Drupal等內(nèi)容管理項(xiàng)目用于快速處理自己的移動(dòng)網(wǎng)絡(luò)頁(yè)面負(fù)載。
大家可以注意到了其中的共性:各類編程語(yǔ)言與技術(shù)方案都是由業(yè)務(wù)及互聯(lián)網(wǎng)巨頭所開發(fā)——專門用于解決其超大規(guī)模業(yè)務(wù)運(yùn)作所面臨的特殊挑戰(zhàn)——而在開源化之后,如今其開始為眾多常規(guī)規(guī)模企業(yè)的日常運(yùn)營(yíng)服務(wù)。
造成這種情況的部分原因在于技術(shù)的天然涓滴效應(yīng),Gartner公司研究主管Mark Driver解釋稱。“如今的前沿高科技將成為明天的標(biāo)準(zhǔn)產(chǎn)品,”他表示。“另外,大型企業(yè)(例如谷歌與Facebook)對(duì)于開放計(jì)算以及互聯(lián)網(wǎng)發(fā)展動(dòng)力的協(xié)作特性擁有深刻理解。因此它們自然樂于分享這些技術(shù)成果,從而引導(dǎo)整個(gè)業(yè)界進(jìn)一步以其為中心規(guī)劃發(fā)展方向。”
這對(duì)谷歌意味著什么?
谷歌這類企業(yè)也有可能是出于利己主義思維才對(duì)自家技術(shù)成果進(jìn)行共享。舉例來說,去年11月谷歌公司對(duì)其TensorFlow人工智能與機(jī)器學(xué)習(xí)引擎進(jìn)行了開源。很明顯,這類技術(shù)成果需要獲取大量數(shù)據(jù)才能切實(shí)起效。
通過放開其TensorFlow技術(shù),谷歌公司允許每位個(gè)人及每家企業(yè)通過這項(xiàng)技術(shù)獲準(zhǔn),并對(duì)其代碼做出一切改進(jìn)。不過作為通過其中大量服務(wù)所收集到的數(shù)據(jù)的實(shí)際擁有者,谷歌自身同樣處于受益者地位——而且其受益規(guī)模要遠(yuǎn)遠(yuǎn)超過與該技術(shù)相關(guān)的開源社區(qū)。
將Go這樣的語(yǔ)言推廣給每個(gè)人也能夠獲得可觀的市場(chǎng)回報(bào),Driver解釋稱。“贊助Go這樣的項(xiàng)目能夠幫助谷歌公司招攬到更多工程技術(shù)人才,”他表示。“這可能會(huì)給創(chuàng)新工作帶來理想的良性循環(huán)。”
涓滴效應(yīng)之所以如此重要,是因?yàn)楣雀?、Facebook以及其它互聯(lián)網(wǎng)巨頭幾年之前在構(gòu)建超大規(guī)模應(yīng)用程序以服務(wù)海量并行用戶時(shí)所面臨的難題,如今已經(jīng)擺在無(wú)數(shù)需要以基于Web或者移動(dòng)平臺(tái)方式向大量客戶交付應(yīng)用程序的中等規(guī)模廠商與初創(chuàng)企業(yè)面前。
這些企業(yè)赫然發(fā)現(xiàn),自己所面臨的問題事實(shí)上已經(jīng)被行業(yè)巨頭們所解決。
Acquia就是這樣一家公司。其利用Go語(yǔ)言構(gòu)建自己的軟件即服務(wù)產(chǎn)品,旨在為Drupal內(nèi)容管理系統(tǒng)提供企業(yè)級(jí)服務(wù)。“正有越來越多的企業(yè)轉(zhuǎn)型為數(shù)字化企業(yè),即需要處理來自客戶、移動(dòng)設(shè)備以及其它來源的數(shù)據(jù),”Acquia公司副總裁Christian Yates表示。
“這恰恰是大型互聯(lián)網(wǎng)廠商們以往曾經(jīng)面對(duì)過的狀況,它們也已經(jīng)構(gòu)建起軟件方案加以應(yīng)對(duì)。其高度關(guān)注并發(fā)性、延遲水平以及性能表現(xiàn),而我們?nèi)缃褚灿兄瑯拥脑V求。”
他同時(shí)指出,他的公司對(duì)多種不同編程語(yǔ)言進(jìn)行了測(cè)試,并發(fā)現(xiàn)Go的速度表現(xiàn)最為出色。事實(shí)上,其開源屬性也使得編程團(tuán)隊(duì)得以參與到速度調(diào)整工作當(dāng)中并實(shí)現(xiàn)快速創(chuàng)新,他補(bǔ)充道。
“在市場(chǎng)上得到廣泛采納,擁有理想的源代碼可視能力并了解其如何幫助開發(fā)人員不斷提高生產(chǎn)效率,”Yates指出。“而我們也已經(jīng)開始利用來自Etsy及其它互聯(lián)網(wǎng)企業(yè)的工具幫助自身進(jìn)行服務(wù)器管理。”
Web工具早在Web出現(xiàn)之前既已誕生
當(dāng)初愛立信公司在上世紀(jì)八十年代中葉開發(fā)Erlang語(yǔ)言時(shí),萬(wàn)維網(wǎng)事實(shí)上還沒有被發(fā)明出來。根據(jù)Gartner公司研究主管Mark Driver的說法,事實(shí)證明Erlang可謂眾多Web應(yīng)用程序的最佳開發(fā)手段。
“Erlang語(yǔ)言能夠處理大量交換數(shù)據(jù),其功能定位顯然超出了誕生時(shí)所處的時(shí)代。如今很多企業(yè)都在著手構(gòu)建面向消息的超大規(guī)模應(yīng)用程序,而Erlang在這類開發(fā)工作中的表現(xiàn)堪稱完美,”他表示。舉例來說,于2014年2月被Facebook公司收購(gòu)的WhatsApp消息收發(fā)平臺(tái)就利用Erlang來支持該服務(wù)的超過9億名用戶。
另一家類似的廠商為Bet365,這是一家來自英國(guó)的在線博彩公司。目前其在高峰時(shí)段擁有超過700萬(wàn)并發(fā)用戶,且每年流量增長(zhǎng)幅度達(dá)到20%左右。該公司最初利用Java與.Net構(gòu)建其在線平臺(tái),但隨著業(yè)務(wù)的擴(kuò)大其發(fā)現(xiàn)后續(xù)擴(kuò)展工作陷入困境。而且根據(jù)該公司首席軟件架構(gòu)師Chandrashekhar Mullaparthi的說法,其也面臨著及時(shí)推出新型服務(wù)這一嚴(yán)峻挑戰(zhàn)。為了解決問題,他們開始利用Erlang構(gòu)建這套業(yè)務(wù)平臺(tái)。
“Erlang對(duì)我們來說可謂理想方案,”Mullaparthi表示。“它當(dāng)初是由一家電信公司開發(fā)而成,但卻能夠很好地解決我們目前所面臨的實(shí)際難題。為了構(gòu)建一套規(guī)模符合要求、具備高并發(fā)性且擁有‘五個(gè)九(即99.999%)’可用性的應(yīng)用,我認(rèn)為除了Erlang再無(wú)其它備選方案可用。”
縮小人才缺口
隨著越來越多的企業(yè)開始提供超大規(guī)模、基于互聯(lián)網(wǎng)的應(yīng)用產(chǎn)品,利用由Facebook、谷歌或者愛立信打造的編程語(yǔ)言雖然能夠解決問題,但卻也造成了嚴(yán)重的相關(guān)開發(fā)人才缺口。
Bet365公司就遇到了這樣的窘境。盡管Erlang已經(jīng)是一款成熟的語(yǔ)言,但其直到最近才被廣泛應(yīng)用于大量在線平臺(tái)的開發(fā)工作,這意味著招聘Erlang開發(fā)人員的工作變得非常艱難。Mullaparthi指出,其不得不給出高昂的工作津貼以吸引合格人才。
“大家可以想象,如果辦公室里一位可用的技術(shù)人員都沒有,日子會(huì)多么艱難,”他總結(jié)稱。“但只要意識(shí)到了問題,其終將得到解決。現(xiàn)在我們開始與那些身處國(guó)內(nèi)其它城市的開發(fā)人員建立聯(lián)系,允許他們以遠(yuǎn)程方式完成工作。另外,我們也在積極招納應(yīng)屆畢業(yè)生并對(duì)其進(jìn)行內(nèi)部培訓(xùn),”他指出。
原文標(biāo)題:How tech giants spread open source programming love
【51CTO.com獨(dú)家譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明來源】