O’Reilly 和 Neal Ford 在 2018 年 7 月发起了“微服务成熟度状态”调查,并于 2018 年 12 月份发布报告。报告显示,微服务正在从一种时兴发展成为一种趋势。这个结论与 InfoQ 最近发布的架构和设计趋势报告是一致的。接受调查的从业人员对微服务总体持积极态度。报告中最重要的发现之一是 DevOps 和微服务相辅相成,其中一个的成功对另一个的成功起着重要的作用。
微服务是成功的
此次调查涉及 866 个受访者,侧重于从业者如何实现微服务。这是一项“为采用微服务的公司而设计的调查”,第一个关键发现是那些已经采用了微服务的公司将如何以某种热情持续下去。超过 50%的受访者表示,他们的组织中有超过 50%的新项目采用了微服务。这在很大程度上说明了微服务在这些公司已经取得了成功。86%的受访者认为他们的微服务项目至少已经取得部分成功。
DevOps 实践与微服务
调查报告强调了在微服务从业者当中继续推动 DevOps 实践。大多数受访者表示他们采用了 DevOps 实践,例如持续部署和部署管道(包括自动化测试)。根据 Neal Ford 的观点,这些是推广微服务所必需的。“成熟的微服务架构要求具有一定成熟度的 DevOps 实践……架构和 DevOps 之间的协同作用是微服务架构风格的主要推动力之一,因为它能够更智能地委托职责”。
最后这句话与 Nicole Forsgren 等人在去年出版的“Accelerate”一书中所描述的观点非常吻合。这本书报告了 DevOps 实践在高绩效团队中的状态。其中有一章描述了高绩效团队(那些使用 DevOps 实践的团队)更有可能使用微服务架构来构建定制软件。有趣的是,他们还发现,在微服务模型中,松散耦合的架构实际上是持续交付的最大贡献者。
Kubernetes 仍然是个“局外人“
在过去的几年里,Kubernetes 在博客和技术大会上几乎无处不在。谷歌、微软和 Pivotal 等公司继续对其进行大量投入。然而,这份报告发现,Kubernetes 的应用仍然很有限,超过 60%的受访者表示他们没有使用过 Kubernetes,尽管绝大多数人在开发过程中使用了容器。Neal Ford 表示,这项调查是在“Kubernetes 还处于起步阶段”时进行的,大型企业需要一段时间才能“转向被大肆宣传的技术”。不过他也表示,这项调查无法预测 Kubernetes(或其竞争对手)的未来市场,但他承认,“人们对 Kubernetes 的兴趣依然存在”,而且这份报告无法反映半年之后“当前现实高度动态的本质”。
建立适当解耦的有界上下文仍然是一项正在进行中的工作
Sam Newman 在其备受推崇的著作“Building Microservices”中专门讨论了如何使用边界上下文(一种领域驱动的设计概念)来确定适当的微服务边界。然而,O’Reilly 的报告发现,使用 DDD 识别服务的成功率并不高。近 50%的用户认为这是一项正在进行中的工作,另有三分之一的用户认为它还算成功。这份报告并不是关于 DDD 的采用水平,而是“关于追踪两者(微服务显然是受到 DDD 的启发)之间的关联”。Neal Ford 说,“组织努力寻找恰当的领域/服务粒度,而这份调查结果似乎证明了这一点”。
O’Reilly 的调查历时数月,于 2018 年 8 月份结束。这是第一份受过去类似报告启发(例如 Velocity 大会的 DevOps 报告)而发布的报告。
查看英文原文:https://www.infoq.com/news/2019/02/Oreilly-microservices-maturity
评论