51CTO:当前的哪些传统软件适合转向SaaS?
陈荣华 : 当前已经有相当多的企业应用开始转向SaaS,例如ERP,CRM,HRM,等等服务于企业的功能化软件,业务流程软件。
理论上讲,绝大部分的企业管理软件都适合转向SaaS。但具体的实现方式会发生改变。我前面已经提到了,有几类不同的应用,桌面工具类软件服务,企业管理类软件服务,应用开发类软件服务,还有现在的移动业务服务,等等。
51CTO:SaaS时代的开发模式会发生哪些改变,与传统的软件开发有什么异同?
陈荣华 : SaaS的开发模式会有不同,将依赖与客户的需求而变化。开发和测试 假如说客户需要开发一种新的应用,需要在1000个节点上进行测试,内部的IT部门很难提供这样的计算资源。但是现在可以在虚拟机上申请所需要的资源,在一个比较短的时间里进行测试。这样就可以知道这个新应用的扩展性。测试结束后,释放所申请的资源。这个过程也可以反复进行,用来改进应用的设计以提高性能。
◆ 批处理 - 比如说有批数据要处理,只需要运行一个简单的程序,但是需要大量的节点同时做运算,而这个处理每年只是进行一次,客户自己的IT部门很难但为这个计算购买全部的计算资源。可以通过HPC,通过云计算中的公有云来实现。
◆ 弹性应用 - 对计算资源的需求是变动的
◆ WEB服务 - 比如为Facebook或开心网提供的应用
在用户所有权关系关系方面可以分为:直接使用、部分使用、自己建设、提供云计算
51CTO:SaaS在数据库与应用架构方面有哪些特点?
陈荣华 : 谈到SaaS的架构,与传统软件很大的一个不同点,就是扩展性,我们称之为Scalability。由于SaaS应用软件大多数都是服务于大量用户甚至海量用户的,对它的扩展性的要求很高。
举例来讲,移动的一些应用,典型的类似短信、彩信业务,或者是Email服务,实际上是SaaS的应用。大家常用的购物网站,类似于淘宝这样的,或是最近很火的开心网,都是SaaS应用的代表。这样的应用特点就是用户增长很快,对架构的要求非常高。无论是从应用服务层面还是从数据库层面,都要求有很好的扩展性。
这个扩展不是简单的设备增减和容量扩展。这两个层面都有水平扩展和垂直扩展两个方面的要求。例如数据库的垂直分割,将对不同功能涉及的数据库表的访问压力分担到多个物理数据中。应用服务层也有这样的要求,常见的就是负载均衡。负载均衡有很多实现方式。
具体的技术我在这里不详细谈了,大家可以去参考网上可以找到的一些大型网站的数据库和应用服务层面的架构实现。这里我推荐大家可以去看看Google的网站架构介绍,它无疑是这方面的典范。
51CTO:SaaS会对开发技术带来哪些趋势性的影响?
陈荣华 : SaaS模式将会成为未来软件应用和销售模式的主要模式之一,将越来越多地抢占传统软件模式的市场。如果传统软件提供商不进行战略转型,将会在未来的市场竞争中处于不利地位。
SaaS的出现将会促使传统软件的商业模式发生变化。由于软件运营服务模式实行的是按需服务、按需付费的模式,对用户的吸引力要高于传统软件的许可证模式。SaaS也会加剧传统软件业的整合与并购。