数字化云平台架构与实现


 2016-12-14 17:22:43       774


转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号:“加群 姓名 公司 职位 微信号”。


大家好,我是王葱权,今天给各位简要分享一下普元数字化云平台(the Platform)的架构与实现的相关内容。

今天分享的内容主要有这几个部分:

首先给大家介绍the Platform总体架构情况;

接下来是平台最为关键的几个特点(协作、自助、自动);

最后做一下简单的回顾总结。




架构总览


DevOps,解决的是如果在这个云平台上建立“软件产线”的问题,让企业能够在这个平台上按照一定的流程、规则去生产你的系统,协同你的团队;


数据管理,重点解决微服务架构下,数据的问题,我们知道,微服务是“松耦合”的新形态,但是只有计算的松耦合是不够的,还需要在数据上的“高内聚”,微服务架构下,如何管理数据,就是这个层次重点考虑的问题;


最后一个层次,是应用框架,云平台,是供应用运行的地方,如何让各种类型的应用能够快速的搭建起来,这是企业云平台的重大课题,the Platform内置提供了标准的移动/Web、业务流程、集成以及数据四类应用的基础框架。


简单介绍了总体架构以后,我们看看这个平台和现在业界的很多云平台的区别,大家应该非常清楚,目前最常见的云平台使用方式,就是“租地、卖地”的资源租赁方式,这种模式只解决资源供给的问题,他不解决企业系统的建设问题,企业系统的建设,都要有如下的步骤:



协作化


如何与商业伙伴协作?如何进行产品管理?产品怎么设计?开发如何开展以及如何验证上线,并保证服务的有效运行?这些都是企业考虑的重点环节,这些环节如何有效的配合起来呢?这就是我们云平台重点考虑的地方:协作。



要协作起来,我们认为需要有三个关键的因素,有规格、有流程并且有一系列的工具支持。今天重点来说说平台考虑的关键规格有哪些。



我们认为,有三方面规格非常关键:


产品与服务的规格,有了这些规格,才能解决技术差异化的问题,基于这些规格,就能够将不同技术、不同厂商产品对接到平台上,为企业建设系统所用;例如,普元的大数据产品、SOA中间件以及星环科技的大数据分析能力等等;


流程规格,很多人可能会困惑,为什么要定流程规格,平台上有了不同的技术服务、产品以后,怎么组合,如何使用,各个企业其实都是千差万别的,究其核心原因是,每个企业的流程是不一样的,无论是管理流程、业务流程,都不一样。流程的规格,是用来屏蔽企业的差异化的。


交互的规格,它解决人、物以及企业业务逻辑之间如何沟通的问题。


上面说的是协作的基础,下面聊一下,怎么有效的协作,现代的协作是什么样子的。



左边这个图,估计大家都很熟悉,也经常干:标准的工作流程,自上而下规划的流程、分工。它是一种固化的流程,也可以称之为计划时代的协作。所有非计划内的,通过线下的管理流程进行补充。现代的协作,有一个重要特点,就是拟人的、平等式的,他就像一个生态,像一个社会,那怎么才能做到,需要什么样的基础?首先第一个基础就是沟通,要能够沟通起来,信息能够流动起来,而最最自然的沟通方式,那就是聊天。



聊天,他首先是解决了实时性问题,现代的工具(例如手机+很多终端),它又替我们解决了地域、位置的问题,让我们可以做到随时随地的进行沟通。但这离我们追求的还有一些差距,就是还需要做到,人、物以及你的企业业务(逻辑)三者之间可以进行聊天,拟人式的聊天。


自助化


有了这种聊天式沟通基础以后,再进一步提升效率的方式是什么,我认为是自助的手段。




我们都知道,加快效率的方向有两个,一个是时间方向,另外一个就是空间方向,时间上,执行更快,空间上,距离更短。自助就是让业务链条(业务距离)更短的手段,想象一下,原来在百货商场柜台前购物与现在电商模式,就一清二楚了。


在云平台上也是一样的,只是提供资源和地盘,然后让很多人去折腾也是远远不够的,他应该能够自助的去完成很多事情(后面会讲到)。


自动化


刚才讲了在空间方向的效率提升手段,我们再来看看时间维度的手段,这里我只讲一点,那就是让重复劳动自动化。




无论是做系统设计、开发、运维的人都非常清楚,在我们建设、运维业务系统的日常工作中,有太多的重复劳动了。重复搭建环境、重复的系统部署、重复的验证等等。这些其实都应该自动化掉。



这些也是我们平台考虑的三个方向,作为平台,有三个最为关键的视角(或者称之为角色),消费者视角、提供者视角以及生产运营者视角。


我们目标是:

让生产运营者做到聊天式的开发运维一体化;

让提供者做到自动化的部署供给;

让消费者做到自助式的开通使用;


这就是我们所谓的thePlatform的 CSA


我们首先看看第一点,ChatDevOps




我们录制了一段简短的视频,介绍使用thePlatform时候,开发、测试、经理如何协作的。这里先简单介绍一下屏幕上的几大部分:


左边是运维监控区,在这个区域可以看到开发环境、测试环境甚至是生产环境的具体情况

中间是开发测试区,在这个区域可以看到开发人员、测试人员的操作过程

右边是图形与发布区域,在这个区域展示的图形化测试界面及管理者的移动交互界面


在这个视频中,有三位参与者,开发:scott;测试:jenny;经理:martin,他们都会以聊天的方式进行沟通,也会和环境中的虚拟机器人进行沟通。






前面视频介绍了我们说的聊天协作过程,接下说说我们对消费者视角的思路,作为平台,我们面向消费者,提供的“东西”只有一种,那就是产品。无论你需要环境、数据库或者是工具等等,它都是我们市场中的一款产品,你只需要到市场上找到它,然后进行申请开通即可。


重点强调的是,你只要指定某种规格的产品,进行开通,平台(系统)会自动为你进行环境的准备,软件的部署等等。而作为消费者,你不需要做太多繁琐的系统层面的操作。


右边是用户从市场上找到数据库MySQL,进行开通的过程…


刚才提到,系统会为用户(消费者)自动进行部署开通,如何做到的,下面就来说说第三方面:自动化部署




在我们的思考里,引入基于策略的模式,无论是环境、软件产品(甚至是开源软件),先定义规格,有了规格,我们就可以基于它定义策略,有了策略,系统就知道如何部署它。


例如我们自己的DevOps流程,分成四套环境(开发、测试、预发、生产),每个在DevOps上的产品都有其部署规格,针对这四套环境,系统就会执行不同的动作和流程。在开发、测试环境,拿开发分支、走snapshot版本、给他起单实例。这些都是策略。


总结



啰啰嗦嗦这么多,来总结一下前面所说的内容,首先整个平台架构上分成了四层(设施、DevOps、数据管理、应用框架);其次介绍了需要定义的最为重要的三点规格;最后是平台的三个特点(聊调式的生产运维、自助式的消费开通以及自动化的部署供给)。


好的,今天就到这里,谢谢大家。


关于作者:

王葱权

EAII-企业架构创新研究院 常务理事

2001年加入普元信息技术股份有限公司,现任软件产品部总经理,负责普元信息技术与产品的运营工作,长期致力于企业软件平台建设实践。毕业于同济大学,主持完成一系列产品研发工作,包括普元SOA应用平台、普元BPM/ESB集成平台及移动与云计算平台等。对企业技术架构有较深刻理解,曾主持中国建设银行、中信银行、国开银行等多家大型企业的技术平台规划与落地。


关于EAII

EAII(Enterprise Architecture Innovation Institute)企业架构创新研究院,致力于软件架构创新与实践,加速企业数字化转型。



eaworld项目(微信号:eaworld,长按二维码关注)


eaworld是EAII的官方微信账号。


相关阅读: