近日,“OSCAR云计算开源产业大会”于北京国家会议中心举行,“DevOps论坛”作为"OSCAR云计算开源产业大会"的分论坛之一,于3月21日下午召开。用友畅捷通信息技术有限公司云产品研发部架构专家刘学斌在会上发表《公有云上基于微服务架构SAAS产品研发实践》主题演讲。
微服务架构自2014年起开始得到业界的广泛关注,近几年,随着DevOps技术的成熟,微服务这种架构模式得到越来越多企业的实践应用。微服务架构的特点是能够独立开发独立部署,独立伸缩和独立运维,但是微服务架构技术和其他技术一样,有利也有弊。如何做到既能充分利用微服务带来的好处,又能避免微服务架构带来的一些弊端和技术的复杂性和数字一致性,一直是众多人关注的焦点。
产品研发时首先调查市场需求背景。纵观国内,小微企业数量特别多,其典型特点是企业多,企业业务量相对较少,没有专人负责系统管理和维护,整体IT水平不高,适合应用微服务架构技术。而在近几年,随着云技术的发展,社会上出现大量业务创新,像电子支付、电子云仓和电子发票等商业基础设施,如何把SaaS服务和社会上的一些商业基础设施有利的集成起来,集中起来,为企业所用?因此SaaS服务成为了众多小微企业唯一的选择。
进行问题分析时,需要明确客户群,面向数量多的小微企业,工贸公司、贸易公司和制造商,单个企业的业务不复杂,但是做一款产品同时满足多个企业是一个复杂问题。另外作为云产品,要保证产品在7×24小时内始终运行,在这个始终运行的产品上做升级和维护也是一个高风险的活动。
基于问题和背景,可以提出几个设计目标,如产品架构支持大规模并发用户需要,模型和架构支持持续、快速演进,通过产品的开发积累企业基础业务能力,为将来新产品的快速开发积累可用资源。
而基于设计目标能找出产品的总体思路,第一是重视设计,第二是充分利用第三方技术。
研发组织架构与以前相比也发生了变化,现在设计的专业性比较强,所以用友分了很多小组,例如产品,UI/UE,前端、后端、测试、运维、业务运营。
合适的规范工作成果更容易被理解,也对开发友好。
在研发流程中,第一个板块本地开发,新的开发一般是用DeveLop,然后是三个分支,也是通过自动或者手动的方式,先手动再自动往环境中部署,包括开发环境、测试环境、部署,部署完了没有问题再放到云上。
在分析设计方法时,需要明确做微服务架构方法不仅仅采用一种技术方式,如果没有采用相应的分析设计的方法带来的弊将大于利,所以一定要有相应的设计方法。
设计方法中有一个是概述,涉及到业务建模、系统建模、领域建模和物理模型。业务建模包括系统建模领域建模和物理建模。
业务建模是把整个组织都作为一个研究对象,组织里的角色和系统相互协作完成一些业务,输出业务价值。业务建模之后我们可以得到系统的外观,然后通过系统建模知道系统里面到底有哪些组件组成或者哪些模块组成的,这些模块之间怎么进行协作。
领域建模是通过事物的现象和外观洞悉事物本质。系统外观是分析得到的,不是想出来的,通过业务流程得到系统外观。
系统里面由什么组成?系统里面必须分离复杂性,把系统拆成一个小的一块一块的,叫模块,这些模块之间怎么相互协作,满足系统外观里面所要求的功能。这就是业务系列图。通过这种方式,特别复杂的系统,要通过这个来得到它的每个模块的外观。
领域模型属于知识层,帮助企业在产品设计时理清思路。
物理模型是面向的是物理的表,把表建好,用转向的工具可以进入表,生成代码,成生软数据都可以。
基于SaaS产品实施的一些方案,包括几项技术选择,比如租户模式,分层设计,应用架构,总体技术架构,模块里面的技术架构,以及在微服务架构下、分布式环境下产品的一致性方案。
什么叫租户模式?SaaS产品一个应用,很多用户都可以用同一套应用,共享同一个计算资源,共享同一个存储资源。它有有不同的模式,如需求模式就是每个租户有独立的虚机,有独立的应用和独立的DB,租户资源不共享。
相对传统软件包产品,云产品升级是一个高风险的活动,设计另灵活领域架构是云产品灵活应对业务变化的基础。在建立云产品研发体系时,构建包括核心业务服务能力、支持业务服务能力和通用业务服务能力等公司基础业务服务能力,能大力缩短后期产品研发周期。
欲知详情,点击链接下载ppt原文:
http://www.idcquan.com/Special/OSCAR2018/live.html
或
http://cdn.opensourcecloud.cn/zt/2018cloud/ppt/
【中国IDC圈原创,未经授权禁止转载】