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




















