云计算是互联网信息技术发展和信息服务需求共同作用下的产物,传统的软件开发模式并不能直接适用于云计算环境下的应用开发。
在IaaS层面的云计算环境中,由于平台提供的是标准化的可水平扩展的虚拟机供给能力,因此当应用需求的主机计算能力高于虚拟机能力时,开发人员需要对应用程序进行解耦,分解成多个可以在分离的虚拟机上运行的细粒度应用,通过调度程序来协调各个程序间的任务。
在PaaS层面的云计算框架中,平台提供了进一步的抽象,通过对云应用进行分类,总结出实践中的共性问题,抽象出特定的模式和解决方案。提供了包括负载均衡、缓存、数据存取、消息通信等基础功能服务。
由于PaaS平台提供商在平台软件和基础服务的实现上具有多样性,提供的基础服务面向不同的特定需求,所针对的应用类型、客户定位和实现方式上也存在差异,这给最终开发者的应用带来运行在不同PaaS平台上时必须面临的兼容性问题。
当在PaaS平台上开发云计算应用时,需要遵循平台层提供的一系列开发规范。由于平台层提供了应用部署、应用性能管理、使用计量和计费等基础服务,因此在应用开发规范中约定在应用中必须挂载一系列的测试桩。由于平台的许多配置是不允许应用开发者随意进行调整的,这将带来调优方面的影响。如果应用还需要把自己的一些功能暴露为服务,供其他应用所用,应用开发者还需要考虑服务注册等问题。此外,云应用本身还要考虑集成来自不同云服务提供商所提供的功能或服务。
事实上,采用云计算对开发的需求并没有降低,因为最终实现的功能在最终用户看来是一致的。所以云计算的采用,对于企业的前端业务需求部门,没有明显驱动力,需求部门不会鼓励IT部门去采用云计算,也不会承担云计算带来的风险。因此企业的IT部门必须想办法把采用云计算可能带来的风险以及未来持续发展中的风险消灭在部门内部。
前面谈到的都是云计算对开发带来的新要求,换个角度来看,云计算也为应用开发带来一些积极的变化。在传统的应用开发中,由于系统软件、中间件平台、数据库和开发环境的不断升级,已有程序的运行环境不断受到挑战,每次环境升级带来的程序兼容性检查都是一个梦魇,系统的不兼容性常常是系统运行所面临的最大问题。而在云计算环境下,用户对操作系统等运行环境拥有了自主选择权,用户完全可以将原有应用运行在安全的沙箱环境内。
云计算的技术的引入,也为大规模应用传承开发的未来指明了方向。计算机应用软件在企业的大规模使用自20世纪90年代开始,经历的几乎都是应用开发、部署、迁移、升级、换厂商、再开发部署这样的轮回。如果看各大企业的软件资产,除了在用的系统外,多年前的软件投资已经几乎见不到任何踪影。早期的软件变革通常是由于流程未固化,需求变化等原因造成频繁升级,本质上软件的基本功能是适应生产需求,而从企业的长期发展来看,虽然局部的流程调整是存在的,但大部分基本功能还是稳定的。因此对企业应用来说,基本功能在长期也是应该稳定的。在采用云计算技术后,设备的维护问题,软件运行环境兼容性问题都已经得到解决,虚拟主机隔离了不同操作系统版本的影响,按需分配资源的方式已经足以允许业务量很低的应用长期处在运行状态。因此将企业应用中最基础的,长期稳定的功能固化下来,作为服务长期运行应该被列为开发的首要考量内容。
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8261;邮箱:jenny@youkuaiyun.com。本站原创内容未经允许不得转载,或转载时需注明出处::优快云资讯门户 » 云采用对开发带来的新要求与新变化