通过快速部署、很低的资本成本和可扩展性,云计算给公司企业了巨大的价值。
然而,选择IaaS解决方案还是PaaS解决方案对云项目的回报速度以及应用程序开发创造价值的时间会有重大影响。
将大数据解决方案部署到云端时,一个早期的讨论点和常见的架构决定就是选择IaaS解决方案,还是选择PaaS解决方案。大多数大型云服务提供商同时提供高度专业化的PaaS功能和比较灵活的IaaS功能,让架构师可以选择合理兼顾功能、成本、速度和可扩展性等方面的部分。
大数据市场的IaaS解决方案据往往是通常部署在企业内部本地的技术,但部署在云服务提供商的环境里面的虚拟机中。像Hadoop、Cassandra和MongoDB这些技术常常部署在公共云上,采用了类似本地部署环境的架构。
PaaS解决方案为广大用户提供了一系列功能,这些功能常常通过一套标准的API加以显露,这些API可通过编程予以利用,以便迅速开发和部署应用程序。AWS的常见PaaS解决方案包括:面向数据仓库的Redshift和面向NoSQL数据库服务的DynamoDB。谷歌在提供PaaS功能时,还提供Bigtable(键/值存储系统)和BigQuery(具有高度扩展性的数据分析引擎,支持类似SQL的大型数据集查询)。
虽然每种解决方案各有独特的优势,但实际采用会不一样,取决于具体的运营需求和技术特性要求。IaaS和PaaS方面需要权衡的一些常见因素如下:
IaaS
·让部署的云能够酷似用于本地大数据解决方案的技术架构。
· 让基于云的架构与提供商认证计划和首选应用程序框架的联系更加紧密。
· 让应用程序和工作负载在云服务提供商之间更加易于移植。
·能够考虑一系列更广泛的云,包括提供更为传统的主机托管服务的提供商。
· 需要一系列更广泛的技能,包括系统管理和运营。
·通常根据相对计算和存储资源的每小时费用来进行定价。
PaaS
·通过对服务消费使用一种编程方法,可以更迅速地实现价值。
· 通过完善PaaS功能来获得成熟的可扩展性:先作为云提供商的内部技术,然后作为PaaS功能提供给外面的用户。
·定价模式通常基于迁移的数据量或者是针对特定API的请求数。
在云端构建大数据解决方案时,你在考虑IaaS和PaaS功能以确定哪个更适合你具体的使用场合和工作负载时,有几个关键的问题需要评估:
1、技能组合评估-PaaS解决方案需要较低的运营开销和较少的系统级技能,但确实需要开发人员有相应经验,并且熟悉用来调用PaaS解决方案的特定API和方法。
2、应用程序支持-许多大数据部署环境在充分利用商业化工具用于可视化和预测分析,这类工具往往需要数据平台(比如PaaS和IaaS部署所用的那些平台)方面有相应认证。你应该评估所有PaaS解决方案,确保API符合将来被集成的额外工具的要求。
3、成本模式-IaaS和PaaS之间的成本模式全然不同。PaaS系统将基于使用情况,所以预料不到的负载会对成本产生意料之外的影响,而IaaS基于可用计算容量,所以可能存在这种情况:为环境配置过多的资源,为未使用的资源花冤枉钱。
就构建大数据平台而言,云计算提供了灵活的选择方案:可以迅速部署的PaaS解决方案,以及灵活、易于移植的IaaS解决方案。贵企业应该从核心需求和技术要求入手,确定哪条道路最适合自己。