随着IaaS供应商们不断扩展其产品组合并提供包括更高级别服务在内的产品,用户应用的需求(不仅仅只是用户的基础设施)也成为了选择供应商的考虑因素之一。
在多年的犹豫不决之后,大多数IT企业已经得出如下结论,即云基础设施的抗拒是徒劳无益的。行业巨头亚马逊网络服务和微软Azure的单月销售额已接近10亿美元大关,而诸如第一资本、GE以及Netflix等多家大型企业已经将他们的业务IT运营迁往基础设施即服务。
就目前而言,大多数IT企业所面临的问题已不再是“他们是否应当使用云服务”,而变成了“应当在什么时间在什么位置使用哪一种云服务”。知道何时使用云计算主要涉及企业战略和IT云成熟度等方面。但是确定在哪里使用哪一种服务(即待迁移应用列表以及采用哪一个基础设施即服务,IaaS)则取决于众多因素,其中包括现有基础设施、私有云计算和混合云规划、应用程序架构、服务需求、现有供应商关系、合规性要求以及全球可达性与分布需求等。
如果想要取得成功,企业需要密切关注潜在IaaS供应商的能力、优势和不足。然后,在现有和规划应用程序产品组合的基础之上对候选供应商进行评估。
成长中的IaaS市场
虽然云基础设施的全球市场仍然呈碎片化特点,但是屈指可数的几家厂商就共同瓜分了整个市场蛋糕的一半以上,这些厂商是亚马逊网络服务(AWS)、谷歌云计算、IBM SoftLayer、微软Azure 和Salesforce。据Synergy研究公司编制的研究数据显示,AWS一家就独自拥有了IaaS市场的三分之一,而Azure和谷歌两家公司的市场份额每年都在以三位数的速度增长着。
AWS、Azure和谷歌云是市场上公共IaaS供应商的最常见厂商选项。同时,IBM公司提供了一个包括开源IaaS、IBM平台即服务(PaaS)和托管裸机服务器在内的有趣的产品服务组合。随着IBM在IaaS和混合云中使用OpenStack,它更是与DreamHost、Internap和Rackspace一起融入了更广泛的OpenStack公共云计算生态系统中。但是,与其他厂商相比,IBM提供了更丰富的产品组合。
鉴于VMware在企业数据中心虚拟化平台市场中所占据的霸主地位,以及VMware的vCloud Air产品和服务合作伙伴的网络,它无疑是非常值得关注的一家厂商。VMware的vCloud表明了公共云服务之间的一个重要区别,即对混合云部署的支持程度。虽然所有供应商都提供了安全连接私有基础设施和公共资源的方法,但是需要注意的是AWS和谷歌只是提供了可用的共享服务。与之相反,OpenStack和vCloud都可由内部IT团队进行部署和管理。
虽然Salesforce有一些复杂的应用开发服务,但它主要是用作一个打包应用程序,或软件即服务,而不是一个应用平台,或平台即服务。所以,Salesforce从本质上来说是不同于其他四家云服务领导厂商的。
基础设施服务和平台服务曾经被认为是定义明确和不同的服务典范。但是随着时间的推移,传统IaaS供应商们都在他们的产品组合中增加了内容更丰富、层次更高级的新功能,例如机器学习、商业智能(BI)、流数据获取、移动应用后端化与无服务器化、事件驱动微服务等。这样做的结果就造成了AWS或Azure产品与传统纯PaaS产品(例如Cloud Foundry、Force.com、Heroku或红帽子公司的OpenShift)之间相当大的功能重叠。
虽然AWS和Azure的基础设施和平台服务之间的区别并不明显,但是谷歌和IBM的同类产品有着显著区别,如区分明显的品牌和PaaS堆栈。混合IaaS和PaaS意味着选择云供应商已不再只是IT部门的工作了,因为那并不只是单纯地选择基础设施。随着应用服务的种类越来越多复杂性越来越高,以及出现可替换部署技术(例如容器技术和事件驱动的计算服务),开发人员将在评估和选择云IaaS供应商中发挥了越来越重要的作用。
云原生应用和传统应用推动选择IaaS供应商
当评估一家IaaS供应商时,一个基本的考虑因素就是用户的应用类型。这说明了开发人员在供应商选择过程中所发挥的作用,因为云远不仅仅只是一个新的部署位置而已。
无论用户是称其为云原生还是第三方平台,云服务已经迎来了应用设计、分区、定标、测试和部署的众多新方法。云优先的待开发应用程序都是高度模块化的。它们都是围绕云服务和应用程序编程接口(API)调用进行开发的,都是专为共享基础设施进行设计的,并且可快速实现应用的部署、迁移和扩展。与之相反,传统“客户端-服务器”型应用都是在拥有整个操作系统所有权的假设下进行开发。它们都是通过虚拟机管理程序和虚拟机被硬塞进共享基础设施的;换而言之,它们是能够在云环境中运行,但它们却不是为云环境而开发的。
这个架构方面的区别对于云服务类型、IaaS供应商都具有意义深远的影响,它特别适用于特定企业。一些产品模仿内部数据中心的虚拟机环境;而其他的产品则大多是一个RESTful服务和API的集合,这些服务和API可分解为任何类型的应用。这些对比方法的一个主要例子就是EMC/VMware私有云产品线的一分为二。其基于vSphere的企业级混合云是专为传统应用程序而设计的,而原生混合云则是以下一代、模块化、基于微服务的设计为目标的。
这种由一生二的做法也延续到了公共云计算领域。例如,AWS通过提供基本计算、存储资源、文件系统以及专用网络就令其产品看上去像是一堆虚拟机和网络连接存储器在一个私有数据中心内运行。这种模式特别适用于遗留数据库和基于服务器的应用。但是,AWS也可以提供一个平台以供基础设施无关应用程序和基于更高等级服务(例如NoSQL数据库、BI处理、类似Hadoop集群、消息队列、推送通知服务、媒体转码器和搜索引擎等)的应用程序使用。
当选择一家IaaS供应商时,可考虑用户待部署应用程序的类型以及应用部署在传统与云原生范畴之间的位置。更多部署在传统范围的应用可使用诸如vCloud或SoftLayer裸机服务器等类似于传统虚拟机基础设施之类的系统。而那些部署在云原生范畴的应用程序则更适合使用一个IaaS和PaaS的组合,例如AWS、Azure或谷歌所推出的产品。