云計算成就代碼之美——首屆阿里云開發者大賽巡禮
2012年11月8日,眾所矚目的首屆阿里云開發者大賽決賽在杭州成功舉行。自7月20日大賽啟動以來,共計有超過兩千名開發者報名參賽。經過大賽評委團評審以及初選50強作品的網絡投票結果,最終有20強作品入圍***的現場決賽。
決賽由CSDN和《程序員》總編劉江、車庫咖啡創始人蘇菂、阿里巴巴集團資深架構師潘磊、阿里云資深總監唐洪組成導師團,設置了五分鐘陳述、導師淘汰、一分鐘PK、觀眾投票復活等多個環節。現場比賽對參賽者要求很高,不但要代碼寫得好,還要在有限的時間內清晰闡述作品的定位和優勢,不少選手都表示現場決賽對自己的綜合能力要求很高、一天比賽下來既緊張又收獲不菲。現場導師點評犀利,針對技術、作品的評論,甚至包括PPT制作及現場演講等的建議,都讓選手及現場觀眾受益匪淺。最終有1項作品摘得花魁,獲得超級工具大獎(獎金20萬元人民幣)、2項作品獲得***創意獎(獎金5萬元人民幣)、2項作品獲得***實用獎(獎金5萬元人民幣)、2項作品獲得***人氣獎(獎金5萬元人民幣)、另有10項作品獲得優秀工具獎(獎金2萬元人民幣)。
綜觀本次大賽,亮點不斷,參賽選手既有高校學生,也有編程超過10年的程序員老兵,更神奇的是,還有一對雙胞胎選手。這對雙胞胎姓氏不同、職業不同、參賽地不同,兩兄弟粉筆提交了自己的作品,并且同時入圍20強。直到決賽前的溝通中,大家才發現兩人原來竟是雙胞胎兄弟,最終兩兄弟表現不負眾望,均獲得了優秀工具獎。
賽后,選手們談到大賽獲獎感言時,回答幾乎是出奇地一致——“偶然”。但這“偶然”的背后,則是選手們不斷學習和創新的必然。本文將講述部分獲獎選手及其作品背后的故事,以期對廣大開發者有所啟發。
ECSMate:破釜沉舟、花開果結
ECSMate是一款云服務器 Web化管理面板,它針對阿里云云服務器而設計開發,旨在為云服務器用戶提供簡易、高效的服務器管理功能。除了具備云服務器系統資源查看、軟件服務管理、在線文件管理、網站管理、FTP管理、計劃任務等常用功能外,ECSMate還支持云服務器狀態控制、鏡像及集群管理。
據作者江林錦透露,他只花了兩個月的時間,就完成了ECSMate的開發工作,而之所以能在這么短的時間內完成,有五方面的原因。
***是堅強的信念。在江林錦看來,好作品遲早會發光的,無須擔心競爭。想做就做,才不會后悔。即使拿不到獎,能獲得亮相的機會也是不錯的,因為可以從競賽過程中發現自己的潛力。
第二是找到了好的契合點。江林錦此前曾在一家IDC企業從事互聯網基礎服務開發,與云計算密不可分,也因此積累了較多的技術儲備,尤其在云服務器管理方面有些心得。
第三是來自創業的壓力。江林錦現正處于創業初期,尚無收入,因此一個很現實的問題就是需要獲得資金來維持創業。為了能夠提交一個優秀的作品,江林錦日以繼夜,雖然開發周期只有兩個月,但每天工作時間大約有16小時,算下來相當于正常4個月的工作量。支撐他這樣高強度工作的信念就是“要先活下去”。
第四是借助開源的力量。ECSMate基于Python編寫的Tornado Web開發框架,是一個可擴展的非阻塞式開源Web 服務器,小巧而節省資源。在江林錦看來,技術并不是問題,難點在于對各種Linux版本的管理。因為不同Linux版本的環境不盡相同,所以他花費了大量時間進行測試和完善,以使ECSMate去適配不同的環境。
第五是要感謝原公司和家人對他的幫助和支持。
正是基于這五個方面的因素,江林錦打磨出了優秀的參賽作品ECSMate。在他眼中,ECSMate可以稱得上一個平臺,就像瀏覽器是網頁瀏覽的入口一樣,江林錦希望ECSMate作為Linux云服務器的管理入口,其他開發者可以在這個平臺上繼續開發插件,從而實現更多的產品功能。談及ECMate的未來,林錦相信,伴隨著阿里云計算產品體系的不斷擴充和完善,ECSMate將會有更大、更多的發揮空間。
藍劍波:弱冠之年、蓬勃向上
藍劍波,這個來自新疆的今年剛剛20歲的小伙子,現在一家網絡公司工作,兼任阿里云計算社區開放數據存儲版塊的第三方版主,也是本屆大賽年齡最小的獲獎者,憑借作品phpwind 8.7 OSS插件獲得了“***人氣獎”。本次開發者大賽,他提交了三個作品,除了獲獎的作品外,還有一個作品“DZ OSS插件”也入圍了50強,只是在細節設計方面稍遜一籌,方止步于50強。
phpwind 8.7 OSS插件實現了為phpwind8.7***整合阿里云OSS云存儲服務,站長選擇不同編碼的插件進行安裝并簡單設置即可開啟phpwind論壇附件上傳到OSS的功能,遷移原有數據時只需遷移少量數據,降低了正在運營的社區網站的遷移風險與成本。該插件沿用原有上傳方式,普通用戶使用原有方式上傳附件,phpwind可自動將附件轉存到OSS上,避免了對用戶體驗的影響。
談到如何支配這筆5萬元的獎金時,藍劍波羞澀地說道:“以前家里沒錢,我讀到高二下學期就輟學了。拿到這筆錢,我想2013年下半年去讀大學。”他的朝氣蓬勃,讓人深受鼓舞,頗為敬佩。
***創意獎:觸類旁通、另辟蹊徑
“創意”二字談何容易,那么廣州創立云信軟件技術總監孟巍和EasyHadoop開源社區聯合創始人向磊這兩位開發者為何能摘得“***創意獎”的呢?他們的一致回答就是:干了一件別人沒干的事。
雖然阿里云OSS提供了Java/.NET/PHP/Python的SDK,但仍需要對一些常用語言SDK的支持,而且便捷強大的OSS操控體驗也是很多用戶的需求。因此,孟巍開發的作品“OSS本地文件和郵件服務”首先實現了OSS Delphi SDK,并在此基礎上開發了基于OSS的本地文件服務和郵件服務。本地文件服務可將OSS轉化為傳統文件操作模式,提供“本地FTP服務器”和“Windows虛擬盤”兩種服務模式,用戶不必了解OSS API的技術細節,也可以方便地操作OSS上的文件。郵件服務則將OSS作為電子郵件的***存儲介質,實現了基于云計算的企業郵件服務器,支持POP3和SMTP協議,并且提供多用戶管理功能,具有廣泛的市場需求,也正是阿里云OSS商業應用方向的創新性探索。
向磊提交的作品“EasyHadoop”也是獨辟蹊徑,為簡化Hadoop的安裝部署和Hive的使用,在云服務器上實現了通過Web界面即可快速安裝部署Hadoop集群并管理Hive數據倉庫。該作品既可以作為快速操作大數據的簡易工具,也可以作為Hadoop和Hive學習的平臺。
談及參賽的想法,孟巍和向磊也像江林錦那樣,對開發者道出了自己的心聲:不要錯過機會,不要擔心失敗,認準一個方向并堅持下去,總有一天,你會得到回報;不要只是為了拿獎而參賽,即使作品沒有獲獎,只要認為對自己和他人有價值,就繼續更新和維護下去;開源不僅僅是代碼,更是一種人生態度,從開源中收獲的遠比付出的要多。
***實用獎:學以致用、佐雍得嘗
傅海平和王維,兩名中科院計算所研二的學生,在日常的學習和研究中,對云計算有了接觸,并相信是未來的大勢所趨。得知大賽的消息,便一起組隊報名參賽,利用學余時間,提交了“OSS C SDK”的作品。
“OSS C SDK”基于阿里云開放存儲服務OSS,提供了一套完整易用的C SDK,實現了OSS開放API接口規范中所描述的所有功能,包括Bucket、Object、Multipart Upload和Group Object四大類操作。作為SDK類的作品,該作品實現了多線程斷點上傳功能,支持超大文件上傳,為OSS設計了一套可擴展的壓縮文件格式,并提供了文件實時壓縮上傳和解壓縮下載接口。同時提供了文件夾同步增量上傳和下載的接口。良好的接口設計大大簡化了其他開發者基于該SDK進行編程的復雜度,使其他開發者能基于此SDK開發出更多簡便訪問阿里云OSS的工具和應用。目前“OSS C SDK”已提交到GitHub上,兩位同學說,他們將盡量以自己的能力為社區多做貢獻,回報社區。
結束語
首屆阿里云開發者大賽,讓阿里云開發者們***地展現了代碼之美,展現了程序員的力量,也讓我們認識到了阿里云開發者生態系統的朝氣蓬勃和潛力無窮,感受到了開發者們對云計算的關注和投入,更看到了阿里云開發者們為中國云計算的未來發展所帶來的巨大希望。
同時,在和獲獎團隊交流的過程中,也發現獲獎者抑或在云計算領域已有一定的技術積累,抑或獲獎作品在參賽前已有一些想法和實現的雛形,在參加大賽時最重要的是將自己的技術、能力和想法轉換成一個真正可用的作品。因此,如果想參賽獲獎,臨時抱佛腳是很困難的,***能提前準備、有備而來。在此基礎上,輔以堅持和努力,明年的阿里云開發者大賽獲獎名單中可能就能看見您的身影!加油,阿里云!加油,開發者!