DevOps 是什么

Dev = Development

Ops = Operations

DevOps运动的起源通常被放在2009年前后。

DevOps 是一种思想、一组最佳实践、一种文化,让开发( Development )和运维( Operations )这两个完全独立的角色有效合作,迅速为用户提供最新的功能,同时保持系统的稳定运行,为用户提供更大的商业价值。 DevOps 是通过平台(Platform)、流程(Process)和人(People)的有机整合,以 C(协作)A(自动化)L(精益)M(度量)S(共享)文化为指引,旨在建立一种可以快速交付价值并且具有持续改进能力的现代化 IT 组织。

DevOps 可简单理解为一组工具 + 企业文化。

帮助理解DevOps的词汇

开发运维一体化,敏捷开发, 持续集成(CI= Continuous Integration ),持续交付/部署( CD = Continuous Delivery/ Continuous Deployment ),自动化,消除阻碍流动的障碍,开发反馈循环,不断学习和持续改进,效果最大化,开发、质量、运营的高效运行,共享、合作、反馈, 正视失败, 尊重和信赖,同理心

DevOps 工具

代码管理:编辑器、Review 工具、版本管理工具等。

打包和构建:npm、maven、Docker、Jenkins 等。

CI/CD:DroneIO、Wercker、Travis CI、CircleCI、Codeship等。

配置管理(或 Automated infrastructure ):实现基础设施即代码(Infrastructure as Code),比如 Ansible、Chef、Puppet 等。

监控:ELK 全家桶、InfluxDB、Grafana、Graphite 等。

发布系统:Codeship、Jenkins 等。

ChatOps: Slack、HipChat, bearychat, Teambition 等。

参考:

https://www.infoq.cn/article/WbBTYmDlHKBcx1Ud9PC3

https://blog.jjonline.cn/linux/238.html

这是一些反对DevOps的意见:

https://www.oschina.net/translate/how-devops-is-killing-the-developer