没有什么能像公有云这样对IT规划和运营产生如此大的影响。许多企业已经采用了公有云,几乎每家企业都希望在未来可以更多地使用。然而,IT团队和开发人员也许还没有意识到公有云真正的潜力,如果他们只把它当成是一种服务器整合的托管形式。组织应评估那些超出托管基础架构以外的其他类型的云服务,如工作流和部署管理。
托管是运行云应用的基础,但应用通常会使用由操作系统和中间件提供的服务,与他们的服务器资源进行交互。云不光作为一种服务器资源,还提供其他服务,可以扩大其效用,创造新的商业价值并加速采纳进程。
有三类服务对辅助你的云托管基础设施尤其有价值:工作流管理、部署管理和移动或物联网(IoT)服务。想要了解这些服务的价值,一种方法是看看两大主要的云服务提供商——亚马逊网络服务(AWS)和微软Azure,是如何处理这些方面的。
工作流管理
公有云在容量和地理区域上具备可扩展性和弹性。但是,当下的大多数应用程序不支持这些功能。组件和服务的动态登记,以及负载平衡和工作流自动化,是云计算必不可少的。虽然大多数企业拥有这些功能的本地实现,但在云中未必有效。
AWS和微软都提供高度发达的工作流管理服务作为其公有云的一部分,但这些服务可能很难评估,因为他们由许多松散的产品组成,而不是单一的平台。比如,工作流功能在亚马逊那里是同负载均衡分开的,而在微软则更紧密的藕合在一起。
评估工作流管理功能的价值,需要考虑云应用的架构。开发人员可以设计一个完全生存于云的应用,围绕一整套增强基础设施即服务(IaaS)的服务,如工作流管理服务。也可以构建一个使用云作为前端,无论是用一般的工具做前端并使用一个类似web的界面连接到数据中心,或使用与他们的数据中心平台相应的平台即服务(PaaS)产品- 如Azure的.Net版本。
部署管理
部署和应用生命周期管理(ALM)的自动化工具已经存在了几十年,但很多企业只使用基本的部署和操作工具,因为他们的数据中心应用都部署在静态资源上。当寻求超出托管基础架构以外的云附加功能时,ALM是另一个目标领域。
AWS的产品组合包括OpsWorks,兼容Chef的DevOps和用于管理的CloudWorks。AWS的CodeDeploy、 CodeCommit和CodePipeline提供面向开发人员的部署和生命周期管理工具。这些工具当一个应用的生命周期都在云里或者前端是云托管时最为有效。微软Azure作为一个PaaS环境,则采用一种更加混合友好的方式,如果你正在使用微软的数据中心软件的话。Azure工具支持ALM的所有阶段,可以使云计算,包括混合云,部署和管理更加简单直接。
移动和IoT
移动和物联网服务是除云托管基础架构以外的另一个可以进军的领域。移动性和物联网给目前IT专业人士提出了一系列新的挑战。这不只是识别或确保一堆新的设备安全;它涉及到一个能够知道我们想要什么的应用驱动的未来,因为在某种程度上,这些设备共享我们的环境。这种动态个性化的未来鲜有先例,而云计算似乎将发挥更大的作用。
在云中创建一个移动或者物联网应用有三种选项。一是从大多数云供应商提供的基本web前端工具构建应用。二是使用一个云供应商提供的专门的移动IoT服务。亚马逊的IoT网络服务是IoT设备支持的一个不错的起点,其Mobile SDK可以让你更轻松地构建移动应用程序。Azure IoT Suite,像PaaS一样,提供高度整合的IoT模板,以方便你的应用程序开发,而Azure的移动服务和移动应用服务也为移动计算提供同样的功能。记住,像所有的PaaS云服务一样,Azure对混合云最有效,并且当企业的数据中心使用微软服务器平台时。
第三个选择是结合工作流和其他云托管应用工具来构建一个不只是web前端,并且比云服务供应商提供的IoT产品更灵活的东西。
除了AWS和Azure
作为托管基础架构的一部分,其他的云服务供应商也提供了上述三个功能的部分功能。从某种意义上讲,IBM的云战略是类似AWS的IaaS加上类似 Azure的PaaS的混合物。IBM的公有云SoftLayer是基于IaaS的,但IBM既有专业服务又有合作伙伴可以提供额外的托管功能。这些功能包括负载均衡,内容分发,开发和管理服务。Salesforce有自己的软件即服务(SaaS)应用作为集成的应用编程接口,还提供App Cloud以支持自定义的应用的开发,包括移动应用。
来自云提供商工具的多样性,以及当某些云功能同公有SaaS产品或基于同一PaaS环境的数据中心服务整合的时候才最有价值的这一事实,意味着在为应用评估云托管服务时必须格外仔细。大多数情况下,这些服务将无法跨云移植,这意味着拥有多个云提供商或者改变提供商可能造成问题。