当前位置 博文首页 > 九卷:微服务架构学习与思考(07):企业团队组织架构如何变革?

    九卷:微服务架构学习与思考(07):企业团队组织架构如何变革?

    作者:九卷 时间:2021-01-27 17:13

    康威定律

    康威定律 (康威法则 , Conway's Law) 是马尔文·康威1967年提出的:
    设计系统的架构受制于产生这些设计的组织的沟通结构。

    康威定律告诉我们,如果我们实施了微服务,那么组织架构的变动也要跟着实施微服务架构而做出相应的调整。这样才有可能适应微服务的发展。

    单体架构和微服务架构

    先看看传统单体架构和微服务架构,如下图:

    图片来自:https://martinfowler.com/articles/microservices.html

    左半部分的单体架构图:
    单体应用将所有功能放到一个进程中
    扩展:通过将整个应用复制到多态服务器实现扩展

    右半部分的微服务架构图:
    微服务架构将功能分离,放到多个不同的进程中
    扩展:通过将不同的服务分布于不同的服务器上,并按需要复制方式进行扩展

    组织架构

    • 单体应用的组织架构

    图片来自:https://martinfowler.com/articles/microservices.html

    它是一个整体式的应用团队,每个团队按照职能来进行划分(图片左半部分),比如:UI团队,中间件团队,DBA团队。

    不同职能的人属于不同的团队。做项目的时候就从不同职能部门选出一些人来负责项目。这样的组织架构有一个问题就是:跨职能部门沟通协调问题。这种团队组织形式不能适应微服务架构的特点。

    • 微服务应用组织架构

    图片来自:https://martinfowler.com/articles/microservices.html

    微服务架构特点:每个微服务是独立的,团队可以独立开发,独立测试,独立部署,服务是自治的。相应的团队组成人员也有产品,技术,测试,团队成员在自己内部就可以完整的进行微服务各种功能开发。

    这就要打破原先传统的那种按职能划分的组织团队形式,而要把不同职能的人组织在一个团队内,组成一个跨职能的产品组织架构。这样才能把一个微服务功能架构、设计、开发、测试、部署、上线运行,在一个组织内部完成,从而形成完整的业务、开发、交付闭环。

    团队组织的变化

    一图胜千言:

    图片来自:https://insights.thoughtworks.cn/management-of-microservices-team/

    原先那种职能型的团队,变成了跨职能的小团队,这种团队和微服务架构对齐。

    每个团队组织成员多少合适呢?
    亚马逊的“两个披萨团队”,6-10人的规模。这个只是一种参考,毕竟每个公司规模、业务、行业、成员等不一样,找到适合自己的团队构成,就是最好的团队组织。

    说明: 以上图片侵删,请联系主页邮箱!