Devops
目的:减少从系统更改到投入生产之间的时间,同时保证高质量
DevOps常见术语及其含义
计算机/服务器
:具有中央处理器(CPU)、内存(RAM),本地存储(磁盘)并运行操作系统的物理设备。虚拟机
:在主机上运行的计算机系统的仿真;通常可以在CPU,内存和磁盘使用方面与其他操作系统隔离。容器
:软件及其所有依赖项的包装,以便它可以在任何基础架构上一致地运行。网络设备
:一种在设备之间路由网络流量的硬件。包括路由器,负载均衡器和防火墙。软件
:编写并在操作系统上运行的代码。DevOps
:传统上是由 development(开发) 和 operations(运维) 组成 。
考虑构建和运行系统
- 获取计算机/服务器硬件
- 配置计算机/服务器硬件(操作系统,网络等)
- 监视计算机/服务器硬件
- 获取网络设备(负载均衡器,防火墙,路由器等)
- 配置网络设备
- 监控网络设备
- 构造软件
- 编译软件
- 测试软件
- 打包软件
- 部署/发布软件
- 监控软件
什么时候使用什么工具
软件存储库
:用于管理软件版本的工具 --Git是当今使用最广泛的工具。构建工具
:一些软件需要先进行编译,然后才能打包或使用 --Make,Ant,Maven和MSBuild。持续集成工具
:每次提交代码到存储库时,都会构建、部署和测试软件 --Jenkins、Travis、TeamCity、Bamboo代码分析器/查看工具
:这些工具可查找代码格式和质量以及测试覆盖范围中的错误 --SonarQube配置管理
:配置管理工具和数据库、存储软硬件信息,并提供脚本/模板来自动化常见任务 --Chef、Puppet、Salt部署工具
:这些工具有助于软件的部署。许多CI工具也是CD工具,可帮助部署软件。传统上:- 在Ruby中,Capistrano工具已被广泛使用。
- 在Java中,Maven被许多人使用。所有编排工具也都支持这种部署。
编排工具
:这些工具可配置,协调和管理计算机系统和软件。通常将自动化”和“工作流”作为其服务的一部分。- Kubernetes是一种非常流行的编排工具,专注于容器。
- Terraform也是一种非常流行的编排工具,它的应用范围更加广泛,包括云编排。
- 此外,每个云提供商都拥有自己的一套工具(CloudFormation,GCP Deployment Manager和ARM)。
监视工具
:可以监视硬件和软件。通过监视程序和日志文件等,以确保系统的运行状况 --Nagios、Prometheus测试工具
:测试工具用于管理测试以及测试自动化,包括性能和负载测试。
评论区