赞
踩
IaaS | PaaS | |
开发者的视图 | 虚拟机、存储、带宽资源,可能需要自己安装OS。 | 开发和运行平台,类似J2EE、WEB服务器等运行环境 |
开发环境 | 传统桌面或服务器开发环境,需要手工部署应用到云上 | 包括IDE在内的开发和测试环境,自动部署到云 |
开发流程 | 传统的开发、测试和版本管理流程。可以充分利用虚拟机硬件资源、OS特性。 | 依靠PaaS平台提供的开发、测试和版本管理方案。不需配置硬件,不与OS接口,必须利用PaaS平台API。 |
支持的应用 | 传统应用。 | 传统应用移植到PaaS平台,需要克服编程语言、新的API等困难。目前的PaaS主要针对WEB服务器应用于 |
可伸缩性 | IaaS平台依靠开发者手工调整资源来应对,可能提供了代码中动态调用资源的手段。 | PaaS平台自动调整资源来帮助应用应对突发流量 |
整合率和经济性 | IaaS平台基于虚拟机来划分资源,手工处理伸缩性导致经济性较差。即资源复用是基于虚拟机的。 | PaaS平台整合率是非常高,比如GAE能在一台服务器上承载成千上万的应用。平台自动处理伸缩性,有统计复用功能。 |
计费和监管 | IaaS平台只能做到OS层面(CPU、内存、存储空间、带宽) | PaaS平台能做到应用层面,如反应时间、调用某个服务的次数。 |
学习难度 | 如果不考虑分布性,IaaS的开发与传统桌面、服务器开发类似。但一般禁止读写本地文件。但在分式布系统中则要使用IaaS平台提供的API来控制节点 | PaaS开发需要适应新的框架、受限于特定编程语言、私有API |
资源使用方法-CPU | 分布系统中,要考虑:虚拟节点协同工作,节点管理方法、节点间通信API、节点容灾等。 | PaaS 自身负责资源的动态扩展和容错管理。应用不必过多考虑:动态申请节点、节点间的配合问题 |
资源使用方法-存储 | 使用云存储,应用可使用云文件系统(禁止读写本地文件)、数据库,这两个层面都会自动的备份、恢复。 | 应用只能利用平台API来使用数据库。数据库层面有容错措施。 |
应用部署 | 开发者处理,但IaaS提供批量部署、动态生成快照与回滚、动态创建VPN、动态控制节点间的负载均衡等。 | 开发者不关心部署,应用间的多租户功能由平台处理。 |
多租户功能 | 完全由开发者自己控制。 | 应用间隔离:PaaS平台自动处理。用户间隔离:开发者处理,平台可能提供API。 |
适用客户特点 | 大公司更愿意保留原业务流程(如C开发的软件),原软件可直接移植到虚拟机。愿意由自己控制部署过程。 | 小公司节省软硬件费用,复用平台组件,且部署方便。 |
开放标准 | OVF协议,主要供应商已加入 | 各供应商都有私有API |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。