软件工程作业之四:什么是DevOps

本文探讨了DevOps的定义,发展背景,包括分布式架构下的协同开发问题、多机器管理、角色对立以及部署流程。深入理解DevOps的全流程,涉及三大支柱(人、流程、平台),并列举了实现DevOps所需的相关工具和技术,如Kubernetes、GitLab、Docker等。最后,强调了DevOps文化的跨部门合作与自动化对提高软件质量和效率的重要性。
摘要由CSDN通过智能技术生成

d99361899185404dab15bd068c8f1bcb.png

引用知乎一问“什么是DevOps”

DevOps定义

    DevOps是软件开发(Development,简称Dev)和信息技术运维(Information Technology Operations,简称Ops)的结合。

    它强调开发和运维团队之间的沟通、协作、自动化和整合,以提高软件交付的速度和质量。

 

DevOps发展背景

1)单体架构+瀑布模式:早期的软件开发,通常由全栈开发者负责,开发完成后手动部署到服务器。c3476001dbd44211b378985ee07ef36a.jpg

d117715e22e14889a4dcb1de036c15a8.jpg 

2)分布式架构+敏捷开发模式:随着业务增长,需要多人协同开发,引入了敏捷开发方法,测试与开发同步进行。

05d9e1c1d77e43408cd1e5326ab1c7d0.jpg

380a351df8d74b2880c20d0cc826123f.jpg 

那么引入以下问题:

①多人协同开发问题:
     随着团队成员的增加,项目需要进行合理拆分,以便每个成员可以专注于特定的部分。
     敏捷开发的核心理念是将大目标拆解为可交付的小目标,并通过持续迭代来实现。
     为了提高开发效率,测试环节需要与开发同步进行,确保每次交付的都是经过验证的功能集合。

②多机器问题:
     随着业务的扩展,单一服务器无法承载所有业务,需要增加更多的机器,这导致架构变得更加复杂。
     开发人员可能需要编写脚本来管理多台服务器上的部署,但这种方式存在效率低下和部署冲突的风险。

③开发与运维角色的对立:
     开发团队的职责是不断推出新代码和功能,而运维团队则更注重系统的稳定性和安全性。
     这种天然的对立导致开发和运维之间可能存在沟通和协作的障碍,影响软件交付的速度和效率。

④部署和上线流程的问题:
     在没有自动化部署工具的情况下,上线新代码可能需要运维团队的介入,这可能导致部署流程缓慢和繁琐。
     为了解决这个问题,需要引入自动化部署流程,减少人工干预,提高部署的频率和可靠性。

⑤监控和维护的挑战:
     随着服务器数量的增加,手动监控每个服务器的状态变得不现实,需要自动化的监控工具来提高效率。
     运维团队需要编写各种脚本来维护服务器,减少重复性工作。

 

3.)微服务架构+DevOps:进一步将应用拆分为小型服务,每个服务独立部署,通过API通信,促进了DevOps的实践。

dcc6116584184815a65eb26d49c5ba86.jpg

 dd4f7022b8ed4b09a90a6b01d99beae4.jpg

 

DevOps深度理解

DevOps全流程
DevOps覆盖软件从规划到交付的整个生命周期。

7d0137dab3e34658972c324753d191e9.jpg

 

端到端概念
DevOps关注从开发到产品上线的整个流程。

ba17fbcc0b6b4e76860de8959e4c7915.jpg

 

三大支柱
①人:跨部门团队的沟通与协作。
②流程:自动化的构建、测试、部署等。
③平台:提供工具支持流程自动化和优化。

实践意义
效率:自动化加速软件交付。
质量:及早发现问题,提升软件质量。
协作:打破开发与运维隔阂,促进团队合作。
适应性:快速响应市场和用户需求变化。

 

DevOps实现相关工具

项目管理:Jira

代码管理:GitLab

持续集成(CI):GitLab CI

持续交付(CD):GitLab CD

镜像仓库:VMware Harbor / Nexus

容器技术:Docker

容器编排:Kubernetes(K8S)

服务治理:Consul

脚本语言:Python

日志管理:Cat+Sentry / ELK

系统监控:Prometheus

负载均衡:Nginx

API网关:Kong / Zuul

链路追踪:Zipkin

产品和UI设计:蓝湖

内部文档:Confluence

 

DevOps文化

    DevOps 强调跨部门合作,减少开发与运维之间的隔阂。

    通过自动化工具和流程,提高软件交付的效率和可靠性。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值