云计算发展到今天,平台化成为大家的共识。那么,大家都在谈论的云平台本质到底是什么呢?我想很多人都不一定清楚。在2017年9月27日中国软件网举办的“第四届中国信息产业安全可控推进大会”上,中服软件技术总监赵子奇作了题为“聚焦云平台 打造云生态“ 的主题分享,为我们分析了云平台的本质,并详细讲解了软件云化的技术路径,以及基于云平台的软件资源共享,给我们带来了很多的知识与启迪。
中服软件技术总监 赵子奇
云平台的本质和分类
在赵子奇看来,云平台最根本的本质是要解决软件的共享问题。通过软件的规模化、集约化,然后对外提供云服务,来实现软件资源的共享。云平台很大程度上就是PaaS平台,通过统一的PaaS平台,提供功能强大的开发组件,形成云平台的基础支撑。
在赵子奇看来,根据其本身的特性,PaaS平台可以分为不同的类型。比较常见的有认证接入型PaaS平台、基础服务类PaaS平台、多租户开发型PaaS平台、容器型PaaS平台、托管型PaaS平台,以及提供综合服务能力的综合型PaaS平台。
像钉钉一样的云平台,提供一些通用的办公功能,以巨大的用户基数形成流量入口,然后接入其他应用。对于其他厂商而言,钉钉就是一个流量分发渠道。该平台的特点是实现了单点认证和统一入口。另外一类是阿里云这样的基础服务类PaaS平台,这类云平台提供了基本的基础服务接口,比如日志、数据库、文件、缓存服务,供开发者调用。
还有一类很重要但容易被大家忽视的云平台,就是多租户开发型PaaS平台,中服软件的Cserver云平台就属于这类平台。该类平台通过对传统软件技术级的架构改造,让它适合在云端去运行、运营,帮助传统软件厂商上云。下面我们将以中服软件的Cserver云平台为例,来具体解读这类云平台。
平台+应用构架SaaS超市和应用生态
在赵子奇看来,软件云化有两个层面,一个层面是把软件放到云端去,然后给某个企业或者局部用户使用;另一个层面是软件放在云端共享给很多企业,并且能实现在线进行开通,在线付费,在线使用,也就是云端软件资源的多租户共享。
可以看到,如何实现软件的云化,是非常关键的技术节点。根据赵子奇介绍,具体的技术路径是:首先对软件做底层的扫描和改造,然后对数据存储、文件存储、缓存存储的地方进行拦截。把软件放到云端上之后,原有的软件不变,当用户访问的时候,底层数据会自动分发。另外还在平台上做一些横向的扩展,就可以把传统的软件很快的实现云化。
对于云平台而言,其最终的目的是通过云端资源来服务企业客户。所以实现传统软件云化只是完成了其中一部分,在软件云化的基础上还要构建丰富的SaaS产品资源,提供给企业客户使用。
以中服软件的云平台为例,该平台由两大部分组成,一部分是组件化PaaS平台,从各个层面去支撑整个上层的应用,包括负载层、中间件层,提供应用服务开发、应用组装工具、系统开发工具,SaaS化转化和运维监控,以及Docker paas平台,来打造一个基本组件化开发的平台。开发者可以在该平台上面进行开发、部署、运营和监控,来实现应用的支撑和运行。另外一部分是应用接入,把传统的软件云化后,接入上述云平台,这样平台上就能汇集丰富的应用产品。中服软件基于这两部分,建构出一个SaaS应用超市,利用这个应用超市中的产品,可以实现面向各个行业不同应用场景的需求。
值得提出的是,中服软件的这个SaaS应用超市和传统的电商有着本质的区别,传统的电商只是把产品放在平台上面去卖,SaaS应用超市不仅要解决应用产品销售问题,还要解决软件运行支撑、分发,以及开通使用的问题,所以它有更多的底层支撑和运行服务。更进一步的,要实现很好的商业化,云平台还必须要解决软件资源实时在线的租用问题,也就是实现SaaS资源的共享。如何实现呢?基于SaaS超市打造一个应用生态似乎是必然的选择。
基于云平台实现软件资源共享
对于云平台的优劣,用户具有最终的决策权。与原先的软件系统相比,云产品和服务体系具有哪些优势,必须在企业用户的使用实践中才能进行验证。为此,赵子奇跟我们分享了一个利用中服软件云平台来为企业提供服务的实际案例,通过案例来看云平台的比较优势。
赵子奇介绍到,中服软件曾为一个集团企业做了一个OA系统。该企业下面有很多厂,开始做的时候,服务人员都是一个厂一个厂去卖许可,然后进行实施。这样就会出现一个严重问题,那就是数据不能统一。为此,中服软件为该企业做了一个集中化的解决方案,该方案实现了管理模式的统一。但是,集中化的方案也带来了一个新的问题:系统集中了以后,是通过授权的方式给下面各厂使用,这样各厂对自主需求的可控性特别弱。
通过分析可知,原先的方案分为两个阶段:第一个阶段是分散建设,满足了企业里各个厂的需求,但集团层面不能实现统一管理;第二阶段进行集中建设,满足了集团管控的需求,下面各个厂的个性化需求又不能很好的满足。似乎集团和各个厂的需求无法统一,只能满足其中一个需求。有没有一套解决方案,既能实现集团的统一管控,又能满足各个厂的个性化需求呢?
在传统本地化的软件方案中,这个矛盾很难调和,但基于云平台的方案能很好的解决这个问题。中服软件基于PaaS平台+SaaS应用的方式,很好的满足了该企业的需求。首先,通过统一的PaaS平台,能够实现集团的统一管控和数据的统一;各个厂在使用的时候,根据组件化的体系,申请去开通一套完整独立的系统,来满足其个性化的需求。这样,该方案既满足了每个子公司最基本的个性化的需求,又实现了整体的系统集成。
通过上面的分析可以看到,线上软件资源的共享是云平台的本质。像中服软件这样,通过PaaS平台+SaaS应用的方式,在云平台基础上构建软件超市,进一步通过与合作伙伴的合作,来打造企业应用生态,是一种较好的企业上云之路。对于最终用户而言,基于云平台的解决方案,除了具有成本与便捷性方面的优势外,还能解决一些基于本地化部署方案不能解决的问题,比如上面那个案例中谈到的集团统一管控与子公司个性化需求满足之间的矛盾问题。