如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

蘑菇街陈辉谈架构师业务思维修炼术

  • 2019-04-22
  • 本文字数:2684 字

    阅读完需:约 9 分钟

蘑菇街陈辉谈架构师业务思维修炼术

架构师是一个承前启后的岗位,正如一个路由器,对各种业务需求加以分析处理后路由到下游产品和研发团队。所以,对于业务的理解能力是必不可少的。7 月 12 日深圳架构师峰会上,邀请到了蘑菇街架构师陈辉老师来演讲架构师该如何提升自己的业务思维。以下是陈辉老师的回复整理。


目前,我的日常工作主要包括电商架构体系的规划和建设,结合对业务方向的变化以及存在的问题,打造一个能够稍稍跑在业务前面的架构。


传统电商架构向业务中台架构的演进工作,当前蘑菇街的业务结构不仅仅包括电商,还包括直播和 mogu 内容,需要对整体的技术架构做一些演进。


此外,也会重点去做基础平台的架构升级,架构逐步云原生化的工作筹备。平时还参与静态化服务器的开发,主要还是从部署架构上的变化带来成本优化。

架构师业务思维关键词

主动性

做业务不是等着别人来找你,这就变成了做需求的了,业务思维很重要的一点就是要能主动出击。

平衡性

不能一味的用业务的模式来解决问题,也不能固执的用技术思维来确定方案,两者需要做好平衡。

前瞻性

架构先行一定是需要有一定的业务前瞻性,虽然架构师都知道设计出高扩展性的架构,这个扩展性很大一部分体现在对业务的适配上。


大部分情况下很多开发或者架构师都会犯的错误就是过度设计,这个过度设计很多时候并不是没有业务思维,而是技术思维占据主导作用,用很技术的手段来思考业务问题。


案例:电商这边会有一个比较基础的系统称为库存中心,库存中心主要负责电商下单过程中的库存扣减和交易逆向流程回补工作。系统设计技术难点主要还是集中在防超卖上,类似《库存中心高并发实践》的文章在网上都能搜到。


当时在设计架构的时候,从技术思维上,蘑菇街花了更多的精力在怎么能达到更好的性能上,而没有好好结合业务发展的形态,只是幻想后期业务变化快,在扩展性上大做文章可是一段时间后发现,其实系统能力超过了业务能力几倍,但是业务变化起来,系统要跟上业务节奏就会比较累。

有和没有“业务思维”的区别

在带基础平台之前,主要作为电商和基础平台的对接人,发现两边的开发其实会有非常大的差异。电商的开发总觉得中间件怎么那么难用,基础平台的开发总不理解业务到底在做什么。两边很多合作类的项目要开展,但是协作成本很大。在此过程中我明显的体会到,缺少业务思维的开发往往容易钻技术牛角尖,在沟通协作上,大家很难从公司的维度去达成一致,更多的会从技术的角度去聊问题,这样带来最大的问题就是方案到最后可能是技术最优雅,但从成本、长期收益等角度看,存在很多潜在问题。


架构师很大的一个工作就是要把自己的想法落地,除了技术上能让大家接受外,更多的其实是要能带着大家创造价值。具备业务思维,可以更好的去权衡利弊,能够让沟通的维度更多,但方向更一致。

培养业务架构思维的阶段

从个人经验来看,尤其是对于业务架构师来说,思维的培养需要经历这几个阶段:


一、心中有解决方案,架构师很大的一部分设计来源于之前经验和解决方案的积累,所以解决方案的积累阶段比较重要。这部分的建议,一方面在日常工作过程中,一定不要只关注眼前做的那部分东西,要学会横向去看,去对比,对标行业的解决方案和思路;另外可以多关注类似极客时间 App 的专栏,或者 QCon,ArchSummit 这样的大会,上面会有很多不错的思路可以借鉴,开阔眼界真的很重要。


二、对业务的理解和把握能力,一般参与到业务中会经历几个阶段:理解分析业务、参与到业务中、对业务有前瞻性;


三、权衡技术思维和业务思维的阶段,这个阶段就需要实践来看什么样的场景下该偏重什么样的思维。说到权衡的维度,在蘑菇街业务背景下,我的标准就是客户价值,比如,我的设计是否真的解决了客户的实际问题,哪怕是一个偏平台类的系统设计,我也会从实际的客户价值上去判断,不能因为是平台型的就一定会很技术性。


四、经验之外的创新,架构设计不可能一味的用固有的体系,如何权衡业务,如何带来创新,是这个阶段需要考虑的问题。

业务转型,架构先行

架构师业务思维如何推动公司转型?业务要变化,并不是今天说变,明天就直接变了。业务的演变需要一个过程,技术要做的是怎么缩短这个等待的时间。这其中很关键的能力就是能不能提前做好技术布局?比如 2016 年,蘑菇街和美丽说融合,以当时两家平台的体量,在一个月内完成从数据到系统的全部融合是个非常不可思议的项目,如果不是之前在系统上做了平台化的能力,相信这个项目就很难去落地。电商系统的平台化应该也是发展到某个阶段需要去落地的实现,平台化的能力主要是让交易、商品等电商的核心链路可以支持多平台的正向、逆向流程,支持多平台业务的混合部署、隔离运行。电商的发展还是能够看到一些预期和苗头的,所以技术上的提前布局,后期发展就水到渠成,容易很多。


业务稳定了,还需要调整、创新?对于这个问题,其实在整个架构升级和调整的过程中,蘑菇街也会做一些技术上的创新和试验。比如蘑菇街会在局部尝试 Serverless 概念,以及 Cloud Native 开发。并不是说完全适配业务、成本最低化、没有任何创新的架构就是最合适的,在考虑性价比的同时适当的做一些技术层面的尝试,来决定后续是否可以在这上面更深入进行。技术的创新很多时候可以带给业务更多的可能性,所以创新无止尽。


在阿里提出中台战略的很长一段时间里,我自己也一直在思考蘑菇街的技术架构应该怎么去演进,才能更好的适应大中台小前台这样的业务组织模式。随着蘑菇街业务的复杂度不断提升、业务不断多元化发展,也正在摸索自己的中台架构,期望通过一种平台化的基础层来支持多渠道业务的扩展,建立核心的组件库来支持业务的复用,并通过轻量级的业务组装形态来完成业务的迭代。

团队成员的业务思维培养

首先是要走出去,和业务线的同学待在一起,和客户待在一起,了解他们在干什么,遇到什么困难,有什么解决思路?其次是,不仅仅是技术能力,对业务的理解要深入,对周边知识体系的了解都能决定对问题的看法,都可以影响做出来的设计,最关键是要有创新,要学会取巧,架构设计也能有创意,适合业务的才是最好的。

嘉宾介绍

陈辉:2015 年加入蘑菇街。目前在蘑菇街负责基础技术平台(中间件、稳定性、效能工具、网关)和电商技术架构相关工作,主要职责是在业务方向下,明确技术规划和技术架构,并落地技术输出。曾负责或参与蘑菇街前后端技术架构升级、静态化改造、网关统一化、上云等横向性工作。


7 月深圳 ArchSummit 会议上(https://sz2019.archsummit.com/track?utm_source=web&utm_medium=infoq&utm_content=chenhui),我会分享如何锻炼自己的业务思维,以及我自己过去的经验新心得,感兴趣的可以来现场交流。现在 8 折购票,可以联系票务灰灰 17326843116


2019-04-22 14:0310544

评论 1 条评论

发布
用户头像
技术文章到处充斥着培训、软文广告,唉....
2019-04-25 09:51
回复
没有更多了
发现更多内容

开源商业化:满足各方底层需求

茶陵後

开源 开源社区 开源文化

Camtasia实用技巧之视频剪辑

淋雨

视频剪辑 Camtasia 录屏软件

“区块链贸易融资生态”应用案例发布

CECBC

ASL公链软件开发|ASL公链系统APP开发

聊聊知乎订单系统迁移

知一

监控 软件开发 系统架构 重构 订单系统

【Flutter 专题】129 图解 ToggleButtons 按钮切换容器组

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

如何实施 SCRUM ?

万事ONES

项目管理 Scrum 敏捷开发 看板 ONES

解析对偶理论与对偶单纯性法

华为云开发者联盟

模型 对偶理论 对偶单纯性法 对偶 线性规划

SQL 居然还能在 Apache ShardingSphere 上实现这些功能?

SphereEx

【LeetCode】传递信息Java题解

Albert

算法 LeetCode 7月日更

华为云原生媒体网络,升级传统,赋能未来

华为云开发者联盟

云原生 直播 TechWave 媒体网络 云视频

并发王者课-铂金05:致胜良器-无处不在的“阻塞队列”究竟是何面目

MetaThoughts

Java 多线程 并发 并发王者课

DGTT矿机软件开发|DGTT矿机系统APP开发

【带你手撸Spring】没有哪个框架开发,能离开 Spring 的 FactoryBean!

小傅哥

spring 小傅哥 代理对象 FactoryBean Bean作用域

测试开发之网络篇-网络路由

禅道项目管理

网络

vue keep-alive(2):剖析keep-alive的实现原理—学习笔记整理

zhoulujun

Vue vue源码解读 keep-alive实现原理

【源码系列】Spring 过滤器和拦截器

Alex🐒

spring 源码 Spring Framework

13万张表+数亿行代码,迁移只需数小时,还是异构数据库

华为云开发者联盟

数据库迁移 DRS 华为云数据库 异构数据库 华为云UGO

视频 QoE 的平衡之道—揭秘网易云信 NERTC 视频质量控制系统

网易云信

视频 Qoe

Pano Flutter SDK 设计经验与实践浅谈

拍乐云Pano

在线图片转base64工具

入门小站

工具

DMD钻石币质押软件系统开发内容

环球旅游积分GTC系统开发内容

vue keep-alive(1):vue router如何保证页面回退页面不刷新?

zhoulujun

Vue vue-router keep-alive 页面缓存

Linux之head命令

入门小站

Linux

Rust从0到1-函数式编程-性能比较

rust 函数式编程 Performance 性能比较

如何做好IT项目管理?

万事ONES

IT 项目经理 项目管理工具

JAVA九种排序算法详解(上)

加百利

Java 数组 排序 7月日更

区块链:从根儿上解决2%的人拥有80%的财富全球社会问题

CECBC

视赏家短视频系统软件开发详情

Python 没有函数重载?如何用装饰器实现函数重载?

华为云开发者联盟

Python 装饰器 命名空间 函数 函数重载

蘑菇街陈辉谈架构师业务思维修炼术_架构_陈辉_InfoQ精选文章