Posted on 2012-07-23 10:15
天才 阅读(57)
评论(0) 编辑 收藏
由于PaaS平台提供商在平台软件和基础服务的实现上具有多样性,提供的基础服务面向不同的特定需求,所针对的应用类型、客户定位和实现方式上也存在差异,这给最终开发者的应用带来运行在不同PaaS平台上时必须面临的兼容性问题。
在PaaS层面的云计算框架中,平台提供了进一步的抽象,通过对云应用进行分类,总结出实践中的共性问题,抽象出特定的模式和解决方案。提供了包括负载均衡、缓存、数据存取、消息通信等基础功能服务。
当在PaaS平台上开发云计算应用时,需要遵循平台层提供的一系列开发规范。由于平台层提供了应用部署、应用性能管理、使用计量和计费等基础服务,因此在应用开发规范中约定在应用中必须挂载一系列的测试桩。由于平台的许多配置是不允许应用开发者随意进行调整的,这将带来调优方面的影响。如果应用还需要把自己的一些功能暴露为服务,供其他应用所用,应用开发者还需要考虑服务注册等问题。此外,云应用本身还要考虑集成来自不同云服务提供商所提供的功能或服务。
事实上,采用云计算对开发的需求并没有降低,因为最终实现的功能在最终用户看来是一致的。所以云计算的采用,对于企业的前端业务需求部门,没有明显驱动力,需求部门不会鼓励IT部门去采用云计算,也不会承担云计算带来的风险。因此企业的IT部门必须想办法把采用云计算可能带来的风险以及未来持续发展中的风险消灭在部门内部。
前面谈到的都是云计算对开发带来的新要求,换个角度来看,云计算也为应用开发带来一些积极的变化。在传统的应用开发中,由于系统软件、中间件平台、数据库和开发环境的不断升级,已有程序的运行环境不断受到挑战,每次环境升级带来的程序兼容性检查都是一个梦魇,系统的不兼容性常常是系统运行所面临的最大问题。而在云计算环境下,用户对操作系统等运行环境拥有了自主选择权,用户完全可以将原有应用运行在安全的沙箱环境内。
云计算的技术的引入,也为大规模应用传承开发的未来指明了方向。计算机应用软件在企业的大规模使用自20世纪90年代开始,经历的几乎都是应用开发、部署、迁移、升级、换厂商、再开发部署这样的轮回。如果看各大企业的软件资产,除了在用的系统外,多年前的软件投资已经几乎见不到任何踪影。早期的软件变革通常是由于流程未固化,需求变化等原因造成频繁升级,本质上软件的基本功能是适应生产需求,而从企业的长期发展来看,虽然局部的流程调整是存在的,但大部分基本功能还是稳定的。因此对企业应用来说,基本功能在长期也是应该稳定的。在采用云计算技术后,设备的维护问题,软件运行环境兼容性问题都已经得到解决,虚拟主机隔离了不同操作系统版本的影响,按需分配资源的方式已经足以允许业务量很低的应用长期处在运行状态。因此将企业应用中最基础的,长期稳定的功能固化下来,作为服务长期运行应该被列为开发的首要考量内容。
应用云化的核心思想是如何使大型应用平衡分配到许多独立的物理或虚拟机上进行计算的技术。通过这种运用,可以降低不同规模的应用对主机能力的差异化需求,通过横向增加标准设备的技术,满足从小到大不同规模的应用对处理能力的需求。应用云化带来的是应用管理的复杂性上升,这和日常工作是一样的,当一个全能型技术高手在做一件事情时,任务的分解调度和协调都由他自我合理安排,而如果要把同样的工作分配给多个仅具备一项或两项能力的初级技术人员来完成时,就需要考虑任务的衔接,每个人工作的合理性,两个人工作交接的完整性,还需要及时进行检查,防止某些环节产生纰漏。这些都是云计算应用开发必须面临的挑战。
原文来源:http://www.idcbest.hk/hyxw/,转载请注明,谢谢。