BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Jeff Barr谈论Amazon Web服务
录制于:

| 受访者 Jeff Barr 关注 0 他的粉丝 作者 Ryan Slobojan,翻译: 黄璜,审阅: 徐涵 关注 0 他的粉丝 发布于 2008年11月26日 | QCon北京2018全面起航:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!
13:46

个人简介 Jeff Barr,专注于推动web服务的认识,以及鼓舞开发者使用Amazon Web服务创建创新的应用。Barr定期与本土以及国外的开发者会面,介绍扩张中的Amazon Web服务平台,以及正在利用这些服务的业务展示案例。

   

1. 我的名字是Ryan Slobojan,与我在一起的是Amazon的Jeff Barr。不如你给我们介绍下Amazon所提供的云计算服务的一个概览吧?

过去几年我们在Amazon所做的就是把我们的计算基础设施开放给外部的开发者。这样我们自己应用所用的十分可靠、可伸缩性非常强的技术对于开发者同样也是可以获得的了,如存储、消息、计算、数据库存储等等。它们对于开发者都是开放并且可访问的,基于一个即用即付的收费原则。

   

2. 在我脑海里首先浮现出来的几个服务就是SimpleDB,S3和EC2。另有其它附加服务,还是这几个就是最主要的呢?

对于结构化存储我们有SimpleDB,对于块存储我们有S3,EC2是计算云服务,SQS用于消息。点对点的资金转移我们有灵活付款服务,而DevPay是用于囊括其它服务并基于这些服务构建你自己的业务模型的。

   

3. 你们目前观察到最流行的服务是什么呢?

有趣的是,所发生的情况是开发者由一个服务开始,然后认识到了,尽管从一个个体的服务你也完全可以得到价值,但你也可以试着开始把其它服务叠加起来并让它们相互作用。因此我们现在开始观察到整齐的云计算层次架构,我们听到那些将整个网站构建于云服务的企业家毫不夸张的说:“我们装配了如此复杂的一个系统而竟然不拥有一个属于我们的服务器。”我们喜欢听到开发者说他们的资本成本几乎是零而他们的一切都是基于云服务构建并可伸缩的。如果他们的业务成长而需要更多的服务器,只需要按需付费就行了;发果他们的业务停留在一个中等的水平,也不会发生由于预留了未使用的服务而产生的消费成本。

   

4. 不同的服务之间是怎么交互的呢?我们有了计算服务,有了Simple DB服务,还有S3…你能预想一下在一个网站里面他们是如何参与的吗?

有几种不同的方式。首先,有一个跨所有不同服务的共通认证服务。所以一旦你创建了你的Amazon开发者帐户,你使用同样的私钥,公钥机制来访问这些服务。这些服务都运行在同一个数据中心内部,所以对于在数据中心内部的服务之间,不会有带宽的费用。一个好的例子就是你将数据存储于S3,你可以拉出数据供 EC2来进行所有的处理,并将结果返还给S3--这样的带宽往返并不会对我们产生花费,因此我们也不会为带宽向开发者收费。而一个共通的付费机制也是服务的另一个共同部分,最终所发生的就是开发者将会把这些全部装配到一起。

一个十分普遍的架构是利用简单队列服务作为一个可伸缩应用各个不同部件之间的消息中间件。所以一直以来我经常讲起的就是Podango和它们的播客处理。他们有一系列的不同的功能单元运行在不同的EC2实例上,每个不同类型的功能单元,不管是转码,组装还是其它不同类型的处理,都是由单独的队列驱动的,并且都有一到多个EC2实例来拉出每个队列。如果队列变得特别繁忙,以至于要太多时间来完成工作,他们只需要增加为该队列工作的EC2的数量,这使得伸缩变得非常容易。他们低水平的处理下它们功能正常--如果你每小时只有几个播客它能为你处理;如果消息成千上万,队列就变得有些大了,系统会自动感知队列的繁忙程度并向上扩展作为回应。

   

5. Amazon是如何由在线Web商店开始,进入云计算服务领域的呢?

问得好。实际上,我们意识到开发者对我们而言是很好的新型业务模式。我们的第一个主营业务,当然了,是零售站点。第二个是其它的公司在Amazon商场发布和销售他们的产品。接着我们观察到... 五年前我们推出的第一个web服务是访问Amazon的产品目录,我们观察到开发者真正是将这个服务拿来即用,还带来了极大的精力,创新,和创造性,于是我们很快认识到,我得说是在推出那个服务几周之内,对我们而言开发者将会是极佳的新型客户基础。从那以后我们就在寻找将这些基础设施服务提供给开发者的办法,以使得他们能构建自己的应用。

   

6. 对于Amazon基于存储的服务而言,关键的一点是没有一个“万金油”存储系统。Amazon有着各种不同类型的存储服务。你能就此谈谈吗,其不足是什么,以及基于关系数据库的这个模型?

就目前而言有两个单独的存储服务。我们有Amazon S3,简单存储服务,其概念是未索引的块存储。你将块数据存储于S3,一次可存储1字节到5Gb不等。我们并不扫描,索引或者探究数据本身,实际上你存储数据时分配到一个键,你取回数据时也是用它。这就是所谓块结构存储模型了。另一个服务叫做SimpleDB;它是一个更为复杂的模型,你存储的数据通常是多行的项,而每一项又可以有不定数量的属性值/对与之相关联。这种情况下我们将对你存放的这些属性值进行索引,然后你可以以键取回这些项,你可以像这样说:“给我属性在某一范围的所有项,或者属性值等于某一值的项。”

   

7. 你能给出在什么领域我们能用到它们的例子吗?

一个普遍的应用是人们将大块的数据存储于S3,而他们将会用到简单的数据库作为这一数据的索引,意味着他们将块数据的元数据存储于SimpleDB。

   

8. 我想知道SimpleDB与微软的新产品SQL Server数据服务具有可比性吗?你探究过此事吗?就你的产品与微软产品的比较你有何指教?

你问得很好,实际我还未对此深究。我认为看到几个不同的公司试图解决同样的问题并且说:“我们需要构建伸缩性非常强,特别可靠,使用简单直白”而最终得到我认为十分相似的结果,是一件特别有趣的事儿...我不会说,特性与特性的进行对比,但是如果你从一个一定的粒度层面来看待,你会发现两者有着很多的共性。我们认为类似的服务将有着巨大的市场,我很肯定进入该市场的服务将产生激烈竞争。

   

9. 有没有任何关于将Amazon云计算平台基础设施全球化的计划,比如降低亚洲和欧洲的延迟?

我们没有一个明确的日期或时间帧来做这件事,不过当然我们满世界的巡游时总会听到各地的人们都在说:“我们需要EC2并且希望它更靠近我们。”所以我们在制定计划也将这些不同的因素认真地考虑进去了。我能举出的一个具体的例子是,基于去年我对Uk的几次造访,我听到来自以UK为主,包括欧洲其它地区的人们谈到:“我们喜欢S3,但如果可能的话,我们想要更贴近我们的存储”,于是去年底的时候我们在欧洲推出了Amazon S3,我们对其进展感到非常满意。

   

10. 近来S3和EC2出现了一次停机-如果我没记错的话持续了三个小时。你能解释一下发生了什么以及吸取的经验教训吗?

我之前提到了作为每个不同的Web服务请求一部分的认证服务。对一个服务的每个请求,不管是匿名请求还是仅对单个用户可用的私钥加密请求,都通过一个共通的认证服务来运行。它用于检查,比如说:“这个人真的被授权对此服务发出请求吗?”所以随时间进展,实际的访问模式,我们所授受的认证请求的数量,超出了我们的估计。尽管我们适当地安排了一定量不同的监控系统来检查请求级别与最终结果,却没有对这一认证服务安排监控系统,所以当系统超载的时候我们也没有察觉。所以我们认识到我们需要的是这个监控,实际上却没有到位。于是我们加入了这个部分,当然这种情况不会再发生了。我们也听到客户说当事情变遭的时候我们可能需要更加开放与透明。我们谈到的一件事是布置一个服务仪表盘,将每个服务的实时情况展现给开发者,这样他们就不会有问题,只需要检查这个仪表盘,将其作为一个单一的入口,这些就能实时的查看每个服务的实际运行情况。

   

11. 那么对于Amazon的未来有何期待现在有什么可说的吗?

很遗憾的是没有多少可说的。我能说的是,听起来可能是陈词滥调了,但却是百分之百能保证的,那就是我们对于认真听取客户的意见非常关注,并以最快的速度将客户的意见变成我们的服务。有时可能是整个全新的服务,通常可能是一些特定服务的附加特性。所以欧版S3是我能指出的很好的例证,我还能指出去年我和客户举行的一些单独的会议并说:“由于我听取了你的,你的,还有你的(意见)”,所有这些意见与一些市场研究组合在一起就演变出了一个新的服务,我也指出一些单独的特性并说:“这些服务的产生是因为我们听取了客户的意见”,我和我的团队世界巡游的时候有一条纪律就是举行展示会和开发者会议。我们耐心听取意见并作了很多笔记,在完成一天工作之前我们将旅行报告发回公司,然后会直接发送到开发者关系团队和所有单个服务团队的领导那里,让他们直接了解到市场上发生的状况。所以我们尽其所能的听取反馈并以最有效的方式返回给公司。

   

12. 当Amazon推出第一个Web服务,我记得是S3的时候,部分的认为是你们已经有了整个的基础设施,用以对你们的电子商务网站提供支持,然后把空闲的能力提供给外界。大体上你们现在可能已经到了要为各种各样的Web服务专门添加基础设施的时候了。这对业务模型会有什么影响呢?

实际上这是一种普遍错误的认识,说我们推出这一服务只是因为我们有空闲的服务器,想给它们找点事儿做。其实我们推出它始终都是专门为了给开发者带来价值。对我们而言它进展得很好。我们不会给出单个的数据,但从Amazon的矩阵我们总是想要让数据以正确的方式增长,我们日复一日的查看服务使用和收入的图表,很高兴看到图表总是在增长,发展势头良好。我们对于能让社区所有的开发者构建非常好的产品这一事实非常高兴。我们的社区已经有33万开发者了,我们喜欢看到他们所构建的各种各样不同的让人惊异的产品。

   

13. 很有趣的一个领域是服务端代码这一概念。现在我知道的是你们能通过EC服务来做到,但Amazon能面对如SimpleDB背后的存储过程这样的东西吗,能让开发者真正的在你们的服务上运行代码?

这确实是我第一次听到这种特殊的需求,但如果这确实是解决一个定制问题的最佳办法而且我们也认为有足够的客户可能会有这种问题,我会说这个我们也是能够做的。当然,这并不意味着我在承诺什么,但客户的意见和反馈意味着... 我知道这听起会很老生常谈了,但我们是一个客户驱动的公司,我们听到客户说:“这是我们想要的,我们如此需要它来让我们把事情做得更好”,作为一个公司这是我们能得到的最有价值的意见了。如果我们听到开发者说:“我需要一个存储过程模型以更有效的利用SimpleDB”我们会去研究并说:“Ok,我们怎么做才能最好的满足客户的需要呢?”至少目前为止我还没有听到谁有这一特殊的需求,但对于这一服务来说还在一个早期阶段,如果我们得到了这些需求我们肯定会保证直接反映给服务团队。

   

14. 你能预见有一天,比如,可能通过VMWare来制作一个虚拟机,而把它转换成对Amazon合适可用的吗?

我想已经有公司这么做了。有一个叫作Enomaly的公司开发了能够在多种不同类型的虚拟环境之前转换的工具。我很肯定它们是能转换的,我不清楚具体是什么方式,但我明白他们有着在EC2和VMWare之间相互转换的工作。我对这个产品不很熟悉。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT