详述从IaaS到PaaS的三种实现方法

随着云计算平台的优势变得越来越清晰,从IaaS到PaaS似乎是一项比较轻松的工作了。但是,方法各有不同,而找到实施PaaS最好的方法就意味着在三个可能的选项中进行选择。

市场上有越来越多的声音在说,应当把云计算服务的等级提升至基础设施即服务(IaaS)以上。按价值链的先后顺利来说,在云计算的层次结构中紧随其后的下一个选择就是平台即服务(PaaS)了。与IaaS(即虚拟机托管,并要求用户提供一个操作系统和中间件)不同,PaaS提供了一个包括软硬件在内的完整平台,以供应用程序运行使用。PaaS所提供的服务更多,因此它能给用户带来更多的潜在好处。也正是因为这个原因,PaaS供应商们能够证明他们所提供的服务是与其定价相符的。

PaaS可能是云计算服务从IaaS自然发展的一个必然产物,但是其具体实施的途径可能并不止一种。微软公司的Azure代表了一种途径,即:利用一个现有的数据中心平台,然后将其在云计算中复制。而实现PaaS的第二种途径则是通过诸如Cloud Foundry之类的工具来实现的:通过所选择的工具来开发你自己的“平台”,并部署它。而第三种方法则是需要由亚马逊网络服务(AWS)支持来实现的,它是通过网络服务扩展IaaS的方法来创建一个“平台服务”模式的。从IaaS至PaaS的这三种途径都有其可取之处,因此在做出决策之前应进一步深入了解其中的更多细节。

实现PaaS的微软Azure模式

为了进一步了解PaaS的微软Azure模式,必须确保你的以云计算为目标的应用程序是正在或者是能够在数据中心内,微软服务器软件套件上运行的。因此,这种方法的优势在于,它是与当前的软件策略相关联的;用户可以很容易地从微软服务器更新换代至Azure,因为云计算的供应商也正是内部部署软件平台的供应商。确保两者之间的同步应当是简单直接的。

而Azure模式的弱点在于,绝大多数的数据中心服务器平台并不是以一个单一的形式广泛部署的。所以,除非客户本身之前就使用了微软公司的产品,否则都指向一个平台是比较困难的,虽然这种方法是可行的。一直以来,微软公司都拒绝向相关的PaaS竞争对手们开放其Windows服务器框架,这就意味着一些Azure用户是受制于微软公司的。我们还不清楚,微软将如何打造Azure,将如何把本地功能添加至与Windows服务器无关的云计算中,例如目前AWS所提供的缓存服务。

PaaS的这个Azure模式的其他示例就是基于Java虚拟机(VM)的云计算平台了,这是一个可在多个架构上运行的便携式平台。亚马逊等公共云计算供应商所提供的托管Java虚拟机和Java应用程序是能够在几乎所有的数据中心或桌面系统上运行的。但是,这种方法只有在目标应用程序是使用Java语言开发时才能有效,而这一点对于大多数用户来说是一个非常苛刻的限制。

使用第三方工具开发PaaS

实施PaaS的第二种方法则更具推广意义。诸如Cloud Foundry和OpenShift这类的工具可帮助用户从IaaS入手,通过添加操作系统和中间件工具来开发一个云计算平台。通过使用这种方法,用户就能够让应用程序在一个可靠的软硬件系统上正常运行起来。而用户和应用程序的生命周期流程都可免于对平台软件进行维护。

组合PaaS的问题在于需要搞清楚将由谁来负责平台镜像的开发与维护。一个公共云计算供应商可以使用一个组合工具来开发一个基于PaaS的平台,但他们不可能会冒这个风险。供应商将不得不赌上一把,看是否有足够的应用程序会在这个平台上运行,从而建立一个可行的市场机会。如果组合工具的灵活性被用于建立多个平台,那么确保每个平台实时更新的工作就成为了一个民工活,同时管理成本也会随之增加。这些任务都会被推给云计算用户。

用户自己就可以使用相同的工具来组建一个平台并在IaaS上运行。如果这些工具可允许用户自行组织中间件和操作系统组件并让它们用于应用程序部署,那么用户将从中受益。当操作系统或中间件发生变化时,这是一个协助更新每台机器镜像的替代解决方案。事实上,这正是如今平台组合工具的最大应用。但是,为一个特定平台找到一个利基市场则又与将该方法广泛应用于公共PaaS的初衷相违背。

采用平台服务的方法

最后一个选项就是平台服务了,这是AWS目前正在实际采用的方法。平台服务假定PaaS的目标是增加高度云计算优化的或云计算特有的服务,并在任何通过URL运行网络服务的应用程序中支持它们。这种方法是独一无二的,因为它以针对云计算而特别修改或开发的应用程序为目标,而不是那些从内部部署中迁移过来的应用程序。

这种方法着眼于未来平台服务将成为公共云计算服务发展趋势的推动因素。平台服务模式提供了改良的灵活性(就类似于组合平台模式一样),但是它会让新的平台组件支持有价值的云计算应用程序功能。

其中行不通的一点是,用户必须对他们的机器镜像进行维护,因为这一模式并不托管操作系统或中间件。增加一个组合平台工具(如Cloud Foundry)来管理这些元素就能够帮助用户解决这个问题。

从理论上来说,一家诸如AWS这样的公共云计算供应商可提供如此之多的平台服务以至于它可高效地定义一个云计算操作系统。如果这样做了,同时也提供了为当前平台开发云计算操作系统相同的特殊开发工具来进行应用程序开发,那么内部部署平台供应商可能就会决定支持它以便于利用新应用程序的优势。然后,云计算就算实施完成了,它实现了从云计算适应内部部署平台到内部部署平台适应云计算的市场转移。

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

原文发表时间:2015-05-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WeTest质量开放平台团队的专栏

WeTest新版上线,新功能三弹连发!

腾讯WeTest质量开放平台新版本正式上线了,该版本最大的变化在于:各位开发者期待已久的以及已经可以正常使用啦。并且美化了界面,优化了使用流程,使WeTest...

1021
来自专栏腾讯开源的专栏

手游自动化框架GAutomator,新增iOS系统和UE4引擎支持

GAutomator诞生背后 研究过手游自动化测试的同学都知道,虽然市场上已经有比较多成熟的自动化工具,如Android系统的UIAutomator,iOS的...

3223
来自专栏云计算D1net

云服务替代私有服务器的九个原因

如今,私有服务器的应用已经超出了人们的预期,然而其所面临最大的挑战就是云计算应用。虽然大多数组织已经转向采用云服务器,但一些传统公司仍然在采用他们的私有服务器开...

3683
来自专栏Cloud Native - 产品级敏捷

微服务架构设计 第四步: 分析微服务架构依赖与风险; 开发微服务最关键的一步

2016.9.11, 深圳, Ken Fang 当特性负责人与架构师, 开发骨干人员, 测试经理, 资深测试人员协作, 而可针对特性下的所有微服务 (funct...

2349
来自专栏java一日一条

微服务和容器对企业带来什么样的影响?

IT经理、架构师和开发者都尝试妥协于微服务和容器对企业IT方式的改变。在某一个层面来说这是一件好事,但是事实上,一些更深层次的东西在驱动着技术和IT。

923
来自专栏悦思悦读

持续发布那些事儿

什么是持续发布 持续发布这个说法,一般情况下确实是和敏捷开发联系在一起。敏捷开发的scrum模式的一个重要概念就是持续发布。 按照理论上的说法:scrum的每一...

3246
来自专栏EAWorld

谈谈企业的持续交付流水线设计

有一天,业务人员急冲冲的跑过来,对你说生产上出现了一个严重BUG,必须要尽快修复。你听完问题描述后,胸有成竹坐定并迅速定位问题,随后改动了一行代码并提交,系统开...

3698
来自专栏Python自动化测试

招聘功能测试

3.能够独立安排测试计划,执行测试用例,提交测试分析、报告、跟踪BUG,并协助开发人员重视、修正BUG;

1974
来自专栏Java技术栈

Java架构师必看的10本书

1、大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍。 从分布式系统的知识切入,让读者对分布式系统有基本的了解...

5497
来自专栏云计算D1net

如何构建多云日志记录策略

日志是迁移到云计算服务(用户实际上并不控制基础设施)的安全性和合规性的关键,并且这使得日志对于运营、风险和安全团队来说更为重要。但这些问题非常有意义,这是因为登...

621

扫码关注云+社区

领取腾讯云代金券