BT

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

REST对云的实现真那么重要吗?

| 作者 Mark Little 关注 14 他的粉丝 ,译者 池建强 关注 4 他的粉丝 发布于 2011年2月1日. 估计阅读时间: 4 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

这些年我们听到了非常多REST为web开发带来的好处,特别是在Web服务环境和最近的SOA相关应用中。因此,随着云应用的增长,即使是在早期采用阶段,看到各种实现采用REST技术是毫不奇怪的。

早在2009年,William Vambenepe就考虑到了REST在云应用中的角色,结论是,在那个时间点,Sun和Rackspace会提供更多Restful的API,而不是其它厂商。我们看到两年后的情况并不完全如他所料,随着更多的开发体验,更多的用户和更多的选择,William看到,Amazon可能是到目前为止最成功的云供应商,他提出了这样的问题:“Amazon并没有使用REST,对于成功的云应用,REST是必须的吗?”正如他所言:

每次新的云API都会宣布它的“RESTfulness”特性,好象这是必须具备的特征。但是最成功的云API,AWS API,并不是RESTful的。

现在你可以不同意William的评价,虽然我们已经在使用云方面走得足够远,并假定这不是一个巧合,但这仍然是值得思考的有趣的环境。此外,William并不认为REST是不重要的,他只是认为至少在云的管理方面并不是那么重要,没有提供任何明显的好处,比如,RPC。

AWS主要采用了HTTP之上的RPC,通过在URL中增加类似?Action=CreateKeyPair的字串,可以发送HTTP的GET请求,或者DeleteKeyPair。与其他资源一样(容量、快照、安全组...)。Amazon没有把这些称为RESTful,而是叫做“查询API”(除了DevPay API,不知道什么原因,Amazon将其称为“REST-Query”)。

正如他指出的,RESTful API的缺陷并没有阻止许多人使用它,也没有限制或明显的影响已经部署系统的可扩展性。也没有影响安全或限制应用程序和语言的类型。

这里有一个经验法则,如果你的大部分调用的API来自面向对象语言的库,或多或少每个HTTP请求与方法调用相对应,那么你的API是多么的RESTful可能并没那么重要。

William指出,虽然Rackspace的工程师写的一篇早期文章对AWS API的RESTfulness进行的比较和对比是精确的,但看上去好象并没有什么不同:对于开发者和用户来说。总之,他建议最终云的RESTfulness无关紧要,只要简单就好。

AWS的API是个很特别的样例,因为并没有前人可以借鉴。正如我在写Sun的云API时,“REST并不重要,重要的是剩下的部分”。一年半之后,我认为这个案例已经结束了。

他的文章引发了很多评论,大部分是反对意见。例如一个评论是这样写的:

在我看来你说的并不假,虽然EC2的成功与他们的API关系不大,正如John(第三个回复)指出的那样。更普遍的感觉是我不确认自己喜欢这样的论调。如果Tim Berners-Lee设计了一个接口——具体到物理学家——一旦他们的机器安装了某些具体的“物理学家的协作软件”就可以共享成果,那么今天还会有Web和互联网吗?

另一个补充到:

你的问题非常棒,但是忽略了这样一个目标:这些细节(像RESTful API)主要影响的是库的开发人员,好的库可以把任何类型的API抽象为更面向资源的模型。这需要有人能有效和持续的进行概念映射。一旦设计优良的库开始使用,不会存在使用上的障碍,而且很少出现滥用和浪费的现象。最后的结果总是归结为一致性:只要你能提供一致的接口,即使与之前建立的概念和映射并不一致,这样的API给产品的成功带来的价值也是非常值得额外付出的。

随着越来越多软件厂商开发了的云实现以及开源的努力,RESTfulness更多的做为一个重要的特征被提及。但是William的问题是:如果最成功的云提供商没有使用REST,它真的那么重要吗?

 

查看英文原文:Is REST important for Cloud?

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT