我觉得应对复杂性问题上,还是有进步的
微服务架构,虽然让软件的结构和部署变得更复杂了
大多数开发人员都很难把自己的产品部署上,都得用别人帮着搭建的开发环境了
但实际上,也让开发人员要了解的问题变少了
大多数时候,都是不需要自己了解其他模块的细节
只要用别人已经部署好的模块
然后只有自己的部分重新部署就行了
其实这个情况,比二十年前还有是有进步的
当年为了应对复杂性问题,人们的解决方案还是面向对象,封装这些概念
但是大家的代码跑在一个进程了,即使有语言方面提供的一些区隔能力
但还是不够
现代方案则是把不同模块直接跑到不同的进程,甚至不同的机器
然后模块之间的相互作用,直接受到物理限制
这样反而保证了独立性
【 在 hgoldfish (老鱼) 的大作中提到: 】
: “复杂性会致命,”Lotus Notes 作者和微软资深工程师 Ray Ozzie 在 2005 年的一份内部备忘录中写道。“它剥夺了开发人员的生命;使产品难以规划、构建和测试它带来了安全挑战;让用户和管理员感到沮丧。”
: 如果 Ozzie 当时就认为软件开发过于复杂的话,你会忍不住好奇他会如何看待软件开发人员在云原生时代所面临的复杂性。从你可以触摸的服务器上托管的整体架构中构建应用程序到将它们拆解成多个微服务,打包进容器,与 Kubernetes 调谐并托管在分布式云环境中,这种转变标
: 亚马逊首席技术官 Werner Vogels 在 2019 年 AWS 峰会期间表示:“当你迁移到如此普遍的微服务环境时,复杂性明显增加了。一切都在单一整体中的日子是否更容易?是的,对于某些部分肯定如此。”或者,正如他的同事、AWS 的 DevOps 产品营销主管 Emily Freeman 在 2021
: ...................
--
FROM 103.208.15.*