软件开发与运维之间协作一直是提高IT交付效率的关键。从早期的SDLC各种开发模式,到DevOps整合理念,再到新的NoOps主张,软件生命周期管理经历了一个提效与优化的发展过程。
SDLC(Software Development Life Cycle) ,即软件开发生命周期。比如典型的瀑布型开发模式,按阶段将需求、设计、编码、测试、部署等工作线性进行。当然,还有迭代模型、螺旋模型、V模型、敏捷模型等。
SDLC的模型中,开发与运维相对隔离,仅在交付前有少量交互。这导致效率较低。
为改善SDLC中开发运维割裂状况,DevOps理念应运而生。它强调开发(Development)与运维(Operations)部门之间的密切协作与整合。
通过组织扁平化、文化融合、自动化流程等方式“打通隔阂”,DevOps极大提高了工作流程效率和质量,成为现今IT部门普遍采用的最佳实践。
在DevOps理念指导下,随着运维自动化技术、云计算、大数据、AI等技术的发展、成熟和应用,“NoOps”的主张应运而生。
NoOps通过智能化和全流程自动化等手段,构建起无需人工参与的IT系统管理和服务运营模式,争取实现无人值守。
尽管NoOps也存在技术成本高、故障修复难等局限性。但其推动自动化和简化的理念,正在引领新一轮的IT运维变革浪潮。
NoOPS概念并不是不需要运维人员,而是促使运维技术体系得到整体升级,对运维人员的能力和素质提出了更高的要求。
具体来说,NoOps 对运维的影响主要体现在以下几个方面:
- 自动化技能成为必备技能。需要掌握各种自动化部署、监控、扩容等工具与最佳实践。
- 对云原生架构的理解与运用更加重要。要设计、迁移和优化面向高可用、弹性扩展的云原生应用。
- 开发运维协作与交付能力更加核心。要通过 CI/CD、DevSecOps 等理念提高交付效率。
- 数据分析与系统优化成为关键。充分利用各类监控数据,constantly改进系统配置与性能。
- 新技术学习与适应能力需持续提高。