什么是 DevOps?阅读以下 打料,做好笔记.
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。它主要旨在通过自动化、协作和整合来加速软件开发和交付过程,以及增强产品的稳定性和可靠性。DevOps 的目标是通过打破研发与运维之间的壁垒,实现持续交付、持续集成、持续部署等开发实践,从而提高交付速度、质量和可靠性。DevOps 的核心价值包括持续学习、快速响应客户需求、精益思维、协作和自动化.
在dev阶段,知道全部需求,以lnmp为构架进行设计,通过瀑布流方式进行开发,最后再测试部署,但随着业务规模的不断扩大,单机变多机开发,业务架构扩大范围,更需要多人共同协作,在设计好构架后需要不断地开发测试才能部署,这时候需要devops敏捷开发来协调这一切.
通过devops平台搭建工具;
项目管理(PM)
:jira。运营可以上去提问题,可以看到各个问题的完整的工作流,待解决未解决等;
代码管理
:gitlab。jenkins或者K8S都可以集成gitlab,进行代码管理,上线,回滚等;
持续集成CI(Continuous Integration)
:gitlab ci。开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
持续交付CD(Continuous Delivery)
:gitlab cd。完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
镜像仓库
:VMware Harbor,私服nexus。
容器
:Docker。
编排
:K8S。
服务治理
:Consul。
脚本语言
:Python。
日志管理
:Cat+Sentry,还有种常用的是ELK。
系统监控
:Prometheus。
负载均衡
:Nginx。
网关
:Kong,zuul。
链路追踪
:Zipkin。
产品和UI图
:蓝湖。
公司内部文档
:Confluence。
报警
:推送到工作群。
通过这一系列操作从设计到部署再到维护都能有条不紊地进行