API:云服务中最吸引人的一部分 云和虚拟化

2014-06-20    来源:D1Net    编辑:佚名
在云计算时代下,云服务的应用正逐渐深入广泛,与此同时,云服务的可用性和多样性正在持续地增长中,越来越多的厂商提供着他们的平台即服务、软件即服务或基础设施即服务。

  在云计算时代下,云服务的应用正逐渐深入广泛,与此同时,云服务的可用性和多样性正在持续地增长中,越来越多的厂商提供着他们的平台即服务、软件即服务或基础设施即服务。

  虽然私有云的概念还未对业界有多少的吸引力,但是混合云以及传统内部部署应用程序和云托管服务的整合正开始成为企业的选择。这一趋势为企业架构师和CTO们在规划把他们的IT业务迁移至云时提供了一个切实可行的选择。

  供应商为客户提供的云服务层次各有不同,有的是以基础设施即服务(IaaS)的形式提供原始计算能力和存储资源,有的是通过平台即服务(PaaS)产品托管定制业务逻辑组件,而有的则是通过PaaS针对特定业务问题提供一个完整的解决方案。所有这些云服务都存在着一个共同点:它们都需要使用某种类型的接口;虽然一个基于Web的控制面板看上去相当不错,但是这种方式是无法真正地实现自由扩展以满足大型企业应用的要求的,而这些大型企业又恰恰是云托管服务的主要用户。正是由于这个原因,云供应商们所提供的API允许企业用户以不同的方式与他们进行运行交互。

  如同在作出所有的架构决策时一样,当决定如何以及何时使用所提供的集成API时有很多需要考虑的因素,而API的可用性和适用性则是在选择云服务厂商时需要重点关注的一个关键因素。以下部分将探讨一些在选择过程中需要牢记在心的一些关键考虑因素。

  我是否需要供应商为我提供API?

  对于这个问题的简洁答案总是YES。即使一家公司的当前需求并不包括整合云服务,但是在未来不这样做很可能会出现问题。因此,我认为API的可用性应当是在决定使用何种云服务时的一个关键因素。确定API是否允许企业与其他云服务整合,尤其是他们的竞争对手,即尽早明确供应商的API开放程度将是一个好主意。应考虑如何整合内部部署的服务和云供应商提供的服务。供应商提供的API使用了何种技术?API使用的是REST服务、SOAP、编程语言的库,又或者是上述技术的某种组合?应当如何与你已开发的内部部署应用程序配合,以及如何进行整合?我还想要建议,企业应当审查API技术文档的完备性。在行业论坛和讨论组中关注其他同行对于API的常见抱怨。

  第三方API

  同样,用户也可以考虑是否可以采用第三方云API供应商的产品,这是实现服务交互的一个更好的方法,这是因为第三方API整合了很多供应商的后端。虽然选择第三方API能够更易于实现供应商更换、选择具有最低成本或最适合特定需求的供应商服务,但是它实际上并不是一个杜绝企业对供应商依赖性的方法。目前,业界对于云集成API还缺乏一个标准,以对API供应商的依赖来取代对服务供应商的依赖仍然意味着要选择使用一个合适的API。事实上,为其他云服务厂商提供API的企业也存在着某种依赖性,这就使得获取实际价值变得比较困难。我认为,这些API不太可能继续比那些服务供应商本身提供的API更具存在价值。

  我应如何使用它们?

  虽然首次使用云API的方法似乎是显而易见的—整合云服务至其他内部部署系统或者其他的云服务—它们可能更为强大,但是正确使用这些API需要用户多一些思考。一个系统配有具完备技术文档的强大API是一种至高境界,而这是内部系统所难以企及的。预算并不允许开发人员编写那些未来可能有用而目前不会带来如何好处的API。但是,通过使用云服务,已经为我们带来了使用集成API的麻烦。这就为大量的整合打开了一扇门,而这些整合工作在一开始并不明显。当一个企业监控系统检测到高需求时,可以将其与它的PaaS或IaaS供应商整合,并提供更多的容量。当企业收到一个高要求的出货需求时,企业的库存系统就会发贴至社交媒体。当授权服务与用户之间的雇佣关系终结时,授权服务就会锁定用户的帐户。当公司的所有服务已明确给出API定义时,只要整合API具有商业价值,那么整合的潜在可能性就会显著增加。

  当使用云服务时,另一个重要的决策就是使用哪一个API。大部分人都会使用一个现成的RESTful或其他的简单HTTP API,而这正是进行整合工作最简单的方法。但是,这些API的松散特性则意味着需要对API版本等因素予以重点考虑。如果一家企业已经在网络服务上投资并将其作为一种整合技术,那么他们就可能会发现,一个基于SOAP或基于HTTP的服务提供了一个更为简便的开发平台,这是一个在组织内部更易于理解和实现的开发平台。

  但是,我们需要确保我们不会迷失在这个完全整合系统的梦幻世界中。这一领域还没有标准,我们正在使用的所有API都是针对特定服务供应商的。最大限度地降低因供应商变更API、中断服务或者甚至是玩失踪所带来的影响是非常重要的,我们希望能够尽可能多地保持对这些API的控制,就如同这些API是我们自己开发的一样。这正是传统面向服务技术和方法的优势所在,即无论这些服务是在云中还是在内部部署系统中,它都允许我们对我们服务的整合进行充分的掌控。

  评论:

  综上所述,可以看出,云服务API是云服务中吸引人的一部分,但是与所有的服务相同,在确定哪一个服务最适合某家企业之前,应当充分权衡具体实施方法的优缺点,这是必不可少的环节。

1
3