03 采用微服务架构时的人为因素采用微服务架构以后,不仅改变了技术架构,也改变了组织结构和开发的流程 。归根到底,这是对工作环境中的人(正如之前提到的,情绪化的生物)进行的一系列改变 。如果忽略人们的情绪,那么采纳微服务架构将会是一个非常纠结和折腾的过程 。FTGO的首席技术官玛丽和其他的管理层,正面临着如何改变FTGO软件开发方式的挑战 。
畅销书《Managing Transitions》介绍了转型(transition)的概念,其中阐述了人们如何对变化做出情绪化的反应 。它包括以下三个阶段 。
- 结束、失落和放弃:当人们被告知某种变化,这类变化会把他们从舒适区中拉出,这类情绪开始滋生和蔓延 。人们会念叨失去之前的种种好处 。例如,当被重组到一个新的跨职能团队时,人们会想念他们之前的同事 。再比如,对于负责全局数据建模的团队来说,每个服务团队负责自己的数据建模,这对他们是一种威胁 。
- 中立区:处理新旧工作方式交替过程中,人们普遍会对新的工作方式无所适从 。人们开始纠结并必须要学习处理新工作的方式 。
- 新的开始:最终阶段,人们开始发自内心地热情拥抱新的工作方式,并且开始体验到新工作方式所带来的种种好处 。
总结
- 单体架构模式将应用程序构建为单个可部署单元 。
- 微服务架构模式将系统分解为一组可独立部署的服务,每个服务都有自己的数据库 。
- 单体架构是简单应用的不错选择,微服务架构通常是大型复杂应用的更好选择 。
- 微服务架构使小型自治团队能够并行工作,从而加快软件开发的速度 。
- 微服务架构不是银弹:它存在包括复杂性在内的诸多弊端 。
- 微服务架构模式语言是一组模式,可帮助你使用微服务架构构建应用程序 。它可以帮助你决定是否使用微服务架构,如果你选择微服务架构,模式语言可以帮助你有效地应用它 。
- 你需要的不仅仅是通过微服务架构来加速软件交付 。成功的软件开发还需要DevOps和小而自治的团队 。
- 不要忘记采纳微服务过程中的人性层面 。你需要考虑员工的情绪才能成功转换到微服务架构 。
关于作者:克里斯·理查森(Chris Richardson),世界十大软件架构师之一,《POJOS in Action》等技术名著的作者,也是著名开源项目 Cloud Foundry 和 Eventuate 的创始人 。他的研究领域包括微服务架构设计、分布式数据管理、事件驱动的应用架构、领域驱动设计、持续交付、Spring 框架、Scala、NoSQL 数据库等 。本文摘编自《微服务架构设计模式》,经出版方授权发布 。
推荐阅读
- 世界上最长的地下水溶洞 世界上规模最大的岩溶风景区
- C 语言实现的跨平台开发库 TBOX
- 梦见自己手出血? 梦见自己的手大量出血是什么意思
- wordpress删除菜单多余的CLASS和ID沉余
- MD5破解原理
- 茶叶技术的三要素
- 南方礼仪中的茶俗及其创新
- 如何处理湿茶用温水稍微炒下恢复
- 昔归冲泡方法
- 揭开 JavaScript 引擎的面纱