谎言 6:管理多个服务并不难

软件工程师喜欢自欺欺人。也许你以前听过,什么“不需要很长时间”“请给我几个小时”或“我可以在周末完成任务”,诸如此类。优秀的项目经理会理解这一点,并将工程师的估算值乘以四(或四十……)。

使用微服务的决策也会有同样的乐观情绪。这项工作并不是“为所有人获取AWS证书并移动一些代码”那么简单。实践中会有大量意外开销。下面是你需要的一些人员和工具类别:

1.架构师。你需要一些人来绘制美观且过于简化的图表并做演示。

2.发布管理。现在,你需要协调各个部署并管理多个pipelines。这种协调工作将需要通用工具链,还要有团队来维护这一工具链。

3.DevOps。“常规”工程师既没有专业知识,也没有意愿来正确配置他们的服务。他们也很难正确处理安全性问题。

4.数据工程师。如果你很幸运能够按照这些建议来成功分解数据存储,那么你现在需要一个团队来将这些数据提取到一个地方进行分析。

5.配置文件。虽然一些额外的YAML文件听起来并不那么糟糕,但这里会出现最危险的错误。它们也难以测试和调试。

你不仅需要支付所有这些额外人员的薪酬,而且还指数级增加了工程组织中的沟通渠道数量。这会拖慢所有人的步伐。