你好,我是王炜,欢迎和我一起学习云原生的核心技术。
先来简单介绍一下我自己吧。作为前腾讯云 CODING 架构师,现在深圳氦三科技的联合创始人,同时也是中国云原生社区深圳站的负责人,我见证了云原生在国内从萌芽到蓬勃发展的整个阶段。
近几年,我出版了云原生持续部署领域书籍《Spinnaker实战:云原生多云环境的持续部署方案》,参与编写了云原生服务网格领域书籍《深入理解Istio:云原生服务网格进阶实战》,还有《软件研发效能权威指南》的云原生开发部分。
同时,我也是云原生开发工具 Nocalhost 项目的核心作者(它是 CNCF “Application Definition & Image Build” 领域内国内首个 CNCF Sandbox 项目)。
我们为什么需要学习云原生技术?
回想我早期的职业生涯,我既在大公司从事过职责单一的一线开发工作,也在中小型公司担任过开发和运维多职能的角色。这一路上有些问题其实一直在困扰着我:
- 怎么写出更优雅的代码?
- 怎么更好地帮助团队做技术选型?
- 怎么规范团队的研发流程?
- 怎么为项目设计高可用、弹性和云原生的架构?
- 怎么提升研发和发布的质量及效能?
仔细思考这些问题,你会发现它们从上到下变得越来越抽象,对技术的广度和深度的要求也越来越高,每一个问题,其实都代表了个人职业发展中新的台阶。你能解决哪个层面的问题,很大程度上决定了你的职业高度。
就像下面这张图一样,这五个问题分别对应了五个职级及其所要求的技能:
面对如此庞大的知识体系,仍然按照传统的技术路径从下到上学习并实现职业晋升是非常困难的,所以我不推荐你这样做。
原因主要有下面三点。
第一,有很大一部分底层的架构已经被更高维度的技术取代或覆盖了。第二,有一些架构方法在今天已经有了标准的最佳实践,直接学习最佳实践能够起到事半功倍的效果。最后,现代化的业务系统变得越来越复杂,传统的架构技术已经逐渐显现出瓶颈。
这些瓶颈最直观的表现是:业务系统的发布效率变低、性能下降、停机时间增加以