PaaS是上述四个趋势来衔接一起的汇結点它是应web application开发挑战的一个有价值的解决办法。现在 Web本身作为一个像电力或电信系统一样完备和规范的系统,它能够包括所有的系统囷环境从而组成的软件生命周期: 原型开发,测试部署和托管。这改变了建立一个Web
application的整个过程在短期内,使用网络本身作为应用开發平台是软件和“云计算”一个乎逻辑的演变
奇怪的是,今天很多的网站仍然是基于静态页面和有限的动态内容用户更是不能在最少嘚页面内获得最大的互动。寻找一间纽约市的酒店 它将各你整整16页的结果。它需要几个额外的页面完善的查询设置优化结果,和更多頁面完成预定不难想象,用户肯定觉得这复杂的步骤令人感到沮丧
基于页面的web 开发也同样让开发人员沮丧。 大多数情况下一个商业application嘚用户体验和商业逻辑或是复杂,它要求开发人员要理解和运用的技术越多 而在一个application中包含太多的技术解决方案,比如AjaxWeb
services,Linux Apache, MySQLPHP 或者哽多。 软件的扩展和维护也会成为问题这就像,多家厂商参与定制一辆只为能跑得汽车车未必跑得的远,并且一旦坏了没有保修,沒有哪个厂商愿承担责任
对于开发人员来说,基于页面的web 开发不止是上述问题开发一个丰富,互动的网站需要时间开发人员必须与設计师,内容提供者和最终用户进行长时间协作参与开发的人越多,各种各样出错的机会就越多
由此状态管理也成为问题。这里状态(state)是指application了解的用户的信息,包括当跟application的互动他们对application的输入等等。在一个在线环境数据的变化不断。难以预料它如何会影响静态数據集建造和测试的application
最后,一句话在这种条件开发的application,昂贵!这种流程耗时需要开发人员掌握多个方面的领域知识,比且很可能从能夠为公司实际创造的战略价值的项目中分散了有限的IT资源另外,工具包供应商基础结构供应商以及Web托管等等才不管web appliacation
是不是工作,都坚歭索取费用所以从理论上企业可能applicaton受到实际效果之前为软件生命周期支付多次。
PaaS 怎样解决上述问题
今天开发人员往往在之前他们开始編码之前先定制一个开发环境,然后在另一个测试环境测试application和最后在第三环境上上线 在每一个阶段,其业务必须在这些不同的环境上建竝配置和维护。 并且在每一次修复bug添加功能,或者整合数据
都必须循环通过所有这三个反复。在传统的软件开发模型这些重大的時间和金钱支出,只是被简单地视为in-house web application开发成本的一部分
PaaS,极大地降低了成本同时加快软件周期:
* 公司可以在每一个阶段利用其现有IT基礎设施和高速Internet网路连线,而不是创建和配置多个不同环境
* 为加快开发迭代,开发人员可以在跟最终产品相同的的环境下调试和测试不需要上载或编译。
* Application从一个阶段到下一个(从原型到开发从开发到测试,从测试到部署)使用相同控制缩短了推上市场的时间。
* 管理人員可以更容易地跟踪和审计整个生命周期内的工作流程因为它发生在一个单一的“永远活”的平台。
用户的期望是无缝的、完全的交互式在线体验不要求他们下载软件,安装插件本地设置,或使用特定的浏览器以实现他们预期的结果。 如果Web application无法交付开发始 无论你節省多少金钱和时间都是白搭。使用PaaS 方式建立 web application,
开发环境和最终运行环境相同这是测试,疑难排解 配置调整变得容易, 也避免用户觉得開发的最后阶段是对自己的肩膀上
与其他在线服务和数据更紧密地集成
许多Web应用程序,从实时天气报告到电子商务依靠从互联网上其怹地方获得实时数据的能力 -
有时是多个来源的更新的间隔不能多于1秒。PaaS可以便利的解决多数据源连接的问题简化的便写“胶水”代码的任务,严密的把它们合并为单一的applicationPaas
必须包含状态管理的能力,让编写在该平台上的application能自动检查并更新更外部源的连接
内置在可扩展性,可靠性和安全性
基于PaaS的application 是用经时间考验的现有的在线技术支持网络规模的使用并允许安全地交换数据和金钱,不需要额外的开发或配置因为Web本身的设计就是要容纳数以十万计的用户,PaaS 不管是在开发中还是开发后都支持多租约
如果要开发人员信任PaaS,供应商也必须能够通过多个安全且性能高数据中心保证高品质的托管和服务-更不用提针对于流量高峰和持续激增的网络需求的应变计划
当开发人员必须使鼡单独的方式来获取,包装并分享可重复使用的源代码和软件组件,他们很容易弄错的源代码和相关的IP 在分发application
的各个迭代版本过程中,他们甚至可能意外地抛弃的最新版本而不得不强迫的队友重复已经完成的工作。而PaaS不同个人和团队的工作,包括源程序管理都在單一的安全合作空间,大大提高生产力并降低管理成本同时最大程度地减少了工程风险
。因为开发小组的每一个成语都工作在同一平台仩不论软件生命周期中的那个阶段,他们可以轻松地共享的观点寻求建议,没必要为合作而加入额外的软件层
此外,除了能够促进團队或企业内协作PaaS也使开发人员在世界范围内的交换基于该平台的组件或整个application,你根本不用担心太多的问题一体化或相容性
当所有活動发生在一个单一的托管平台,监控application的多个方面及用户活动就变得更容易 这可让公司精确的了解用户如何跟他们的 Web application 互动 - 这反过来又帮助怹们进行微调营销和沟通战略
关于谁在application的统计数据也可以帮助企业进行谈判,为他们购买或出售的产品和/或服务获得更有利的价格举例來说,某企业提供了广受欢迎的关于销售订单的“mashup”
application他们实际使用来收费而不是一次性订购收费,这样避免了可能的低索价(undercharging)另外┅方面,嵌入该application在自己的网站的公司可能提出来基于平均每月完成的订单数付费而不是付基于可能记不准确估计的年费。这样为两家公司,application
提供了高投资回报率在一个合理的总体拥有成本
此外,在全球范围内的多种规章和法律并存的营商环境 PaaS自动追踪和审计的application使用嘚能力本来就是宝贵的。公司越是能够容易判断谁在使用他们的application以及如何用的,他们就越能快速地证明法规遵从性的需求
基于实际使鼡情况的定价
PaaS供应商本身可以使用增强的监测能力提供一个更有效率的定价模式, 而不是要求公司不论结果怎样都支付的硬件软件,工具包和服务器的空间等PaaS能够跟踪平台的使用情况和最终结果,这样公司可以只支付给他们带来效益的资源的使用费用
端到端的PaaS平台简介.