什么是PasS?
现在有许多公司提供Paas,但是这些公司,比如从SalesForce 到WaveMaker都没有说明什么是Paas,怎么比较不同类型的Paas.甚至WIKI上的定义也是含糊不清没有实例说明。
定义Paas
Pass解决方案是一个开发平台,在这个平台上的开发工具是基于Cloud,通过浏览器来访问。通过Pass,开发人员能够实现一个Web 应用而不在本地安装任何工具,同时不需要特殊的系统管理技能下部署这些应用。
McKinsey & Company 在2008年发表了"Emerging Platform Wars,",定义Paas为“基于云计算的IDE, 同时不仅与传统编程语言相结合,而且包含基于Mash-up的开发工具“。
什么是Pass与众不同?
与PasS不同的开发基于Web的应用是通过个人电脑,使用类似Eclipse和Microsoft Access工具。然后手动部署这些应用到服务器上
比如Amazon EC2.
PasS平台与传统的开发平台具有如下功能上的不同:
Multi-tenant development tool: 传统的开发工具都是单用户的,基于Cloud的开发平台必须支持众多的用户,这些用户有许多运行的项目。
Multi-tenant deployment architecture: 在传统的开发环境,可扩展性一般我们在项目初期是不用考虑的,大不了告诉管理员在部署的时候处理这种问题。在PaaS下,可系统的扩展性必须开始就要实现(比如 负载均衡,容错功能是开发平台基本的元素。
Integrated management:传统的解决方案不需要考虑运行期的监控,但是在PaaS下,监控功能需要开发平台提供。:
Integrated billing:PaaS提供一种使用基于账单的使用机制。
假的PaaS-4种方法识别师傅是真正的PaaS
PaaS至少包括如下元素:
1. 基于浏览器的开发工具。
如果要开发应用需要在本地安装一些工具,这个不是PaaS。
2. 无缝部署的运行环境。 在理想环境下,开发人员可以通过点击鼠标来部署一个PaaS的应用。如果你不得不告诉另一个人去部署,这个不是PaaS。
3. 管理监控工具。具有Cloud的解决方案会花费大量效率。没有好的工具是不可能很好的管理。如果你不得不自己设计监控你的应用,这个不是PaaS!
4. 为服务付费。
减少了前期的投入使得Paas很流行。如果你不为使用付费,这个不是Paas!
PasS的优点
PasS的优点在于,大量的开发人员可一开发、维护、部署应用。总之, PaaS 提供了一种更自由的开发Web应用的方式,而不是像Microsoft Access这样开发基于C/S的应用。
当今,开发Web应用要求三种特殊的技巧的开发人员:
1. 服务端部署
比如 J2EE
2. 前台的开发
比如 JS
3. Web
站点的管理。
PasS使众多不需要这些技能的开发人员开发Web应用。使得经过很低学习曲线的的学习,
大量使用MS Acess Lotus Note 和PowerBuilder的开发人员能够开发Web应用。
PasS资源
目前提供Paas解决方案的有:
- AppEngine 来自 Google: 基于 Python and Django
- Force.com 来自 SalesForce:基于the SalesForce SaaS
infrastructure and Apex language
- Bungee Connect:
visual development studio based on Java
- LongJump:
based on Java/Eclipse
- WaveMaker:
visual development studio based on Java and hosted on Amazon EC2