本文源自王晔倞在《技术琐话》周三直播上的分享整理,小编通听二三遍,然后采取记忆要点模式整理,没有逐字逐句复制。而且尽量保留老王口语化的特色。老王写原创的时候语言生动,长句较多。演讲往往通过短句增加记忆点,风格鲜明。

我自我介绍一下,我是王晔倞,目前在好买财富。

我也介绍一下好买财富,一家有牌照的全金融产品销售业务形态的公司。

传统企业在技术意识上的现状

对了,我解释一下,什么叫传统企业。当然我不用百度百科的解释。

传统企业,互联网企业相互看着比较奇怪。

我今天讲的也是我的理解,没有标准答案。如果赞同的,点个赞;不赞同的,你就当听故事,这世界原来还有这些事。

传统企业,总觉得自己很“别致”。

比如制造业,总喜欢拿安全说事!

他们认为,互联网企业很奔放啊。

有时候真有那么大区别吗,还是你找的“借口”?

我之前写过一篇“上海技术氛围烂得一B”,还被人喷。上海除了携程、拼多多还有谁,记得住的不是南京路,陆家嘴、自贸区吗?

北京开技术大会,一个专题结束了,讲师往往被包围,干吗?被包围问很多问题。

上海很有意思,还没结束,就有人跑,回家去了。

上海的工资也并没有比北京低很多。

上海的传统企业比较多

一个老板的特性,就是这样。

对了,有人提醒我,宝钢!

一个城市的定位,跟国家战略有关。

比如卖基金,之前在线下卖,现在线上可以卖。这本身可以作为“传统企业”,互联网只是它的一个渠道而已!

对了,你如何告诉你的老板,自己做中间件对于业务有什么帮助?这三个人还这么贵!

说实话,我说不出来!

对了,我想起来一个经典问题:开发和测试的比例问题!

对了,你听过运维的比例吗?架构师的比例吗?

有标准吗?

多少服务器配一个运维?

如果说一个公司一个运维,又如何衡量这个运维的价值呢?

即使你能说得出来,抱歉,我是老板,我听不懂!

我是做业务的老板!

我们的中后台,不仅仅是1+1=2的问题,是一个增长曲线的问题,可能某些的存在就是为了业务翻5倍、10倍的时候才能体现机制。

他们只明白3个人干多少活,6个人创造了多少营收

这是他们的思维模式。

业务出身的老板不懂技术,

于是技术负责人

放弃了,

走掉了。

老板说你们NB了,为啥还宕机呢?

你们不是敏捷吗,为啥还延期呢?

你们不是devops了吗,为啥运维也在增加呢?

你们不是中台了,人为啥还越来越多了呢?

我的经验就是,解释不清楚的,选择不解释。

技术团队作为成本中心,不同企业的发展阶段有不同的使命的。

幸运的是,我都经历过。

初创,业务高速发展期,效率第一,快点上线。质量重点要吗?没有效率重要,凡是钱能解决的问题,或许都不是问题。

业务减缓期,往往更关注质量了。

业务平稳期,成本意识必须上来了,能100人干的活为啥要招聘200人?

微服务落地的发展历程

架构1.0

单体应用时代,可能是最好的时代。

一个war包打天下。

各条产品线,要用什么都是自己说了算,

上线也挺快。

我们看一下单体时代的几张图。

对了,老王又要讲故事了。

电商系统出问题了,6个总监在一起讨论是谁的问题。

电商研发部找了下面的三个团队,三个团队找了质量,质量找了运维。后来大家决定成立架构组,特别复杂的事情都让架构组做,于是架构组是救火队和背锅侠!

既然1.0时代这么NB,为啥还要转型?

痛啊!

1、业务发展,打补丁,if-else越来越多,终究会失控!

2、业务分散,缺少分层,每次测试都all-in。一个大型项目上线,300人的公司,光加班吃饭就来了100多人。

3、各自玩中间件,你玩这个MQ,他玩那个MQ。

总结一下,1.0时代,我们要解决系统问题、业务问题以及架构问题等三大问题。

架构2.0

理论都很有道理,总结一下,单体虽好,扩展却难。

越大越大的war,200人协同,业务响应变慢。

应用复杂度高,有些坑,可能知道的人已经离职了。

错误隔离困难,一个地方挂可能导致整个功能不可用

应用扩展的成本变高,比如我要扩展一下会员,但交易暂时不需要增加更多服务器。

更要命的是,数据库连接是有上限的。

于是,我们进入了2.0时代,主要是下面三招。因为时间的关系,后面我会讲得比较快......

组织结构垂直化,整合了研发、测试、运维变成全功能团队。这样一群人一个目标,一个屁股。

下面这张图就跟很多“大厂”的图一样了哈。最会员的团队,我可能给你4个人的编制,你该招聘开发招开发,该招运维招运维。

组织结构垂直化,看起来很美好,但是有新的问题,还需要对应的配套。

比如:

1、之前几个测试混合支持会员、积分、交易,哪里忙往哪里搬,现在每个团队得有固定的测试人员。

2、小项目迭代轻松了,TL自己安排发布就好,但大项目对于PM依赖变高了,5个功能团队,谁来协调,打架?我们有项目管理部,但项目管理部的职责不同,他们是传统的PM,可能需要去进修!

3、功能团队之间人员水平和能力差异,导致的技术风险和运维成本增加问题。

于是,我们要继续解决问题

中间件独立团队维护,这块的专业性交给他们。

运维单独有工具团队,全功能团队做运维自助化,在更好的流程和工具上工作。

系统运维部负责IaaS,包括机房、网络、存储等等。

项目管理流程工具配套

具体参考下面几张图

这是我们分布式缓存的监控平台

架构3.0

好了,到了3.0了。

IT自己爽了,业务需要爽。更快的支持业务上线!

我们在3.0阶段,面临的问题。

业务老变,快速尝试。

服务的编排,比如我们和基金公司签的折扣在中台服务中定义,而to客户的产品套餐折扣在产品服务这层定义。

逐步进行服务的拆分,微服务化。

逐步形成敏捷文化,传统一些的项目管理部门在今年拆除。

微服务落地的过程中,要注意敏捷文化的落地。

大家可以看一下我们2018年的一个业务架构。

这是偏技术的一个架构。

因为时间的关系,细节不展开。我们AI智能分析进行了服务化,而账户、保险等服务进行了微服务化,通过逻辑编排进行链接。

这是我们在3.0架构下和1.0架构下的效果。

这个数据是怎么来的,是我们总结收集的。

投资我们的公司是联想和腾讯,联想喜欢做“复盘”,我们也用了不少腾讯的东西。

我们从2014年开始,就坚持复盘文化,下面的案例就是复盘的一个具体结果。

今天,我分享的关键点是2个:

1、我们是一家传统的金融企业,传统金融企业老板如何想,技术负责人如何做决策?

2、微服务过程中的组织问题、架构问题、协同问题,更多是问题驱动,过程中的变化

对于具体的技术选型比如是dubbo还是spring cloud并没有涉及,DDD也没有,这些可以在以后的分享中展开。

服务不是越小越好,

对于我们企业,先做好服务治理。

下面是我的联系方式,我是老王,爱健身的段子手,讲故事的IT人!

往期推荐

  • 谷歌开源内部代码评审规范

  • 我为什么反对用异常做流程控制?

  • 13年创业CEO的复盘:20条人生指南

  • 羊毛党跑去京东摸了年终奖

  • 为什么顶尖高手,都是深度思考者?

技术琐话 

以分布式设计、架构、体系思想为基础,兼论研发相关的点点滴滴,不限于代码、质量体系和研发管理。本号由坐馆老司机技术团队维护。

传统金融企业如何做微服务?相关推荐

  1. 那些没说出口的研发之痛,做与不做微服务的几大理由

    元旦赠书活动还在继续中,欢迎点击下方链接参与: 赠书一:<函数响应式领域建模> 赠书二:<Java函数式编程> 赠书三:<高可用架构> 如果在诸多热门云计算技术中, ...

  2. 传统行业是否使用微服务的讨论——不够痛就别微服务

    一.微服务落地是一个复杂问题,牵扯到IT架构,应用架构,组织架构多个方面 在多家传统行业的企业走访和落地了微服务之后,发现落地微服务是一个非常复杂的问题,甚至都不完全是技术问题. 当时想微服务既然是改 ...

  3. 那么您想做微服务吗? 请观看微服务以防万一

    Bert Ertman在本次有关微服务的演示中提供了许多有效的观点. 您是否正在考虑在项目,团队或公司中遵循此路径? 请拿起咖啡,记事本(如果您喜欢手写笔记)并观看. 看到许多公司和团队确实很痛苦,精 ...

  4. 微服务指南走北(四):你不愿意做微服务架构的十个理由

    近段时间离职,跟同事们讲解我之前所做的微服务相关产品,对于同事们提出的问题,做了如下整理出来,加上自己的理解,分享出来跟大家一起探讨下: 问题预览 我为什么要换微服务?能给我带来什么好处? 从交互上来 ...

  5. 干货 | 国内互联网公司是如何做微服务实践的?(附PPT下载)

    微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,并随着Netflix最佳实践的发布而为业界所知.如今,在国内有了大量的微服务实践案例,5月18日,网易云联合云 ...

  6. 中台架构与实现:基于ddd和微服务 下载_为什么在做微服务设计的时候需要DDD?...

    记得之前在规划和设计微服务架构的时候,张队长给了我一个至今依然记忆深刻的提示:『你的设计蓝图里为什么没有看到DDD的影子呢?』 随着对充血模型的领域认知的加深,我越加感觉到DDD的重要性.但是DDD内 ...

  7. 为什么在做微服务设计的时候需要DDD?

    点击上方"程序猿技术大咖",关注并选择"设为星标" 回复"加群"获取入群讨论资格! 记得之前在规划和设计微服务架构的时候,给了我一个至今依然 ...

  8. Jboot发布啦,如果你做微服务架构,你应该看看。

    2019独角兽企业重金招聘Python工程师标准>>> Jboot发布啦 Jboot是什么呢? 详情地址地址:https://git.oschina.net/fuhai/jboot ...

  9. 架构(二):如何对现有系统做微服务改造?

      很多早期的互联网公司都有巨大的单体应用,底层的数据表集中放在一个数据库里,这些表加起来可能有几百张.对于这样的应用系统和数据库,我们往往需要对它们进行拆分,通过微服务化改造,保证系统能够不断地扩展 ...

最新文章

  1. js之事件冒泡和事件捕获
  2. 网络编程五种IO模型之poll模型
  3. memcache多语言unix socket访问
  4. 中国科学院大学2014年数学分析高等代数考研试题
  5. 基于Hadoop的产品大数据分布式存储优化
  6. Cocos2d-x基础篇C++
  7. pythondjangoddos_django带服务器
  8. “暖心”腊八节开启中国年 全民喝粥“讨彩头”
  9. IIS7 请求筛选模块被配置为拒绝超过请求内容长度的请求
  10. STC单片机 Keil4安装, 第一个程序
  11. 【经验分享】强力推荐——截图小工具Faststone Capture(FSC)
  12. 饥荒联机一直显示正在启动服务器,饥荒联机版启动服务器时间长 | 手游网游页游攻略大全...
  13. 没想到,拼多多竟然想用AI种草莓给我吃
  14. python小游戏——散刺修罗场
  15. 基于FPGA的2FSK调制解调器
  16. 第13章-1~3 法兰接头预紧力密封接触分析(模型简化、网格调整、约束)并行计算设置、摩擦接触设置adjust to touch 、约束设置frictionless support、bolt
  17. matplotlib总结
  18. centos 7修改用户名和密码
  19. unity游戏存档playerprefs
  20. Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析

热门文章

  1. 计算机应用 课件 .doc,管理课件计算机应用基础作业一(答案).doc
  2. 【毕业设计】基于程序化生成和音频检测的生态仿真与3D内容生成系统----程序化生成地形算法设计
  3. 强烈推荐的几个数据清洗小工具箱
  4. 光流方法Flownet的简单调用
  5. notability录音定位_如何恰当地使用 Notability?
  6. Capslock+ 2.x 介绍以及使用
  7. uniapp点击按钮防抖
  8. 023.抓到“拔粪青年”
  9. jboss6 jms 配置使用
  10. 解决Eclipse中文乱码问题