作者:ITValue / 日期:2014-03-14
文/ ITValue 張宇婷
此刻,采訪進行到第三個問題,我已預感到坐在對面的這位年輕小伙-唐洪,是一位智商極高,頗具挑戰的采訪對象。采訪之前得知,唐洪對待所有經手審閱的文字會精細確認到每一個標點符號,與檢查代碼如出一轍。
唐洪是誰?先說飛天。
如今“飛天”已經成為阿里各業務部門頻繁提及的詞匯。阿里大數據的計算能力依賴于飛天技術平臺;雙十一、三八節,每一次促銷活動背后,架設在飛天之上的聚石塔平臺支撐了一筆筆交易的完成;此外,余額寶、阿里金融、聚寶盆等業務順利展開也和飛天密切相關。
唐洪第一次聽到飛天是2009年,那時候他還在美國雅虎,對阿里能做成飛天表示了高度懷疑。一年后,他卻在阿里云計算CEO王堅博士的“忽悠”下,離開了硅谷,加盟阿里,成為飛天的技術負責人,帶領美國、杭州、北京多個團隊肩負阿里云計算整個技術底層的研發至今。2013年8月,服務器規模達到五千臺的飛天集群正式上線(內部叫做“5K”集群),阿里巴巴也因此而成為中國第一個獨立研發擁有大規模通用計算平臺的公司。在此之前,全球僅有以谷歌為首的屈指可數幾家公司擁有這一技術能力。
當我把技術、管理以及關于IT趨勢的問題拋給他時,唐洪會先開朗一笑,然后轉一圈炯炯有神的眼睛,瑯瑯作答。期間穿插著各種硅谷創業公司和各種IT技術英文。這是我在阿里西溪園區采訪的第三天,唐洪的回答信息量豐富、邏輯縝密,讓我興奮起來!
硅谷來的工程師
2010年底,唐洪加入阿里巴巴。最早,他在硅谷的Ask.com做底層分布式系統,這是北美第四大搜索公司。當這家公司決定逐漸放棄自主研發底層技術,而是向谷歌購買搜索結果再做上層應用定制時,唐洪去意漸生。
唐洪接下來的東家是雅虎,他在那里做大規模分布式計算系統Hadoop。“2010年的時候雅虎在Hadoop上的投入也在逐漸減少,而當時雅虎已經確定了把所有與數據相關的業務和處理都搬到Hadoop上。越來越繁重的業務壓力,讓程序員們為支持線上系統疲于奔命。所以我們有很多好的想法,都無法實現。”
在雅虎的經歷,使唐洪開始重新思考自己的職業發展:是放棄自己執著多年的東西去一些新領域嘗試新的技術挑戰,比如當時在硅谷火熱的社交網絡Startup;亦或加入一家真正有決心和堅持的公司去共同攀登大規模分布式計算系統的技術巔峰。
在美國, 谷歌、 微軟、亞馬遜的分布式底層已經比較成熟了,而當時阿里云做了兩年的“飛天”項目還處于起步階段,整個系統有很大提升空間,唐洪認為這是一個機會,跟王堅博士的一通越洋電話,讓他感受到阿里對做成云計算的決心。國內也有其他大型互聯網公司向他伸出了橄欖枝,高層面談,對方率先發問“你打算如何做到降低成本”的時候,唐洪意識到這個將結果當作目標的認識,顯然低估了做云計算的難度。
“世界上除了谷歌、微軟和亞馬遜,就只有阿里了,我們找不到第五家公司能有決心長期投入在自主研發大規模分布式系統上。”
谷歌、Facebook、亞馬遜與阿里云:We are doing something different
對比阿里的云計算與目前發展最成熟的北美大公司,筆者歸結為勇于向優秀的先行者學習,發揮阿里集團電商優勢,積累豐富的本地化服務經驗。
阿里云飛天更接近谷歌的底層架構,將所有的存儲放到統一體系下,利于提高資源使用和數據交換提煉的效率。亞馬遜則將幾個垂直服務獨立并行,例如S3、EC2以及EC2對應的EBS均是各建存儲系統的垂直體系。在服務上,阿里云充分借鑒亞馬遜通過Web API接口,用互聯網的方式向開發者提供服務。
微軟則背負著已有巨量企業級客戶的business目標,如何保住原有用戶,使其順利遷移到其Azure平臺上,不無掣肘。
當然Facebook也是分布式計算系統的實踐大家,追求實用性決定了Facebook的拿來主義風格。不用太多精力自主研發,采用MySQL、Hadoop、HBase等多套系統支撐,對于領導研發大規模分布式系統技術來驅動業務并無野心。
談到對做云計算的決心,谷歌似乎并沒有將向公眾提供計算能力作為戰略重心,這是因為云計算與其公司“organize the world’s information”的使命聯接有限。唐洪認為,阿里云跟亞馬遜一樣有“believe in it”的情懷,對于產業的判斷也將不局限于電商領域的視野。
AWS入華對阿里云的影響,是我此次采訪最常問及的問題。誠然亞馬遜的影響力必將讓云計算公共服務的理念更加深入人心,起到與國內公司共同教育市場的效應。唐洪坦誠說到,短期來看,由于市場足夠大,競爭不是最大的問題。亞馬遜在技術、產品的成熟度上強過阿里云,阿里云在機房管理、帶寬部署、運維人才儲備、本地化服務體系的積累上都留給對手不小的挑戰,為阿里云的產品打磨追趕提供了條件。
“將云計算在美國運維好和在中國運維好,These are two different things.”
“飛天”=阿里云技術體系
飛天是整個阿里云的核心技術部分,唐洪對她的定義是“飛天等同于整個阿里云的技術體系”,是云計算的后臺。飛天由兩部分組成,底層管理數據中心的資源,把數據中心里面的物理機器管理起來。上層是以Web API的方式為開發者提供服務。飛天提供的服務歸根結底是計算和存儲兩類,表現為阿里云目前主要的產品,未來還將產生更多的服務。
提到做云計算的困難,唐洪認為,首先是人,國內有分布式系統經驗的人不多。當時的團隊里只有少數工程師在谷歌或微軟算是做過或用過分布式系統,所以整個研發的過程是一個探索學習的過程。只有遇到實際的問題,團隊才會對工程上的難題有所領悟,這個是沒有辦法可以走捷徑的。對于其他公司已知的經驗,也需要審慎對待,不能盲目照抄。有些功能是在第一天開始就要做?還是等到有了具體需求再計劃?都需結合業務場景和研發力量綜合考慮。
其次,唐洪認為云計算是實踐科學而非理論科學。在系統設計的時候,工程師會設定相應的工作場景、硬件環境的完備性。但在實際生產環境下,各種硬件環境、參數配置,往往會打破設計時的假設,因此總是會碰到各種問題。在解決這些問題過程中積累的經驗,顯然不是教科書上可以學到的理論。
第三,云本身的運營和服務也是一個非常挑戰的事情,從專注于解決單個集群的技術挑戰,到服務好迅速增長的客戶群,“我們對云計算的理解逐漸豐滿”。提供7×24小時的公共服務,和支持內部應用的底層支撐系統,有很多不一樣的地方,甚至可以說挑戰更大。對外服務是很大的事情,需要技術和業務部門協同持續提高和運營。我們在借鑒了一些亞馬遜的經驗同時,不斷摸索積累經驗。
移動互聯網、數據、云是鐵三角,“Triangular Match” Made in Heaven
早在2008年,阿里集團已經將大數據、云計算作為戰略,確立了阿里云做“以數據為中心的云計算”的愿景。近期馬云的內部郵件,明確“云+端”戰略,打造“數據”公司,輿論或許有些意外,唐洪卻認為這是水到渠成,集團過去五年多對云計算的默默堅持,走到今天公司各業務對云計算越來越Open。
大數據是原油,工業時代可以從原油中提煉出各種原油產品,參與了工業發展的諸多環節,深刻影響了許多產業的發展。而云計算則是提煉原油的煉油爐,提供數據加工的計算能力。移動互聯網本身就是互聯互通,產生數據并與云聯接,當然云上也會產生數據反饋到移動互聯網端。
未來有活力的端,一定是與云相聯的!
Q&A
Q:為什么要把飛天平臺架設在華數的機房里?
A:與華數的合作,是優勢互補的選擇。一方面華數在數據中心的物理建設和管理上經驗更加豐富,而造房子并不是阿里云的優勢。我們的核心競爭力是大規模分布式計算的技術,做好飛天是我們的優勢。另外,華數也有很大一部分需要應用云計算的用戶,如政務、教育、醫療、交通等領域客戶的轉型升級,都需要用到云計算的能力。今天,中國有許多運營效率不高的IDC數據中心,我們也希望通過這樣的合作,來嘗試將飛天平臺部署到第三方的IDC數據中心,幫助他們提升運營效率,從而改變中國IDC產業的格局。
Q:如何理解云計算是互聯網、移動互聯網發展的基礎設施?
A:首先,互聯網業務本身的應用特性要求較大的規模,傳統單機無法滿足。
第二,互聯網的業務發展不是一個可預期的平滑增長曲線,很有可能在某一個階段,遇到爆發點,后臺計算和存儲的需求也很難預測,云計算的靈活彈性剛好滿足了這一需求。當業務爆增時,無需重新架設硬件服務器,雇傭更多的運維人員,這無疑是更低成本更高效的解決方案。
第三,絕大多數人其實對于IT架構的持續維護、軟硬件升級的挑戰是相當低估的。往往系統開始架設好沒問題,等到跑了幾年之后才發現各種硬件更新、軟件升級的IT維護是非常繁瑣的工作,更不用說如何在升級過程中保持服務不中斷。而云計算作為基礎設施公共服務,在一開始就考慮到整體平臺的升級,用戶只需要在網頁端做簡單的指令,即可以在不中斷服務的情況下,順利的在線遷移。
第四,對于互聯網創業者,云計算把機房部署、多線網絡接入、DBA等等大部分IT的活都干掉了,可能需要的IT人力也省掉了,創業者可以將更多精力和資本投入到產品創新上,能幫助項目快速實現的同時降低最初的投入成本。
云計算會改變一批創業者的生存環境。美國硅谷的創業公司大部分都在云計算上發展,云計算讓他們無需建立專業的IT后臺團隊,幾臺虛擬機足以滿足創業初期的需求。中國的IT環境對創業者來說更加惡劣。中國不但IT人才更短缺,比如DBA;而且連合格的機房條件,網絡條件都很難保證。
Q:開源技術已經很火熱了,為什么阿里一定要做自己的“飛天”呢?
A:很多人認為開源可以讓你在技術上走一些捷徑,我認為需要從幾個維度看這件事。首先,云計算是一個是需要有技術含金量的business。對于這類business,關系到核心競爭力的技術,決定了你與競爭對手本質上的差別,所以必須自己能掌控。我們為什么一定要做飛天,因為云計算本身有很高的技術門檻,產品的80%~90%都是技術,這個云計算后臺的核心技術一定是阿里云的核心競爭力,我們要有很好的把控力。我不認為Hadoop是一個能夠把控的東西。
開源可能在某些領域,比如說一些桌面級的產品,一些small scale的系統上可以滿足需求,大規模的分布式系統很難用開源的方式做好。即便有分布式系統背景的人能開發出來,也需要相應的環境去做測試,而大多數人或公司是沒有條件在幾千臺機器上去做驗證的。當時很多人用雅虎版本的Hadoop,就是因為雅虎的版本是在雅虎的幾萬臺機器上驗證過了才會發布。事實上,幾家做Hadoop的startup公司最多是在幾百臺機器上驗證過,到底能否在幾千臺機器上跑得好,是要打一個問號的。因此用開源軟件做分布式系統是不現實的。
今天基本上所有采用Hadoop的規模比較大的公司,用的都是定制版的Hadoop,比如Facebook、EBay、雅虎等。他們維護自己的版本分支,然后自己再打補丁。開源可以在一開始讓你走一些捷徑,但事后不斷打補丁,依然要花費很大的精力,此后再想要跳到新的Hadoop版本上是非常困難的。
第三, Hadoop本身缺乏一個類似Linux社區里Linus Torvalds這樣比較權威的一個人物去把控這個社區(這樣的人有個名字叫做Benevolent Dictator)。Hadoop社區里,因為利益驅使,大家很難達成一致,在一個vision指導下研發。像微軟、亞馬遜、谷歌的云計算平臺都沒有用Hadoop,也都沒有把自己的代碼開源出去,本質上的思考跟我們是一樣的,Hadoop是無法作為一個云計算底層平臺基礎的。另外一方面,云計算服務商真正自己研發的東西也不會開源出去,因為這是他們的核心競爭力。縱觀計算機產業歷史,一般都是第二、三名把代碼開放出去,希望聯合力量顛覆掉第一名,這是他們的戰略,但沒有人會把自己最核心的知識產權完全開源出去。
Q:平時您如何學習?
A:互聯網是一個很重要的獲取信息的渠道,通過它觀察各個產業可以學到很多東西。如果說要讀書的話,我可能會看各行業一些具體公司成長歷史,比如關于谷歌的書,星巴克的書。有些新興產業沒有書可參考,比如像Tesla,我會想辦法去搜集相關的資訊,并將他周邊的信息關聯起來,去理解這個產業會是怎么樣的變化。
Q:現在阿里云已經完成了飛天這樣的一個大的目標,下一個更偉大的目標是什么呢?
A:飛天談不上“做完”,今天做到了5000臺,下次可以10000臺,這是一個規模上的事情。另外成本是很重要的東西,在容災、服務的質量、性能提升上,還有很多事情要做,再做個5年、10年也是有可能的。(文/張宇婷 杭州現場報道)