「微服务架构思路对组织影响的进一步思考。」

今年开始系统演化进入了第四个大版本,前两个版本我们采用的单一应用模式,核心开发团队也只有五、六人。
前年团队扩张到了近 20 人左右,单一应用的维护协作成本已变得不可忽视,服务化拆分时进入第三版时我们做出
的一个选择,但当时拆分粒度其实较粗,方便把团队拆分为几个小组来分别维护不同的服务和子系统。

两年来随着业务的发展,每个当初拆分的子系统或服务都膨胀到了一定的复杂度。单一进程应用实际承载了数十个
业务服务,单人维护单一服务进程应用开始变得有负担,而类同业务大量需求导致的定制化开发严重拖累团队的生产力,
进一步的微服务化与业务组件平台化将是进入第四版的主题。

微服务的粒度

随着公司运维基础设施(编译、部署、发布、监控和预警)的逐步成熟为微服务化的生产应用铺平了道路。
微服务拆分遵循了两个纬度,一个是业务服务分级化、目前定为三级(0、1、2),0 级服务为最核心,而越是核心
的业务拆分的职责越单一和正交化,实现功能的最小集,足够的简单单一对于确保稳定、性能和控制变更都有莫大益处,
边际成本递减效应明显。

微服务规划与设计

当我们开始考虑到底需要拆除哪些服务时,与城市规划有些类似。首先一个城市会化成几个大的片区,
每个片区承担着城市发展所需要不同功能职责(商业、居住、工业、科技等)。只有大的片区划分是不够的,
仅仅完成了顶层设计,微服务化的设计需进一步深入到这个片区到底是否需要安置一个 “购物中心”或“学校” 之类,
微服务化设计完成后,每个微服务的契约与主要职责就应该像 “购物中心”或“学校” 这样的描述那么明确了。

微服务功能职责仅仅是服务契约中的一部分,另一部分则是非功能规约。例如一个 “购物中心” 的确定则隐含对
周围的交通流量提出了要求,否则过于拥堵的交通压力会影响 “购物中心” 功能的可用性。
因此当设计一个微服务的契约时,我们需要描述清楚它提供的功能职责、承诺的响应时间分布、承载的最大流量(TPS)等设计要素。

人员角色的变化

按微服务拆分系统后,按照 “服务即产品” 的思路,人员角色将发生变化。
普通工程师从仅仅开发功能到开发、运营服务,工作性质的转变将带来思路和关注点的变化。
每个服务至少有一个工程师作为负责人,当然能力更强的人可能会负责更多的服务。
大量拆分的微服务带来开发人员交集的减少,对于大规模的团队并行开发好处明显。
而服务负责制对个人能力要求更高,自驱动和自学习能力更强的人会得到更多的成长机会,个人成长路线的发展也打开了空间。

这时团队的构成会变得类似 NBA 球队的组成,工程师的角色类似球员,架构师或技术经理类似主教练,而部门经理则是球队经理。
球员只管打好球,教练负责球员训练、培养与战术安排,经理则掌握着人事权,控制着球员的薪水升迁,招聘到优秀的球员。

一只篮球队场上实际只有五个位置,对应不同服务的负责人,如果人员少于服务分类,实际会有能力强的球员同时打多个位置。
而当人员多于服务分类时,必然有人是首发主力队员,而有人则是后补队员,甚至也有人是长期坐冷板凳的。
谁能成为首发主力,甚至成长为明星球员这多取决于个人努力、能力以及比赛的受欢迎程度。

球队要打出好成绩需要优秀的球员、教练相互默契的配合,这一点也是与按微服务化组织的开发团队相一致的。

当然最好能在更受欢迎比赛上打球。

----------------------------

下面是我自己开的一个微信公众号 [瞬息之间],除了写技术的文章、还有产品的、行业和人生的思考,希望能和更多走在这条路上同行者交流,有兴趣可关注一下,谢谢。

转载于:https://www.cnblogs.com/hehe520/p/6147619.html

微服务化架构演进与人员组织相关推荐

  1. 企业级BPM之微服务架构演进

    BPM平台在各行业的IT架构中都是重要的基础支撑平台,十二五期间,企业级BPM作为SOA体系下的关键组件,经历了一个加速建设的过程.我们也有幸参与了一些行业的流程平台建设,今天与大家分享我们在流程引擎 ...

  2. GitChat · 架构 | 为什么微服务实施那么难?如何高效推进微服务架构演进

    GitChat 作者:顾宇 原文:为什么微服务实施那么难?如何高效推进微服务架构演进 关注公众号:GitChat 技术杂谈,一本正经的讲技术 前言 笔者从 2013 年加入 ThoughtWorks ...

  3. 为什么微服务实施那么难?如何高效推进微服务架构演进

    为什么微服务实施那么难?如何高效推进微服务架构演进 前言 笔者从 2013 年加入 ThoughtWorks 至今共 4年时间.在这 4 年的时间里,我分别以 开发人员, DevOps 工程师.Dev ...

  4. 阿里巴巴微服务架构演进

    阿里巴巴服务化架构演进 单一应用架构 All In One 整个网站几个应用 前台 web 后台 ops tasks 业务 web service/dao 各自开发 一起集成发布 技术战:Webx.S ...

  5. 阿里巴巴服务化架构演进

    阿里巴巴服务化架构演进 单一应用架构 All In One 整个网站几个应用 前台 web + 后台 ops + tasks 业务 web + service/dao 各自开发 一起集成发布 技术战: ...

  6. 电商平台微服务架构演进

    一 初始架构 引入 nacos 后的基础架构图. 二 加入 Ribbon 后的架构 引入多个微服务,每个微服务通过 Ribbon 进行相互调用. 三 引入 Feign 后的架构 Feign 底层还是会 ...

  7. 【ArchSummit】众安金融微服务架构演进实战

    前言

  8. 宜信微服务架构落地及其演进

    一.应用服务架构演进及微服务架构介绍 1.1 应用架构的演进历程 应用服务架构一直处于不断演进的过程中,上图通过对比 5 种比较主流的架构模式,展示应用架构的演进历程和变化. 单体架构(All in ...

  9. 宜信微服务架构落地及其演进|分享实录

    摘要:本文主要介绍宜信微服务架构的基础设施建设,及如何更好地服务与赋能实际业务. 内容来源:宜信技术学院第8期技术沙龙-线上直播|宜信微服务架构落地及其演进 主讲人:宜信高级架构师 & 宜信科 ...

最新文章

  1. Android10.0 ContentProvider原理分析
  2. 常用的上网 发帖技巧
  3. ibatis解决sql注入问题 .
  4. B表中的pid对应A表中id,查询A表中数据,根据b表中对应a表中该id的数据数目排序...
  5. sql server死锁的查询和解除
  6. PHP日期、时间戳相关的小程序
  7. 剑指offer题目汇总
  8. 编译NVIDIA之Video_Codec_SDK_9.1.23之Sample
  9. linux中文乱码问题
  10. cipher命令(转)
  11. 逆水寒服务器维护公告,逆水寒1月3日更新了什么 逆水寒1月3日更新维护公告
  12. uniapp安卓创建桌面快捷方式
  13. 【产品】 产品设计:ID工业设计、MD结构设计、HW硬件设计和SW软件设计详解
  14. Git Tower 3.2 - 最好用的代码管理工具
  15. 身份证、手机号、邮箱、银行卡、企业税号等正则校验
  16. [服务计算] 简单 web 服务与客户端开发实战
  17. STM32CubeMX实战教程(七)——TFT_LCD液晶显示(附驱动代码)
  18. Your Freedom — 跨平台的代理软件
  19. easyweb新标签页打开
  20. 闭关修炼,看了老大的博客,才发现自己是多么的技术低,原来我就达到06年的他

热门文章

  1. 相信很多人心里都有着一个自媒体的梦想
  2. 为什么说干实业的玩不过干金融的?
  3. ecos中的spl同步机制
  4. linux内核根据skb获取目的mac地址
  5. ssrs 级联参数_在SSRS中使用多值参数
  6. mvc中嵌入ssrs报表_如何在SSRS报表中过滤多维OLAP多维数据集
  7. SQL Server中的数据库文件组和零碎还原
  8. azure 使用_如何使用Cloud Shell自动化Azure Active Directory(AAD)任务
  9. 在SQL Server 2016中使用动态数据屏蔽来保护敏感数据
  10. sql 时态表的意义_SQL Server中的时态表