REST在IT/Cloud管理中的角色——API的对比

在最近的一篇文章中,William Vambenepe比较了四种公开云计算API(AWS EC2,GoGrid,Rackspace以及Sun Cloud)以得出REST在IT/Cloud管理中的实用价值。

有趣的是,作为曾经参与创建WS-*协议栈的一员,William对REST原则并没有感到什么不自在。

从自己IT资源管理的背景出发,William在这一领域检验了RESTful的原则以及不同的IT/Cloud管理供应商是如何在他们的API设计中利用这些原则的。

过了一阵子之后,现在我开始怀疑我是否错过了REST的某些重要部分,以及其对于IT管理的应用,或者它是否只是“选择一个协议然后关注于模型”(与此同时仅仅避免其它替代方法的各种不足之处,这是一个正当的理由但不是REST其内在的好处)。

他从Amazon EC2的一点历史开始展开……

几年前AmazonEC2 API刚发布的时候,与同样使用SOAP和普通HTTP的替代者相比,它并没有什么能够打动我的地方,不过是选择一个协议并且保持一致罢了。他们让你选择普通HTTP还是SOAP,但这不过是改变消息被序列化的方式(输入中是使用URL参数,还是SOAP;输出中是否有SOAP包装器)。

[…]

时间很快到了2009年,许多人都已经开始创建和发布用于云计算的Restful API。API的背后都有着实际的实现,并且都明确声明是Restful的(不像Amazon)。此外,它们的作者在数据中心自动化与/或REST设计方面都有优秀的资历。首先出现的是GoGrid,接着是Sun Cloud API以及最近发布的Rackspace。所以我们现在有了具体的规范来分析和理解REST对于资源管理来说意味着什么。

...接下来讨论了GoGrid API,Rackspace “Cloud Servers” API,以及Sun Cloud API的细节。他总结到,尽管没有对这些不同的Cloud供应商深入到详细的特性对比,但它们的产品是非常相似的。

总的来说,它们在很多方面都具有相似性。它们让你进行相同的操作(基于映像创建服务器实例,撤消实例,为它们分配IP...)。有些特性不同:GoGrid更好地支持了负载平衡,Rackspace让你控制备份计划,Sun给予你集群支持(一种达到“群组管理”的方式,这在EC2 API中是内置的),等等。

他的结论是Sun和Rackspaces的API更为RESTFul,相应地他也会更愿意使用它们来编程。全文可以在他的博客上找到。你对于使用这些Cloud供应商的API开发有着怎样的经验呢?特别是使用微软的Windows Azure,它明显在William的分析中被忽略了。

查看英文原文:Role Of REST In IT And Cloud Management - A Comparison Of Cloud API's

你可能感兴趣的:(REST在IT/Cloud管理中的角色——API的对比)