写点什么

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

  • 2009-07-27
  • 本文字数:1139 字

    阅读完需:约 4 分钟

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

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

……[REST] 往往被定义成 WS-* 的对立面。另一方面,作为一个从 CGI Perl 脚本时期就开始写 Web 应用的人,一个 on-the-wire 协议的爱好者 […],一个乐于处理原始 XML 的人 […],一个欣赏语义网的人,一个将模型比协议看得更重的人,REST 的原则对我而言是非常自然的。

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

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

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

几年前 Amazon EC2 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

2009-07-27 22:312164
用户头像

发布了 133 篇内容, 共 41.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Golang easyjson

escray

学习 极客时间 Go 语言 4月日更

CloudIDE:为开发者写代码开启“加速”模式

华为云开发者联盟

开发者 代码 华为云 CloudIDE HDC2021

FusionInsight MRS:你的大数据“管家”

华为云开发者联盟

大数据 数据湖 云原生 华为云 FusionInsight MRS

面向软件 IT 专业的高校大学生职业规划问卷调查

打工人!

IT 问卷调查 职业生涯规划

【Node专题】Buffer理解

南吕

后端 nodejs 4月日更

软件 IT 专业的高校大学生创新创业问卷调查

五分钟学大数据

问卷调查

BOE(京东方)亮相数字中国 “三驾马车”加速物联网战略转型

爱极客侠

Java-技术专题-多线程顺序执行的8种方案实现

码界西柚

Java 并发编程 AQS 多线程 JUC

硬核系列 | 手写脚本语言编译器

九叔(高翔龙)

Java 编译器 脚本语言 词法分析器 编译器原理

Rust从0到1-代码组织-路径

rust 路径 代码组织 paths

低功耗深度休眠后无法唤醒、烧录程序,怎么办?(华大半导体HC32L136)

不脱发的程序猿

嵌入式软件 单片机 4月日更 华大半导体 HC32L136

南京的春天

小天同学

随笔 4月日更 春天 南京 散文

curl使用

Hex

工具

机器学习训练营第一次作业

学习

基于区块链技术的去中心化自治组织——核心属性、演进脉络与应用前景

CECBC

区块链

20年研发安全积累,5大研发安全能力让软件“天生安全”

华为云开发者联盟

DevOps 安全 DevSecOps 华为云 devcloud

Java中&、|、&&、||详解

Sakura

4月日更

BOE(京东方)成都数字医院开诊,投资60亿打造西南智慧医疗创新典范

爱极客侠

应“云”而生的 Java 框架 Quarkus:构建小而快的镜像

张晓辉

Java Docker Serverless CloudNative Quarkus

如何快速准备高质量的AI数据?

华为云开发者联盟

AI 数据 华为云 modelarts 数据标注

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

敏捷 Atlassian Jira 远程工作 Dropbox

拍立淘创始人潘攀博士为你揭开“以图搜图”的神秘面纱!

博文视点Broadview

Python异常的这些知识点你都get到了吗?

老猿Python

Python 编程语言 异常处理

连续三年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

阿里巴巴云原生

容器 运维 云原生 k8s 边缘计算

新疆重点人员管控系统搭建,指挥调度系统开发

RocketMQ 在使用上的一些排坑和优化

AI乔治

Java 架构 分布式 RocketMQ 高并发

6 张图带你彻底搞懂分布式事务 XA 模式

阿里巴巴云原生

Java 数据库 云原生 存储

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

DevOps 敏捷 远程办公 Atlassian Jira

老爷子这代码,看跪了!

why技术

Java

干货拉满!阿里公开内部P9级架构师(Java)成长路线图,满满的干货

Java架构追梦

Java 阿里巴巴 架构 面试 成长路线

谁说 Java 不能用来跑 Serverless?

张晓辉

Java Serverless Knative Quarkus

REST在IT/Cloud管理中的角色——API的对比_SOA_Dilip Krishnan_InfoQ精选文章