探究 AWS 开发者生态最佳实践

  • 包研

2015 年 1 月 13 日

话题:AWS云计算语言 & 开发架构

根据 Gartner 的云基础设施服务魔力象限显示,AWS 在行业中遥遥领先,这与其成功的开发者生态建设不无关系。可能没有第二家云基础设施服务商像 AWS 这样重视开发者生态,这不仅因为 AWS 起步较早,更重要的是他们找到了一条与开发者互动的最佳实践,即由开发者驱动AWS业务发展的法则:开发者决定上线哪些服务。同时,由于 AWS 内部的工程师不断与开发者进行互动,有些创新是由 AWS 内部的工程师发起的。

开发者就像建筑师,在云上设计形形色色的服务,对于云基础设施服务商而言,开发者生态是否健康是其业务能否长远发展的关键。2012 年开始,AWS 在国内陆续举行免费的线下培训,尽管 AWS 截止到 2014 年 12 月仍处在有限预览阶段,开发者培训一直在继续。2014 年 12 月 12 日,AWS Summit 首次来到中国在北京举行,35 个课程、3 场动手实验课程吸引了数千名开发者,而这一切都是免费。如此大规模投入开发者的服务和教育背后的动机是什么?AWS 有哪些与开发者互动最佳实践值得其他公司和团队借鉴?在 AWS Summit 大会当天,InfoQ 带着这些问题专访了 AWS 全球开发者营销主管 Adam FitzGerald,以下为与 Adam 对话内容:

问:在众多的开发者需求当中你们是如何优先选择服务的,你们如何判断哪些用户的需求要先满足的?

答:事实上,我觉得开发者可能会有自己很多的需求和不同的兴趣点,AWS 能够在许多领域给开发者提供巨大的价值。而我们在选择的时候,在哪个领域可能会影响最大就选择哪个领域。对大部分的开发者而言,他们都愿意做一些比较新的尝试。比如说我们是不是能够提供一些工具,把一些重复性的准备工作,或者是在技术流程上重叠、重合以及繁琐的工作,通过自己的努力把它自动化。很显然这些领域就是我们的优先领域。有的时候 AWS 和亚马逊会先在内部寻求一些灵感,比如在 AWS re: Invent 宣布的编码部署服务,实际上最早就出自于内部的一个产品的应用。最后我们发现这个编码部署在整个的亚马逊的基础设施上取得了非常好的应用效果。像今天早晨在主题演讲中所说的,当我们发现一个产品在内部的应用是如此成功的话,我们就很容易作出推广的决策,因为我们发现客户面临的是同样的挑战,所以他们所面临的是同样的对产品的需求。

问:AWS 新服务出现的后,怎么决定应该在哪些区域进行推广呢?

答:事实上这是一个非常复杂的决定。这取决于这个产品本身的类型是什么,目标客户是什么,以及这个产品本身的技术属性是什么,所以很大程度上我们产品的推广路线图基本上是由客户所驱动的。因为事实上我们所推出的这些产品有 90% 的功能是由客户的一些需求决定,所以客户一旦有需求对我们来讲就是非常重要的信息,我们会非常认真地对待这些信息,然后来决定究竟如何做。所以主要衡量产品服务上线的标准是两条,第一是客户的需求,第二就是本身所蕴含的科技

一个产品推出的时候并不是每次都只在一个地区,有的时候可能是涵盖我们所服务的地区的一半的区域,甚至是有的产品是同时全球上市的,这并不是不可能。之所以有的产品只是在有些地区提供有限预览,这主要是是看一下用户群的反应,如果这个地区的用户对这个产品和科技还处在早期酝酿的阶段,或者因为产品本身的特性的问题的话,我们就要斟酌看下一步如何做了。

我们在全球 190 个国家和地区都有自己的用户,因为全球范围内服务器的不同和客户的不同,所以这对我们做决策来说是一个巨大的挑战。而在全球的范围内,中国的经验就可以给我们提供很多的帮助,告诉我们应该如何来操作。

问:为什么中国北京区的预览服务中,在海外提供的移动服务并没有完全在中国有限预览的版本里提供?

答:事实上,我们所有的服务,在进行发布的时候,在全球的不同的市场都是分步实施的。因为 AWS 所提供的服务是非常多样的,而且我们在不断地进行开放的创新,所以让每一项服务在世界上所有的地区同步开展,应该是不太可能的,我们通常所做的是和本地区的客户进行直接的交流,并且知道他们的需求是什么。而我们在选择某一个地区的时候也会看一下这个地区原本的客户的积攒厚度是多少,也会看看我们和他们进行交流之后得到的反馈是什么,另外我们在这个地区已经取得的经验是否让我们有足够的基础来推出这项服务。所以我们通常都是在某个地区进行整个的调研之后,再来决定是不是要延续到其他的地区去。对中国而言很显然一项核心的业务是云计算,当然对其他方面的服务,我们需要时间来看一下,我们会以尽快的速度,在倾听客户的声音之后,逐步地把它带到中国来。因为只有和客户交流之后我们才能知道他们对我们的需求是什么,有这方面的需求我们才能以更快的方式把这个带过来,所以不可能实现全球的同步。事实上我们正在进行的有限预览,就是跟客户进行对话的一部分,以此来了解客户的声音,看一下究竟他们需要什么。

问:无论在今天的峰会上还是 re: Invent 上都有大量的培训的课程,亚马逊这么重视基础的培训的初衷是什么?

答:这种培训对我们的开发者掌握相关的技能是极为重要的,因为他们需要掌握所有的新技术。而我们现在非常大的重点是能够帮助中国的开发者去尽快地掌握他们所需要的一些基本的技能,尤其是如何更好地使用云。第二个部分是关于认证,因为我们必须要让开发者逐步地了解到,在他自己的知识在逐步进阶到一定程度的时候,AWS 的认证就能认定他在这个领域已经是一个专家了。所以我们有几种典型的不同方面的培训,比如说关于系统架构的,关于运营方面的,以及关于 DevOps。这是我们在 re: Invent 上刚刚推出的一个新领域培训。所以我再次强调,我们的培训目的应该是使我们的开发者能够更好地掌握技能并且进行学习的一个手段。

问:您如何总结过去的一年中,AWS 在开发者生态做了哪些工作?

答:事实上我们工作主要是集中于以下的两个领域,第一,做科技领域的传播者,我们把它叫做 Evangelist(布道者),他们主要负责和开发者探讨 AWS 的平台,我们在全世界都有这些科技的传播者。第二,主要是集中于开发者的社区的建设,以促进开发者彼此之间进行交流,让开发者能够彼此分享他们在 AWS 上面的一些经验,这样我们就能够建立一个非常活跃的开发者的社群,他们可以彼此互动。因此我们做的工作主要有三大块,第一,组织一些用户的团体;第二是 Hackathon;第三“社区英雄” (“AWS Community Heroes”),我们会在所有开发者的成员中选择一些在 AWS 上做得非常好的成功经验,与所有其他社区的开发者进行分享。

问:开发者在地域性上有什么特点?

答:首先,我们在每个地区都要关注该地区重要的任务是什么。对中国而言,现在我们更需要关注的是移动平台,因为我们已经看到中国在这个领域的开发者群体有非常强烈的意愿提供移动应用和移动服务,这也许是中国地区的开发者社区和其他国际的开发者社区有所不同的地方,所以我们特别鼓励中国社区的开发者能够利用好 AWS 的平台,以便他能够在这一平台上提供移动服务以及相关的应用。

第二,我们必须要尊重在一个地区的地方特点,比如说就文化方面而言,我们要知道这个地区人们是如何来进行学习的。他是通过一些理论的教科书的方式还是通过培训的方式。再比如说人们是如何进行交流和组织事情的。所以我们必须要对这个地区的特点有所了解,这样才能够在各个地方对自己的开发者项目有不同的运作。比如说巴西可能会和中国有所不同,而中国可能又和美国有所不同。

但我想说的是,目前的国际经验告诉我们,开发者之间的共同点,要比他们之间的不同点更多。开发者的共同点是关注科技的问题,并且提出解决方案。而 AWS 恰好提供了这样一个绝佳的平台,让他们进行交流。

问:有一种声音认为 AWS 在国内做了大量的基础培训和教育市场的工作,但因此获益的不仅仅是 AWS,而是本土大量云计算的厂商。AWS 做了许多公益的工作,您对此怎么评价?

答:事实上,我们在尽力帮助我们的客户取得成功,既然我们有好的科技和解决方案,AWS 又能够提供最好的工具和平台,我们为什么不这么做呢?我觉得我们愿意这么做。

立即免费注册 AWS 账号,获得 12 个月免费套餐:点击注册

有云计算问题?立刻联系 AWS 云计算专家:立即联系

AWS云计算语言 & 开发架构