阿里云今年舉辦了首屆開發(fā)者大賽,大賽一共收到了1000多份作品,其中20件作品最終入圍復(fù)賽,經(jīng)過一天的評(píng)比,11月9號(hào)來自與福州的開發(fā)者江林錦(@江林錦)憑借“ECSMate”獲得了阿里云開發(fā)者大賽20萬元超級(jí)工具大獎(jiǎng),InfoQ對(duì)他進(jìn)行了采訪。
InfoQ: 首先請(qǐng)您做下自我介紹并介紹本次的參賽作品ECSMate?
江林錦:我是來自福州的開發(fā)者/商,本次參加大賽是偶然也是必然。
近兩年來一直在關(guān)注云計(jì)算和大數(shù)據(jù)的發(fā)展,直到今年才正式?jīng)Q定離職創(chuàng)業(yè)。
我八月初才離職的,正好趕上了阿里云首屆的開發(fā)者大賽,所以有了ECSMate。 ECSMate(ECS 是阿里云彈性計(jì)算服務(wù) Elastic Computing Service 的縮寫)是一款用于集中管理阿里云服務(wù)器的 Web 管理面板,設(shè)計(jì)目的是為了降低云服務(wù)器使用門檻、提升云服務(wù)器管理效率,它通過調(diào)用 ECS API 實(shí)現(xiàn)服務(wù)器級(jí)別的管理,通過在云服務(wù)器上安裝 VPSMate 實(shí)現(xiàn)了對(duì)各類系統(tǒng)管理功能(軟件安裝、文件管理、網(wǎng)站管理等)的擴(kuò)展。
InfoQ: 你提到ECSMate是使用Python的Tornado Web框架進(jìn)行開發(fā)的,那么選擇這個(gè)語言和框架是基于哪些考慮?其中你覺得這個(gè)框架還不盡理想的地方是什么?
江林錦:ECSMate使用Tornado Web 框架(以下簡(jiǎn)稱 Tornado)進(jìn)行開發(fā),主要是考慮三點(diǎn):
1.基于Python,大部分發(fā)行版都有默認(rèn)安裝,而且能夠與系統(tǒng)較好地進(jìn)行粘合
2.Tornado自帶了一個(gè)HTTP Server,無須另行安裝配置 HTTP Server 環(huán)境
3.Tornado的異步處理機(jī)制異步處理在ECSMate中發(fā)揮了重要作用,API 接口的調(diào)用和返回、系統(tǒng)操作、軟件安裝,都是異步過程,借助 Tornado 的異步處理機(jī)制,能夠避免在執(zhí)行這些操作過程中發(fā)生阻塞,很好地提升了用戶體驗(yàn)。
除了Tornado,ECSMate的快速成型還需要感謝Bootstrap和AngularJS。ECSMate 的設(shè)計(jì)使用前后端完全隔離的方式,后端使用Tornado驅(qū)動(dòng),封裝好各類 API。而前端則是采用Bootstrap和AngularJS構(gòu)建所有 UI 邏輯。
坦白說我使用Python的時(shí)間并不是太長(zhǎng),不敢對(duì)Tornado妄作評(píng)價(jià)。過去幾年主要還是使用PHP進(jìn)行開發(fā),Python只是簡(jiǎn)單地接觸,還沒有正式用于生產(chǎn)項(xiàng)目編碼,在ECSMate開發(fā)過程中其實(shí)是邊上手Python邊開發(fā)的。Tornado提供的功能已經(jīng)足夠滿足ECSMate,如果非要找不足,恐怕只能說是個(gè)人習(xí)慣問題了。
InfoQ: 你認(rèn)為在云時(shí)代,工具類應(yīng)用將會(huì)主要有哪些需求?
江林錦:工具類應(yīng)用這個(gè)名詞很好,其實(shí)在每個(gè)時(shí)代,工具市場(chǎng)都是非常旺盛的,加上不斷開放化、平臺(tái)化的趨勢(shì),從事工具類應(yīng)用的開發(fā)能讓小團(tuán)隊(duì)乃至個(gè)人非常容易地從這個(gè)市場(chǎng)中分一杯羹。
在電商時(shí)代,有大量圍繞電商開發(fā)的各類工具,這個(gè)我們可以在淘寶開放平臺(tái)上找到許多優(yōu)秀的產(chǎn)品和開發(fā)商。
在云時(shí)代,也將會(huì)有大量圍繞云平臺(tái)開發(fā)的各類云周邊工具和各類上層應(yīng)用,國(guó)外也已經(jīng)有大量成功的云工具開發(fā)商。
結(jié)合云的特點(diǎn)和國(guó)內(nèi)市場(chǎng)形勢(shì),除了ECSMate這類服務(wù)器/集群管理工具外,個(gè)人還看好以下兩個(gè)方向:
1.遷移工具:傳統(tǒng)服務(wù)向云的遷移、云際遷移
2.數(shù)據(jù)分析:越來越多的行業(yè)將通過云進(jìn)行數(shù)據(jù)分析和決策
3.實(shí)際上好好對(duì)比下云與非云的差別,很容易就能發(fā)現(xiàn)更多機(jī)會(huì)的 。
InfoQ: 請(qǐng)分享一下ECSMate中讓你比較得意的技術(shù)實(shí)現(xiàn)?
江林錦:除了前后端完全隔離和異步處理,ECSMate 技術(shù)上其實(shí)并沒有太多值得稱道的地方,參賽中有許多作品在技術(shù)上要優(yōu)秀得多。
幾年前,也許我還會(huì)為一個(gè)厲害的技術(shù)實(shí)現(xiàn)而瘋狂,現(xiàn)在的我更關(guān)心市場(chǎng)和用戶的需求,關(guān)心的是我需要在多久時(shí)間內(nèi)對(duì)市場(chǎng)做出響應(yīng),關(guān)心的是用戶對(duì)產(chǎn)品的需求,我需要更多地在市場(chǎng)和技術(shù)之間做出權(quán)衡地選擇。
InfoQ: 在開發(fā)的過程中,你用到了阿里云的哪些服務(wù)?請(qǐng)列舉這些服務(wù)的優(yōu)點(diǎn)和需要改進(jìn)的地方?
江林錦:ECSMate主要是通過調(diào)用ECS API和擴(kuò)展系統(tǒng)管理功能實(shí)現(xiàn)對(duì)云服務(wù)器的管理。
目前阿里云可能是出于安全、產(chǎn)品功能或財(cái)務(wù)結(jié)算的考慮,API文檔中仍有許多接口的權(quán)限還未開放,但是我相信離開放的日子不遠(yuǎn)了。
不過目前阿里云仍缺少一些我覺得必要的API的功能,如:
權(quán)限類:限定各個(gè)AccessKey的權(quán)限,實(shí)現(xiàn)通過一個(gè)Key管理單臺(tái)或多臺(tái)服務(wù)器而不是全部服務(wù)器。
日志類:系統(tǒng)啟動(dòng)日志、帶寬日志、磁盤IO日志等,方便用戶更好地跟蹤追溯云服務(wù)器的使用情況。
InfoQ: 請(qǐng)你分享一下獲獎(jiǎng)的感受?
江林錦:其實(shí)在參賽前我就已經(jīng)做好了大賽后的計(jì)劃,不論獲得的是哪個(gè)獎(jiǎng)項(xiàng)。 能夠趕上這次大會(huì)結(jié)識(shí)許多業(yè)內(nèi)的朋友已經(jīng)是很幸運(yùn)的事情,而又幸運(yùn)地贏得了這個(gè)獎(jiǎng)項(xiàng),緩解了我當(dāng)前不少的資金壓力。
不過目前更大的挑戰(zhàn)擺在我的眼前:如何利用好這筆為數(shù)不多的資金繼續(xù)我的創(chuàng)業(yè)進(jìn)程?如何維系 ECSMate 的發(fā)展?
InfoQ:ECSMate下一步的發(fā)展計(jì)劃是什么?
江林錦:ECSMate 仍將定位于為云服務(wù)器用戶提供易于使用的管理工具,今后ECSMate將成為一套云服務(wù)器綜合管理平臺(tái),你可以通過它快速創(chuàng)建和管理你的各類服務(wù)器,而不僅限于WEB服務(wù)器,對(duì)各類 Linux 發(fā)行版的支持也將會(huì)不斷完善,同時(shí)也會(huì)不斷跟進(jìn)與整合阿里云的各類云服務(wù),完善和擴(kuò)展更多系統(tǒng)管理功能。