看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!
ThoughtWorks 首席技术官 Rebecca Parsons 认为,虽然微服务与传统的单体应用程序相比具有许多优点,但它们也会给企业带来额外的复杂性。由于存在这些折衷,她认为微服务不应该是软件应用程序的默认架构选择,因此他们从未将微服务架构纳入到技术雷达的采用环中。
ThoughtWorks 技术雷达每六个月发布一次,旨在涵盖软件开发领域最新的技术趋势。通常情况下,每种趋势或技术都处于不同的阶段,其中采用是最后一个阶段,ThoughtWorks 推荐将进入采用阶段的技术作为企业的默认选择。
尽管 ThoughtWorks 认为微服务架构有很多优点,但它们只能达到试用阶段,而不是采用阶段。ThoughtWorks 首席技术官 Rebecca Parsons 表示,其中一个主要原因是,许多企业都没有为微服务做好准备,缺乏运营和自动化的一些基本实践:
…在考虑使用微服务之前,需要在持续交付和基础设施自动化实践等方面具备最低程度的成熟度。对于许多企业来说,还难以达到这种成熟度。微服务给运营带来了更多的负担,因为有更多事情需要监控和警报,以及部署更多的东西。在这种情况下,综合自动化和持续交付实践至关重要。
Parsons 还强调了微服务的内在分布性以及可能带来的复杂性。这主要是由于跨多个微服务的功能必须经过网络在进程之间跳转。Parsons 认为,单体应用会让事情变得更简单,因为单一进程可以处理所有事情。
定义微服务边界也可能很复杂,Parsons 解释了这个领域的设计决策可能会出错。一旦这样做了,那么系统就可能会走上一条不归路。这也意味着,为了保持边界清晰,在一开始时使用单体会更简单。
尽管存在这些不足,微服务仍处于雷达的试用阶段,也就是说 ThoughtWorks 仍然建议使用微服务:
我们仍然坚定地致力于使用微服务架构,加深对这些架构的理解,并继续探索解决已知问题的工具和方法。
但是,即使建议如此,Parsons 总结说,由于成本和企业成熟度方面的负担,微服务可能永远不会进入到采用阶段。
查看英文原文: Microservices to Not Reach Adopt Ring in ThoughtWorks Technology Radar
评论