DevOps 不是具体的产品。“你不能在一个盒子里买DevOps”,Kevin Behr 解释道,他是Praxis Flow的创始人、首席科学家。培养DevOps思维模式的文化需要在整个公司推广,不单是一个独立的部门,如此才能是人们能在解决问题时集体贡献他们的技能。要不然,DevOps仅仅变成了局部优化。
DevOps 涉及到:
1.文化
2.自动化
3.监控指标
4.共享
然而,DevOps不只是解决某个技术问题,他试图解决商业问题并更多的在平稳的工作效率方面带给最终用户更好的价值。
Amazon的DevOps
这是亚马逊(来自Keynote的数据: 为什么我们需要DevOps)一个月的DevOps快照(生成主机和环境的发布统计):
11.6 seconds: 平均部署时长 (工作日)
1,079: 一小时的最大部署量
10,000: 主机平均并发接收部署量
30,000: 主机最高并发接收部署量
工具篇
虽然,devops无关乎工具,但有很多开源的能帮你实现目标的工具就在那里。有一些工具同样能使你的开发和运维团队更好的沟通交流。
大部分成功的DevOps组织自动使用工具在一些核心类别中,使用很多特别的工具(DevOps最佳实践:寻找正确的工具):
配置管理.
When DevOps aficionados throw around phrases likeautomated infrastructure,infrastructure as code, andprogrammable infrastructure, they're talking about configuration management. That's the tracking and controlling of changes to the software code base and the archiving of all file versions into a central configuration management database (CMDB), which enables multiple developers to work on the same code base while avoiding version-control issues.
流行的配置管理工具包括
Chef- Ruby/Erlang, Knife, recipe, cookbook
Puppet- Ruby, Puppet manifests, Factor, catalog
Ansible- Python, Playbook, inventory
SaltStack- Python, YAML, Jinja2, salt master / salt minion
Fabric- Python
然而,实际的问题是我们需要什么样的配置管理工具?例如,如果我们想接受其他人提供的数据,并用这些数据做些什么,我们就需要的是在这方面能很好处理的工具。