高级运维工程师在线评测:http://www.gtalent.cn/exam/interview/nsYteJ5wFfWkMdb2

DevOps 运维开发一体化
DevOps 核心思想:最大化提升工作效率,通过一系列技术栈来体现。

开发人员
产品经理
测试人员
运维人员…
分部门的传统的开发方式,开发周期一般比较长,部门比较分散,彼此之间的沟通可能不到位。

1、敏捷开发

2、产品与质量管理软件(运维人员,环境搭建,维护,调优等、开发人员、测试人员、产品经理、项目经理使用)

常见软件有:
Jira,大厂都用,是收费的国外软件。国产有禅道,是免费开源的。
Gitlab也可以,有里程碑的功能,可以用于发布任务。
TeamBition,比较小众

3、代码仓库管理 -> GitOPS,代码仓库管理方面的运维

服务端:分布式去中心化的有GitLab,GitHub,原生Git,Gitee;中心化的有SVN
客户端:终端 Git CLI,图形界面的 TortoiseGit

4、开发流程规范
GitLab中有工作流GitLab FLow,而且GitHub,原生Git,都有工作流。

5、自动化构建脚本
Maven,Ant,Gradle 等等

6、虚拟化与容器化
虚拟化与容器化是不同技术的体现。

虚拟化分为硬件虚拟化、软件虚拟化,容器化是软件虚拟化的一个分支。

虚拟化技术:

VMWare,企业版的ESXi,cVenter,桌面级的VM Workstation
XEN,Linux中原生支持XEN虚拟化,XenServer / Xen Client 是RedHat做的虚拟化技术。
KVM,新版的Linux内核原生支持KVM
Hyper-v,Windows Server 2016 已经发展到了第二代,在Windows上是最好的虚拟化技术,在Win Server 2012 的时候发布的第一版。
容器化技术:

LXC,LXD,两个Linux上的虚拟化技术,是命名空间的隔离。
Docker,早期也是基于LXC的,后来使用google开源的引擎做处理。CentOS 7.6 之后,底层对于 Docker 的支持已经发生了变化,逐渐被淘汰。为什么呢,因为Docker是典型的CS架构,有服务端与客户端。服务端有一个守护进程,Docker的守护进程是它的缺点。、
Podman技术,下一代容器技术,原生支持Docker所有的API,不需要和Docker一样的守护进程。
7、持续集成和持续部署 CI / CD

CI:持续集成工具,Gitlab,Git,TeamCity

CD:持续部署工具,Jenkins

8、持续监控 / 监控管理工具 CM

持续监控工具,Zabbix,普罗米修斯

监控管理工具:单机监控;集群监控;容器监控;日志分析系统ELK等等

9、自动化工具

基于Python / 通过脚本

可以使用 Python 相关工具,如 Ansible 自动化运维工具,Puppet 等

10、自动化测试

Python 自动化测试

Appium 工具

11、云计算技术体系

云计算管理平台 opencloud,底层是虚拟化技术,相当于是一个资源池(CPU算力、存储、网络资源)整合在一起,然后服务的形式提供给别人。

平台:

OpenStack,服务非常重,渐渐淘汰了,收费
ZStack,国产的平台,有免费版,收费版
容器云,结合k8s,故障转移,秒级启动。进程间通信的安全问题有待于加强。
MySQL可以在容器中做吗?需不需要单独的物理机?
可以在容器中,但是你公司必须有容器玩的非常明白的大牛牛才可以,否则你的数据会有可能丢,涉及到持久化等等的问题。
盲目的上云、盲目的使用容器,会带来很多问题。

【王老师说运维】:运维之linux基础入门实战(http://www.codeforest.cn/course/443)