与赵进聊SaaS

个人简介 赵进,阿里巴巴集团旗下阿里巴巴软件(上海)有限公司(Alisoft.com)首席架构师,负责阿里巴巴的开发SaaS平台--软件互联平台的技术规划和架构设计工作,是阿里巴巴软件互联平台的技术创始人。赵进在软件和互联网行业有多年的技术积累,对于SaaS、面向对象分析设计、架构设计、性能优化等多个方面都有丰富的经验。

   

1. 中文站的读者们,大家好。我们今天有幸请到阿里软件的首席架构师赵进先生来参加我们的视频访谈,赵进你好,请向大家做一下自我介绍吧。

大家好,我是来自阿里软件的赵进,我简单介绍一下我个人的一些经历。我是2005年正式加入阿里巴巴集团,当时是在阿里巴巴的研究院担任资深架构师工作,主要负责的是阿里巴巴的技术平台框架的架构设计工作。从2006年底,我开始负责阿里软件的技术筹备工作,2007年阿里软件开始建设开放式的SaaS平台,就是我们软件互联平台,我开始负责软件互联平台SaaS平台的架构设计工作。

   

2. 刚才你提到SaaS,这个也是目前最为火热的词汇之一。那么SaaS我们也知道,他的全称是Software as a Service,是软件及服务的意思。那么如今服务这个词颇为热门,有很多的这样热门的术语都跟服务这个词有关系,比如说像Web服务,然后还有面向服务的架构SOA,还有面向服务的计算等等,那么你认为说在SaaS里边的这个服务,跟这些服务有什么异同?

我认为SaaS里边的Service概念和SOA里边的Service里边的概念应该是有差别的,SaaS里边Service概念更多的强调的是一种商业模式,是终端的用户使用软件的一种商业模式,而Web Service,SOA更多强调的是一种技术实现手段,他强调的是系统与系统之间的一种调用方式,但是在开放式的SaaS平台里面,SOA也好,Web Service也好,其实都是实现这个开放式SaaS平台很重要的一个技术基础。

   

3. 那么SaaS跟那些术语比如说像SOA了,然后像ASP(Application Service Provider)到底有什么联系呢?

SaaS跟SOA之间的关系刚才也简单提过,最主要的就是说SaaS是一种商业模式,软件作为一种服务去消费,而SOA是一种技术的实现手段,是实现了,而面向服务的架构的话,就是实现的是软件与软件和系统与系统之间的一个调用方式。而SaaS和ASP之间应该说有更密切的一个商业上的关系,ASP是在SaaS之前的一种商业模式,他这种商业模式和SaaS模式有同样的一些优势,比如说降低企业的成本,去降低企业的维护,部署这方面的一些成本,但是其实ASP模式之前应该是说,在商业上是比较失败的模式,最主要的原因是在哪里呢?一个我认为是在当时他的技术条件下面。在当时的技术条件下网络、软硬件的基础设施都没有完备的情况下面,去实现这么一种商业手段的话,是比较困难的;第二个是ASP模式和SaaS模式在技术上面最大的差别在于说他在Multi-Tenant,一个多租户的架构上面有很大的差别,在ASP模式下面,对不同的租户其实都有一个单独的实例,而SaaS的话,更多的实现的是多租户使用是同一个实例,也就是说SaaS在实现降低企业成本方面会更有优势。

   

4. 好,那个SaaS其实跟Sun在10几年前,您提到的就是网络就是计算机NC,Network Computing这个口号看起来是十分相似的。那么这二者之前到底有什么联系呢?网络就是计算机这个理念其实当时未成为现实,那么你认为说就是现在的SaaS能够成功的这个原因是什么?

Sun在10几年以前提出网络就是计算机这个概念的时候,在当时的一个基础条件,基础设施还不完善的情况下,我认为是一个非常激进的观点。也就是当时的软件、硬件网络的技术,技术设施都是不很完备,在那种情况下,要实现这个目标非常非常的困难,在现在基础设施的条件下面,网络、软件、硬件都已经发生了很大变化,这个条件下去实现SaaS这样一个商业目标是有可能的。并且是很快就会成为现实的,我觉得这些基础设施的变化,应该是说这两个商业目标,商业模式不一样的两个重要原因。

   

5. 你觉得除了基础设施以外,然后像是软件架构的这个理念上边对这方面有什么影响呢?还有技术方面?

是的,在除了网络软件硬件的一些基础设施之外的话,在技术上面这10几年里也发生了很重大的一些变化,比如SOA概念的提出,比如说SaaS里面的Multi-Tenant概念的提出,我觉得在这些方面也都是很重要的一些技术基础。

   

6. 那么下去的话,就最近这段时间,还有另外一个就是非常流行的概念叫做“云计算”Could Computing,SaaS跟云计算之间有什么关系?

我觉得SaaS更多强调的是一种商业模式,而实现这种商业模式的背后的话,很重要一个技术基础就是云计算,在SaaS模式里面很强调了一个概念,一个技术的策略就是说将大量的计算任务是丢在服务端,也就是在云计算里面提到一个云端,而云计算这种模式需要就是说,将大量的一个计算任务放在云端的时候,怎么样子通过大量的计算机集群,去实现这种大量的复杂的计算任务,这是云计算最重要的一个技术核心。

   

7. 那么你认为就是SaaS的话,是这些大厂商、大玩家的游戏吗?还是?或者说这些中小型的企业,还是有机会提供这样的SaaS服务的?

提到这个问题的时候,我觉得很重要一个理论就是长尾理论,其实我们会发现在整个的这个软件市场里面,有很多的中小企业的客户,他需要很多的软件,而这些软件的话,他的需求很多元化,他也要求成本很低。在这种情况下的话,传统的大软件厂商是很难去满足他们这种多元化、低成本的需求。在另一端的话,我们又有很多个人开发者,和中小的独立软件开放商,他们是有很强的开发能力的,并且有很强的捕捉客户需求的能力,在这种情况下的话,我认为如果有那么一个平台去将他们联系在一起,就可以实现一个长尾理论,很多的用户需要很多各种各样的软件,把它聚集起来是一个很大的市场。

   

8. 那么你认为说在目前SaaS的前景如何?离成为现实到底还有多远的一个距离?另外如果说他还有很长一段时间距离的话,那么另外还有哪些工作需要去做到呢?特别是在中国这是怎么样一个情况?

大家都可以看得到,SaaS这个市场目前应该是处于一个高速成长的阶段,我们已经有越来越多的用户认可SaaS的概念,认可SaaS带来的成本和安全等各个方面的优势,因此我认为SaaS整个发展的前景是非常光明的,SaaS应该是整个软件行业发展的必然趋势。我个人认为SaaS的话,目前应该是逐渐的成为现实,整个SaaS市场,在未来三年内应该是能够达到一个比较高的高度。在技术方面的话,SaaS目前可能还有一些很关键的技术需要去研究,去突破一个阶段,包括云计算目前还处于一个起步阶段,一些技术需要去进一步突破,包括软件服务的集成Mashup这一块的话,也是需要去进一步突破的,这一点上在中国的企业里面应该说更为突出。

   

9. 国外的SaaS市场其实已经发展了有一段时间了,而且也相对来说会比较成熟一些,那么从您这个角度来看,国外到底达到怎么样一个程度了呢?

国外的SaaS市场确实比中国起步会更早一些,目前国外的市场里边,像大的SaaS供应商,Salesforce这样的公司,目前已经具有相当一个客户群体,相当的一些企 业在上面也都有他自己租用的服务,但是在整个的SaaS市场来看,目前其实还处于一个起步阶段,我们也可以看到,Salesforce还处于一个非常高速成长的阶段。另外的话,国外还有很多大的互联网厂商也正在去研究新的技术,比如像Google最近刚刚推出了AppEngine这样子一些云计算的技术基础设施,也就是说在这个SaaS市场里面,大家还是处于一个初级阶段,处于一个基础设施的构建和商业模式这个探索阶段。

   

10. 好,下去的话,我们想问一个问题,就是说SaaS它意味着用户不再购买软件,而是说改用向这些提供商来租用基于Web的软件。从这么看起来的话,那么客户端其实跟当年的那个哑终端(Dumb Terminal)其实有几分神似,仿佛我们好像又回到了计算机起源初期的时候,那种早的主机时代,那么你认为说我们为什么要做这样的一个转变呢?

我认为当年的主机时代基于的一个考虑是,最重要的是成本因素。当年的主机时代的时候,计算资源非常昂贵,而随着技术的发展的话,硬件技术的发展,硬件的成本会逐渐的降低。然后又进入了一个个人计算机的时代,而随着技术的进一步发展,包括软件技术的发展,我们会发现计算机的应用会越来的越深入,更多的一些计算任务会在个人的传统计算机上也不能满足,在这样一种情况下,我们基于一个新的发展的需要,还是基于成本的考虑的话,我们会发展出SaaS这样的一个技术。

   

11. SaaS平台它成功的关键技术到底有哪些?

我理解SaaS平台最成功的、最关键的两个因素,一个是开放,一个是简单。首先的话是开放,为什么Saas平台需要开放呢?因为如果SaaS平台不开放足够多的功能给SaaS软件的话,其实SaaS软件的作用就会被缩小,它很难去开发出大量的满足用户需求的SaaS软件来;第二个关键的技术因素认为是简单,就是说如果一个SaaS平台你有很高的技术门槛,让用户去学习很多的知识,然后让他开发软件的时候有很多限制的话,其实就会将开发者拒之门外。

而在这一点上面的话,其实阿里巴巴的软件互联平台就非常突出的体现这两个方面的优势。第一点是阿里巴巴的软件互联平台本身是非常开放的,他不跟传统的SaaS平台相比,他不仅仅是自己开放自己的一个核心服务,向用户展现这些数据,他还联合很多大的互联网服务提供商去开放。比如说像淘宝的服务,像支付宝的一些服务,像物流的一些服务、像银行的一些服务,这是在开放方面。另外一方面是简单方面,简单方面的话,阿里巴巴的软件互联平台也是做得非常突出的,相对于传统的开放式SaaS平台而言,软件互联平台,做得非常轻量,他对SaaS软件的部署,对他的数据库、开发语言的平台,都没有任何的限制,然后它和SaaS软件平台之间是基于一个轻量级的REST协议,然后,他只有非常简单的一个接口是必须调用的,其他的接口都是可选的,所以学习这种SaaS平台,包括开发新的软件,都是非常简单的。

   

12. 那么阿里软件在提供SaaS的过程中,他遇到的技术瓶颈、障碍都会是哪些?

在SaaS软件的开发过程中,其实我觉得比较突出的需要去解决的几个技术问题是什么?一个是Multi-Tenant的实现,我们需要去在大的用户量,大的数据量,高的并发情况下,怎么样去实现Multi-Tenant架构,这个是在开放SaaS软件的时候,需要去解决的第一个重要问题;第二个是云计算方面的一些基础设施的设计,在这方面的话,阿里软件也是处于探索阶段。

   

13. 这样子的话,在云计算这方面,阿里都做了哪些探索的工作呢?

在云计算方面的话,阿里软件主要在包括分布式的文件系统,分布式的存储,包括数据库这方面都做了一些探索的工作,还包括搜索引擎。

你可能感兴趣的:(与赵进聊SaaS)