阿里云大赛 20 万大奖获得者江林锦:ECSMate 开发心得

  • 水羽哲

2012 年 11 月 13 日

话题:Python云计算阿里巴巴语言 & 开发阿里云

阿里云今年举办了首届开发者大赛,大赛一共收到了 1000 多份作品,其中 20 件作品最终入围复赛,经过一天的评比,11 月 9 号来自与福州的开发者江林锦(@江林锦)凭借“ECSMate”获得了阿里云开发者大赛20 万元超级工具大奖,InfoQ 对他进行了采访。

InfoQ: 首先请您做下自我介绍并介绍本次的参赛作品 ECSMate?

江林锦:我是来自福州的开发者 / 商,本次参加大赛是偶然也是必然。

近两年来一直在关注云计算和大数据的发展,直到今年才正式决定离职创业。

我八月初才离职的,正好赶上了阿里云首届的开发者大赛,所以有了 ECSMate。 ECSMate(ECS 是阿里云弹性计算服务 Elastic Computing Service 的缩写)是一款用于集中管理阿里云服务器的 Web 管理面板,设计目的是为了降低云服务器使用门槛、提升云服务器管理效率,它通过调用 ECS API 实现服务器级别的管理,通过在云服务器上安装 VPSMate 实现了对各类系统管理功能(软件安装、文件管理、网站管理等)的扩展。

InfoQ: 你提到 ECSMate 是使用 Python 的 Tornado Web 框架进行开发的,那么选择这个语言和框架是基于哪些考虑?其中你觉得这个框架还不尽理想的地方是什么?

江林锦:ECSMate 使用Tornado Web 框架(以下简称 Tornado)进行开发,主要是考虑三点:

  1. 基于 Python,大部分发行版都有默认安装,而且能够与系统较好地进行粘合
  2. Tornado 自带了一个 HTTP Server,无须另行安装配置 HTTP Server 环境
  3. Tornado 的异步处理机制异步处理在 ECSMate 中发挥了重要作用,API 接口的调用和返回、系统操作、软件安装,都是异步过程,借助 Tornado 的异步处理机制,能够避免在执行这些操作过程中发生阻塞,很好地提升了用户体验。

除了 Tornado,ECSMate 的快速成型还需要感谢BootstrapAngularJS。ECSMate 的设计使用前后端完全隔离的方式,后端使用 Tornado 驱动,封装好各类 API。而前端则是采用 Bootstrap 和 AngularJS 构建所有 UI 逻辑。

坦白说我使用 Python 的时间并不是太长,不敢对 Tornado 妄作评价。过去几年主要还是使用 PHP 进行开发,Python 只是简单地接触,还没有正式用于生产项目编码,在 ECSMate 开发过程中其实是边上手 Python 边开发的。Tornado 提供的功能已经足够满足 ECSMate,如果非要找不足,恐怕只能说是个人习惯问题了。

InfoQ: 你认为在云时代,工具类应用将会主要有哪些需求?

江林锦:工具类应用这个名词很好,其实在每个时代,工具市场都是非常旺盛的,加上不断开放化、平台化的趋势,从事工具类应用的开发能让小团队乃至个人非常容易地从这个市场中分一杯羹。

在电商时代,有大量围绕电商开发的各类工具,这个我们可以在淘宝开放平台上找到许多优秀的产品和开发商。

在云时代,也将会有大量围绕云平台开发的各类云周边工具和各类上层应用,国外也已经有大量成功的云工具开发商。

结合云的特点和国内市场形势,除了 ECSMate 这类服务器 / 集群管理工具外,个人还看好以下两个方向:

  1. 迁移工具:传统服务向云的迁移、云际迁移
  2. 数据分析:越来越多的行业将通过云进行数据分析和决策
  3. 实际上好好对比下云与非云的差别,很容易就能发现更多机会的 。

InfoQ: 请分享一下 ECSMate 中让你比较得意的技术实现?

江林锦:除了前后端完全隔离和异步处理,ECSMate 技术上其实并没有太多值得称道的地方,参赛中有许多作品在技术上要优秀得多。

几年前,也许我还会为一个厉害的技术实现而疯狂,现在的我更关心市场和用户的需求,关心的是我需要在多久时间内对市场做出响应,关心的是用户对产品的需求,我需要更多地在市场和技术之间做出权衡地选择。

InfoQ: 在开发的过程中,你用到了阿里云的哪些服务?请列举这些服务的优点和需要改进的地方?

江林锦:ECSMate 主要是通过调用 ECS API 和扩展系统管理功能实现对云服务器的管理。

目前阿里云可能是出于安全、产品功能或财务结算的考虑,API 文档中仍有许多接口的权限还未开放,但是我相信离开放的日子不远了。

不过目前阿里云仍缺少一些我觉得必要的 API 的功能,如:

  • 权限类:限定各个 AccessKey 的权限,实现通过一个 Key 管理单台或多台服务器而不是全部服务器。
  • 日志类:系统启动日志、带宽日志、磁盘 IO 日志等,方便用户更好地跟踪追溯云服务器的使用情况。

InfoQ: 请你分享一下获奖的感受?

江林锦:其实在参赛前我就已经做好了大赛后的计划,不论获得的是哪个奖项。 能够赶上这次大会结识许多业内的朋友已经是很幸运的事情,而又幸运地赢得了这个奖项,缓解了我当前不少的资金压力。

不过目前更大的挑战摆在我的眼前:如何利用好这笔为数不多的资金继续我的创业进程?如何维系 ECSMate 的发展?

InfoQ:ECSMate 下一步的发展计划是什么?

江林锦:ECSMate 仍将定位于为云服务器用户提供易于使用的管理工具,今后 ECSMate 将成为一套云服务器综合管理平台,你可以通过它快速创建和管理你的各类服务器,而不仅限于 WEB 服务器,对各类 Linux 发行版的支持也将会不断完善,同时也会不断跟进与整合阿里云的各类云服务,完善和扩展更多系统管理功能。

相关报道

Python云计算阿里巴巴语言 & 开发阿里云