美文网首页
微服务团队结构与资源效率的平衡

微服务团队结构与资源效率的平衡

作者: ABasicVersion | 来源:发表于2018-08-22 15:07 被阅读70次

微服务、服务化近两年发展的如火如荼,不同的业务背景下,目标不同,团队的组建模式也不尽相同。

对于项目制的软件开发,因为项目本身的资源和预算有限,人员的利用率,资源的平滑分配就很重要,因此一般采用如下模式:


Screen Shot 2018-08-22 at 1.27.52 PM.png

这个模式的特点是代码共享,业务和系统上下文共享,整个team作为资源池存在,服务在team之间没有一对一的关系,可以互相修改。因此服务的治理就依靠团队的平均水平,如果团队的水准较低,那么服务很可能腐化,依赖严重,失去了低耦合的价值。因此为了改善这一状况,每个服务增加一个service owner,这个service owner是一个比较senior的技术人员,负责维护本服务自身的价值和低耦合性。
这个模式由于共享上下文,因此团队规模最大可能在30~40人之间,4个team左右。
无法支撑更大的团队。

对于更大的规模的团队一般存在于大型企业以及互联网企业之中,他们的组织形式一般如下:


image.png

这种组织形式一般可以支撑上百人的团队,每一个domain team可以指定自己单独的发布计划,对于比较大的发布,domain team内部可以对所有的微服务一起发布,对于较小的改动,每个微服务单独一起发布。

值得一提的是,虽然微服务所提倡每个服务独立发布与部署,但是对于大多数企业来讲,频繁到每周发布的节奏并不是必须的,比如很多的传统toB企业,每次发布都要经过严格的审核,这类企业普遍求稳。频发的发布对于互联网以及其他toC的企业是一个强需求,因此在这类企业中会对服务的治理投入更大的资源。

回过头来看,敏捷开发强调feature team,传统开发强调component team,实际上这两种方式都是分解功能耦合的一种模式,而解决因为耦合与集成带来的协同问题的方法,敏捷方法的精神都是shared context,shared codebase,通过发挥个人大脑的潜能,每个人要理解全部的业务需求以及代码逻辑,这样自然因为协同发生冲突的概率就比较低了,但是个人大脑是有极限的,当团队规模和业务领域范畴突破一定上线时,个人的理解力就不够用了,因此需要额外的沟通机构或者层级来进行沟通协调,就如portfolio team。这样当一个组织团队规模由500人的时候,可能就会出现3层的管理结构,规划需要逐层传递,沟通与协同的成本也会直线上升。

10个人的协同和500人的协同有什么区别?区别就在与大脑的理解力。因此10个智障在一起合作的难度和500个正常人其实是没有区别的。

同样是10个人的团队,为什么敏捷开发会比作坊式开发效果好质量高呢? 我认为关键在于其中每个人工作的时候都有一个快速的失败的反馈机制,即 build-quality-in, 在dev 开发的时候,如果破坏了与别人的契约测试,那么在他本地就知道出问题了,他可以再第一之间修改。就好像背后有一个大脑告诉你,你错了,你跑偏了,你该修正了。

这正是一种协同机制的技术化体现。

而这样的大脑如何应用于微服务架构呢?如何应用于500人的团队呢?

未完待续...

相关文章

  • 微服务团队结构与资源效率的平衡

    微服务、服务化近两年发展的如火如荼,不同的业务背景下,目标不同,团队的组建模式也不尽相同。 对于项目制的软件开发,...

  • 微服务介绍

    微服务 单体应用的问题 部署效率底下。单体应用代码增加,依赖的资源就会增加,部署的时间就会增加。团队协作开发成本高...

  • 数据结构与算法之美 复杂度分析上

    [数据结构与算法之美:如何分析、统计算法的执行效率和资源消耗?(03)] 一、如何分析、统计算法的执行效率和资源消...

  • 资源平衡与资源平滑

    资源平衡与资源平滑 1资源平衡 资源平衡是在整个项目周期内,尽量平衡资源的工作量。比如资源A在项目前期的工作量太大...

  • 工业锅炉燃烧效率低下的主要原因

    工业锅炉燃烧效率低下的主要原因 锅炉热平衡效率,分为正平衡热效率与反平衡热效率。 正平衡试验法,是直接测量锅炉的工...

  • 重温:数据结构与算法 - 01复杂度分析(一)

    数据结构与算法之美-学习大纲 前面章节提到:为了选择正确的数据结构与算法,这就需要考量代码的执行效率和资源消耗两个...

  • 数据结构与算法(03):如何分析、统计算法的执行效率和资源

    原文: 数据结构与算法(03):如何分析、统计算法的执行效率和资源 前言 我们都知道,数据结构和算法本身解决的是“...

  • 资源平衡与资源平滑

    资源平衡与资源平滑是项目进度(时间)管理知识领域里,制定进度计划这个过程的工具资源优化下的两种技术,因为二者比较类...

  • 资源平衡与资源平滑

    资源平衡与资源平滑是项目进度(时间)管理知识领域里,制定进度计划这个过程的工具资源优化下的两种技术,因为二者比较类...

  • 资源平衡的两种情况

    资源平衡是指为了在资源需求与资源供给之间取得平衡,根据资源制约对开始日期和结束日期进行调整的一种技术。如果共享资源...

网友评论

      本文标题:微服务团队结构与资源效率的平衡

      本文链接:https://www.haomeiwen.com/subject/jrseiftx.html