devops是什么
❝ DevOps维基百科定义
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
❞
devops概念提出
单体架构+瀑布模式
设计->开发->测试->部署
分布式架构+敏捷开发模式
设计->开发、测试、开发、测试->部署
缺点:多人协同开发问题、多机器问题、开发和运维角色的天生对立问题
微服务架构+DEVOPS
❝ wiki定义微服务:
微服务(英语:Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic)的API集相互通信。
❞
设计->开发、测试、部署、开发、测试、部署
特点:软件架构风格,小型功能区块,模块化,语言无关
devops深度理解
DevOps 的三大支柱之中,即人(People)、流程(Process)和平台(Platform)。即
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。
报警
:推送到工作群。