
文章插图
最原始的裸机时代,并没有开发运维之分 。从底层基础设施,一直到最顶层的业务系统都是同一批人在处理,这一批老程序员可以被称为真正的全栈工程师 。但毫无疑问,每一个开发人员,都希望能够抛却运维工作,更专注于自己开发的代码 。
云计算时代的兴起以虚拟化技术为基础,软件定义基础设施变得炙手可热起来 。运维人员通过建设并维护一套 IaaS 云平台,将计算资源进行池化 。开发人员按需申请自己需要的虚拟机,从而得到一个操作系统界面来进行交互 。与操作系统打交道,对开发人员依然是个巨大的挑战,在 IT 领域,操作系统就像一座漂浮在海上的冰山,看似只露出冰山一角,然而其庞大的知识领域“身躯”都隐藏在海平面以下 。和裸机时代相比较,开发人员和运维人员已经是两个完全不同的群体,开发人员已经可以将自己的大部分精力放在业务系统上了 。值得一提的是,对操作系统的掌控是不折不扣的运维领域技能 。
容器技术以及 Kuberentes 的横空出世,成为了云计算时代的分水岭 。软件定义基础设施的技术手段已经被发挥到了极致,并且成为了现阶段运维人员的标配技能 。运维人员通过建设并维护一套 PaaS 云平台,终于将操作系统这一座最后的“大山”从开发人员的身上搬开 。开发人员可以将更多的精力放在业务系统上了,除了他们依然需要学习容器技术和 Kubernetes,至少他们要学会如何面向 Kubernetes 编写业务系统所需的声明式配置文件 。运维人员也通过 PaaS 云平台得到了自己想要的能力,容器技术和 Kubernetes 为他们带来了弹性、便捷性的巨大提升 。
跟随时代的变迁,我得出了一个结论:从开发人员与运维人员的关系上来看,IT 领域的演变,就是运维人员通过不断向上接手开发人员眼中“跟开发无关的杂活”,来不断为开发人员减负 。开发人员在得到了解放后,可以将视角更多的聚焦在自己开发的业务系统上,释放出自己的创造力 。
那么跟随结论中的趋势,解放开发人员负担的脚步绝对不会停止 。DevOps 的工作,就是以开发人员为用户群体,打造一套可以让开发人员毫无障碍的使用基础设施的“云原生平台“ 。
云原生是一种面向云设计应用的思想理念,充分发挥云效能,组织内 IT 人员相互协作构建弹性可靠、松耦合、易管理、可观测的云应用系统,最终目标是提升软件交付效率,降低运维复杂度 。相比上文中提到的 PaaS 平台,起码要能够避免开发人员去编写复杂的 Kubernetes 声明式配置文件 。
现有开源产品情况在云原生平台领域,已经有不少项目在深耕 。在这里我列举了三个各具特色的云原生领域的平台级产品:Rancher、KubeSphere、Rainbond,后续的具体设计思路中,也会关注已有产品的实现 。
这三款开源产品中,Rancher 是元祖级容器管理平台,加入 SUSE 后,能够明显感觉在云原生生态领域不断发力,Rancher 在各个层次可以集成的云原生领域工具集已经非常丰富 。Rancher 专注于帮助 DevOps 团队面对多集群情况下的运维和安全挑战,从这一点来说,Rancher 更偏向于运维人员的使用体验,而非面向开发人员提供更高的易用性 。
KubeSphere 是来自青云的 “面向云原生应用的 容器混合云” 。除了对 Kubernetes 集群内的各种资源的管理能力之外,Kubesphere 主打即插即用的插件式生态扩展能力 。
Rainbond 由北京好雨科技出品,从其介绍来看,它是一款主打易用性的云原生多云管理平台 。
降低业务部署难度诚实地讲,为现代开发语言开发而来的业务系统制作容器镜像并不是什么难以掌握的技能 。但是不可否认的是,绝大多数 IT 从业人员依然会将制作镜像这件事情归为运维人员管理,而不是开发人员要关心的事情 。
经验总结扩展阅读
- 王者荣耀S29赛季云缨怎么出装
- 2023年什么生意比较火爆 2023年什么生意比较赚钱
- 莨纱和香云纱区别
- none网络是什么意思
- 310是什么意思
- m什么意思网络流行语
- 汽水音乐怎么申请推广
- none是什么意思
- vue2使用组件进行父子互相传值的sync语法糖方法和原生方法
- 云南七八月份热不热 云南七八月适合旅游吗