读书 | 数字化转型的道与术(下)

【数字化转型作者 / Edison Zhou

这是EdisonTalk的第313篇学习总结 


最近在阅读钟华老师的新作《数字化转型的道与术》,记录和总结了一些学习笔记和感想,整理成文分享与你,本文为下半部分,希望能对也在参与数字化转型的各位童鞋有一点点帮助!

1中台架构的建设思路

业务中台的架构和落地形态

业务中台建设的目标是:实现企业业务数据的实时、统一和在线。下图是一个典型的业务中台:

在落地的时候,需要保持各个服务中心的业务扩展性,这就需要:

  • 代码和数据库完全隔离

  • 仅提供该业务领域的公共能力

  • 仅以服务方式对外提供服务

  • 支持服务中心的独立运营

业务中台和数据中台相辅相成

业务中台和数据中台相辅相成,需要共同构建起企业数据的运营闭环

例如,想要查看过去一段时间各个地区或者店铺的商品销售情况并生成相应报表,这就需要对交易中心的订单数据和商品中心的商品数据进行组合,如果订单和商品的数量都是百万级,这时进行实时的查询和组合就会出现性能问题。合理的方式是将生成报表的相关服务中心以及前台业务应用的数据同步到统一的数据仓库,再由数据仓库提供的计算和访问接口满足这一类场景的要求。

近年来炙热的大数据已经让各大企业都认识到了大数据的重要性,但是大数据不只是更快的计算能力,一定要让数据作用于实际的业务中,让数据在业务交易和场景中发挥出智能决策、以数据为驱动、优化业务等能力,才能真正为企业创造价值和效益。

中台建设的方式和发展路径

目前企业中台建设的典型方式有三种:

(1)顾旧立新:即最大限度地保护原有IT系统的投资,也不断建设基于中台架构的新系统。缺点是需要让旧系统停止业务需求响应,如果系统切割器较长就会造成较大影响。

(2)平滑迁移:即原有系统中并不需要将所有的功能模块都进行中台架构的改造,而只需要将部分功能接入中台体系中。缺点是这种方式要求企业必须具有强大的技术团队对该迁移系统具备源码级的改造和把控能力。

(3)不破不立:即逐步批量化废除原有系统,重新构建新系统,在开始之初就明确了对哪些旧系统进行替换和改造,并且是在几乎同一时间段内对这些系统进行重构。缺点是项目投入成本高昂,而且对也无需求梳理、项目协同协作和管控等方面提出了较高的要求。

对我在X公司的经历而言,我们采用的不破不立的思想进行着顾旧立新的进程,在核心业务上采取了新建系统的方式,对支撑后台业务采取了继续使用原有IT系统的方式,但以维护为主少量新需求优化。

目前企业中台建设的大体路径可以分为四个阶段,分别是:初期(局部业务领域)、完善发展期(全业务链路)、数据算法驱动业务期(沉淀数据和算法能力)、数字赋能构建生态期(能力对外开放)。

中台建设的风险和挑战

钟华老师说道,一般企业中台建设面临的风险和挑战包括以下几个:

(1)企业高层领导的支持

(2)明确数字化阶段建设的核心和重点

(3)组织共识和合理机制

(4)专业人才的参与

(5)成熟稳定的架构和技术平台

基于中台架构的新业务建设原则

针对企业新建系统类型和建设条件的不同,有以下几种建设模式:

(1)自有技术团队+软件外包人员联合开发模式

(2)引入专业解决方案提供商,遵循中台架构建设

(3)引入商业套件,实现中台服务能力与套件的业务对接

我在X公司时采用的是自有技术团队,然后引入阿里云成熟云服务组件,对接酷家乐等成熟第三方服务及金田豪迈等成熟设备厂商来一起构建自己的数字化平台。

中台架构与微服务的关系

微服务是支撑企业中台服务交互和管控的核心框架,是企业中台的核心技术,而企业中台不仅仅需要技术平台的有效支撑,同时也会涉及组织架构、人才、运营等一系列非技术的调整和优化

2中台服务设计及平台化运营体系

有了建设思路,还需要落地的方法,具体就是服务中心的设计方法以及运营体系的搭建探索。

中台服务设计

中台架构建设的核心是进行中台业务模型设计,核心方法就是抽象出具有企业级共享价值的业务模型

首先,需要判断什么样的业务可能成为业务中台的服务中心,书中提到了有四点标准可以供我们参考:

(1)功能和数据具备共享价值

(2)有价值的业务数据不断汇入和沉淀

(3)功能有不断完善和丰富的需求

(4)功能边界清晰,具有独立运营价值

其次,确定了需要建设服务中心的中台业务,就需要将其落地,书中提到了一个落地流程以供我们参考:

(1)调研与规划:从发展角度去看企业当下的业务运营情况和未来的业务规划,需要综合考虑企业自身的特性、新技术应用、新业务发展趋势等方面来做总体规划。

(2)需求分析:从业务规划的各种业务场景出发,梳理核心业务流程,边梳理业务流程边识别业务实体,两者相辅相成。

(3)中台设计:从需求分析到中台设计有两条路径(如上图所示),A是针对业务比较复杂的场景是从业务域分析开始的完整过程(流程分析、时序图分析和聚合分析最后得出方案),B是针对业务比较简单明确的场景是基于模型库或已有的方案开始迭代推演。中台设计一般分为两个阶段:业务中心分析(三个分析:流程分析→聚合分析→时序图分析)和业务中心设计(三个维度:业务模型、数据模型和服务能力)。值得一提的是,DDD(领域驱动设计)的方法论可以用于指导这个阶段的分析和设计工作。

(4)开发实现:开发团队进行详细设计和开发,并没有太多特殊之处,但是需要开发人员掌握分布式、服务化相关的一些开发原则和技术,特别是分布式事务、异步、幂等性等问题。

其次,在落地设计开发实现过程中,也需要遵守一些良好的设计原则和方法:

(1)契约先行:服务契约公开之后就需要保证良好的稳定性,不随便重构;

(2)服务功能内聚:必须将可能影响到业务正确性的逻辑在对应的服务中一起提供;

(3)服务粗粒度:综合考虑粗粒度,减少前端的远程调用此书,降低其学习成本和耦合度。

(4)消除冗余数据:使用DTO等手段避免携带当前业务场景中不需要的冗余字段;

(5)通用契约:参数和返回值必须是被广泛支持的比较简单的数据类型(比如不能有对象的循环引用,不能有某种特定开发语言才具备的高级特性)

(6)隔离变化原则:避免服务中心内部的重构或者模型变更导致前台应用也跟着变化;

(7)契约包装:可以考虑包装远程服务访问的逻辑,也称服务代理(Delegate Service)模式,由消费者端子机主导定义接口和参数类型,并将服务调用转发给真正的服务客户端,从而让服务使用者完全屏蔽服务器月。

(8)服务无状态原则:要保证服务中心的服务稳定性和可靠性,服务不应设计为“有状态型”的,即服务不应依赖服务使用者和服务生产者之间长期存在的关系。

(9)服务命名原则:优先使用业务概念而不是技术概念。

(10)服务操作设计原则:应当使用具体的业务含义而不是泛型操作对操作进行定义。

(11)重要的服务不能依赖非重要的服务:上可以依赖下,下不可依赖上,平级可依赖但需避免循环依赖,高级别不可依赖低级别。

总体来说,简单就是美,这些原则也并非全部使用,需要我们在实践过程中不断练习。

业务运营体系

在数字化商业形态中,企业不再只以物理实体作为生产资料,数据也将作为生产资料,企业也需要设计出与数字化技术相匹配的业务运营机制,才能保证数字化转型的成功。

钟华老师在书中提出了一个标准的平台级三层业务运营参考模型,包括:

(1)数字能力运营平台

(2)产品运营平台

(3)租户运营平台

如下图所示:

实际运维中,也需要保证运维权限的正规性,需要有完备的工单系统来逐级申请和授权:

能力开放平台

当企业自身的数字化能力构建到一定的水平,基于业务场景沉淀的数据具备一定的社会共享价值之后,就可以通过将内部数字能力通过API的方式对外开放吸引其他合作伙伴一起共建产业生态,其本质是通过服务能力的方式赋能外部合作伙伴,一起服务于平台上的用户

在构建能力开放平台时,需要注意安全性(保证平台数据安全)、稳定性(提供稳定服务保障正常运行)、平台管控性(需要对平台的运行情况有把控)和提供自服务能力(帮助伙伴更好地构建他们的产品)。

3小结

《数字化转型的道与术》是一本值得在传统企业做数字化转型的技术人读一读的好书,它并不深究具体技术的使用和业务的实现,很少涉及纯技术平台和工具的内容,更多的是钟华老师分享一些他自己几年来在数字化转型及中台建设实践中新的发现和思考。作为技术人、架构师又或者企业CIO/CTO,都要有更全面、更正确的视角,才能正确理解自己所处的行业和企业的数字化转型。

最后,希望你也能读一读这本书,相信它一定可以给你带来启发和帮助!

4推荐阅读

钟华,《企业IT架构转型之道》

钟华,《数字化转型的道与术》

不变的依旧是分享

往期推文合集:2020年上半年推文合集

如果本文有用,请给我一个“在看”????

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法题目——读书知识点统计问题(POJ-3320)(尺取法)

题目链接:poj-3320 问题:杰西卡是一个非常可爱的女孩,受到许多男孩的追捧。最近她有个问题。期末考试快到了,但她几乎没花什么时间。如果她想通过考试,她必须掌握一本厚厚的教科书中包含的所有思想。那本教科书的作者和其他作者一样,对这些观点极为挑剔,因此有些观点被…

GraphQL:面对复杂类型

GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进&#xff0c…

为什么建议学生积极参与开源项目?

喜欢就关注我们吧!“ 你参与过开源项目吗?” 随着开源技术对信息产业的积极影响进一步扩大,越来越多的面试官将是否参与开源项目作为考核开发者能力的一项基本指标。对于求职者来说,参与开源能为简历增色不少 ,增加赢得…

微服务技术栈及分享计划

前言上一篇对微服的演变、优缺点进行了概述,对于业务复杂项目,微服务算是比较合适的解决方案;对于咱们开发者来说,有好的解决方案肯定要跟进学习,但不能盲目追崇流行技术,目的还是为了解决问题。这里就把As…

PAT乙级题目——1002写出这个数

问题分析:1.数据比较大,并且输入数据时没有停顿,所有使用字符串来存储数据 string str""; cin>>str;2.使用字符串数组来存储每个数字的拼音 string S[10]{"ling","yi","er","san"…

Linux性能挖潜的隐藏招数:内核CPU亲和性参数调整

作者:李彬,赵雪枫,金融科技工程师,架构师社区特邀作者!应用服务性能调优,是每个系统投产前都需要关注的问题,系统及软件层面的调优方法均有大量文章介绍,但在所有招数使出后&#xf…

PAT乙级——1001害死人不偿命的(3n+1)猜想(太简单)

#include<iostream> using namespace std;int main(){int n;int ans0;//记录走过的步数 cin>>n;while(n!1){if(n%20){ans;nn/2;}else{ans;n(3*n1)/2;}}cout<<ans;return 0; }

好的重构方法才能摆脱“屎山”

大家好&#xff0c;我是Z哥。最近在整理一些项目&#xff0c;所以相关的文章写的多了些。之前的相关文章有《聊聊单元测试》&#xff0c;感兴趣的话可以点击文末链接去阅读。这次整理项目的时候&#xff0c;做了比较多的codereview和重构。好久没做这么高强度了重构了&#xff…

在 Asp.Net Core 中使用 worker services

ASP.Net Core 3.0 Preview 3 新增了一个 worker services&#xff0c;那什么是 worker services 呢&#xff1f;它如同 windows服务 或者 Linux守护进程 一样的后台服务&#xff0c;在 Visual Studio 中提供了一个专门创建 worker services 的模板&#xff0c;如下图&#xff…

react全局状态管理_rxv: 在React中用Vue3的reactivity包实现状态管理。

前言React的状态管理是一个缤纷繁杂的大世界&#xff0c;光我知道的就不下数十种&#xff0c;其中有最出名immutable阵营的redux&#xff0c;有mutable阵营的mobx&#xff0c;react-easy-state&#xff0c;在hooks诞生后还有极简主义的unstated-next&#xff0c;有蚂蚁金服的大…

VS Code 变身约会利器!以码会友,轻松找到心仪的TA!

在韩老师的《Visual Studio Code 权威指南》一书中&#xff0c;我向大家推荐了许多好用的插件&#xff0c;其中也不乏许多摸鱼插件&#xff0c;刷知乎、炒股票、看电影、听音乐、追番、看小说&#xff0c;一应俱全。前不久&#xff0c;韩老师还给大家推荐过一款“小霸王”插件&…

机器学习——常用算法的总结

机器学习常用算法总结 机器学习——常用算法的总结学习方式一、监督式学习&#xff1a;1、分类2、回归补充——线性回归与逻辑回归二、非监督式学习&#xff1a;三、半监督式学习&#xff1a;四、强化学习&#xff1a;算法类似性一、回归算法&#xff1a;二、基于实例的算法三、…

机器学习——决策树学习

机器学习——决策树学习一、什么是决策树二、决策树的学习过程特征选择&#xff1a;决策树生成&#xff1a;剪枝&#xff1a;三、决策树的一个具体的实例导入数据python strip() 函数和 split() 函数的详解及实例数据处理提取到训练集中的标签给数据的每一列添加上标签&#xf…

微软:Excel公式是世界上使用最广泛的编程语言

喜欢就关注我们吧&#xff01;文|一君微软近日推出了一项 Excel 公式构建的新功能 LAMBDA&#xff0c;正则测试阶段。LAMBDA 允许使用 Excel 自身的公式语言自定义功能&#xff0c;而过去&#xff0c;Excel 中需要通过 JS 等语言编写自定义函数。同时&#xff0c;LAMBDA 还可以…

机器学习——文件的读取

机器学习——文件的读取(一).txt文件的读取(二)excel文件读取操作(一).txt文件的读取 txt的链接 链接&#xff1a;https://pan.baidu.com/s/1fIAUdCDTpR7TiqLHZtx1yg 提取码&#xff1a;0929 python strip() 函数和 split() 函数的详解及实例 一直以来都分不清楚strip和split…

linux select读取节点数据失败_MySQL中覆盖索引查询和select*查询执行结果案例分析...

索引优化建议在MySQL中要尽可能使用覆盖索引进行检索&#xff0c;只访问索引的查询(索引列和查询列一致)&#xff0c;减少select * 可提高查询效率覆盖索引(Covering Index)理解方式一:就是select的数据列只用从索引中就能够取得&#xff0c;不必读取数据行&#xff0c;MySQL可…

使用 Azure WAF 羞辱黑客的智商

点击上方蓝字关注“汪宇杰博客”导语还记得之前给大家介绍过的《使用 Azure Web 应用防火墙拦截黑客攻击》吗&#xff1f;今天我又带来了一个有趣的 Azure WAF 小技巧&#xff0c;可以让你爽一把。好奇的黑客今天 Azure Application Insights 上发现了一段集中时间的404错误&am…

机器学习之乳腺癌问题(SVM)

机器学习之乳腺癌问题SVM题目所需的代码及数据利用SVM建模SVM调参题目所需的代码及数据 链接&#xff1a;https://pan.baidu.com/s/1bS7Ku_PUfcimiVkmLz9Fzw 提取码&#xff1a;0929 利用SVM建模 import matplotlib.pyplot as plt import pandas as pd import numpy as npfro…

如何将日志记录到 Windows事件日志 中

每当出现一些未捕获异常时&#xff0c;操作系统都会将异常信息写入到 Windows 事件日志 中&#xff0c;可以通过 Windows 事件查看器 查看&#xff0c;如下图&#xff1a;这篇文章将会讨论如何使用编程的方式将日志记录到 Windows 事件日志 中。安装 EventLog 要想在 .NET Core…

【Java】springboot

文章目录 Spingboot1、起步依赖2、构建springboot工程jar包3、springboot配置文件4、多环境配置5、maven和boot多环境兼容问题6、配置文件分类7、springboot整合mybatis Spingboot springboot用来简化spring的初始搭建以及开发过程。 比方说&#xff0c;创建一个springmvc程序…