DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协做关系。不过DevOps其实包含了四个部分:产品、开发、测试和运维。python
DevOps但愿作到的是软件产品交付过程当中IT工具链的打通,使得各个团队减小时间损耗,更加高效地协同工做。专家们总结出了下面这个DevOps能力图,良好的闭环能够大大增长总体的产出。ios
那么究竟什么是DevOpsredis
高效稳定的、可持续的、可协调的、自动化的shell
实现DevOps须要什么?数据库
硬性要求:工具上的准备api
上文提到了工具链的打通,那么工具天然就须要作好准备。现将工具类型及对应的不彻底列举整理以下:ruby
代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion服务器
构建工具:Ant、Gradle、maven运维
自动部署:Capistrano、CodeDeploydom
持续集成(CI):Bamboo、Hudson、Jenkins
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
容器:Docker、LXC、第三方厂商如AWS
编排:Kubernetes、Core、Apache Mesos、DC/OS
服务注册与发现:Zookeeper、etcd、Consul
脚本语言:python、ruby、shell
日志管理:ELK、Logentries
系统监控:Datadog、Graphite、Icinga、Nagios
性能监控:AppDynamics、New Relic、Splunk
压力测试:JMeter、Blaze Meter、loader.io
预警:PagerDuty、pingdom、厂商自带如AWS SNS
HTTP加速器:Varnish
消息总线:ActiveMQ、SQS
应用服务器:Tomcat、JBoss
Web服务器:Apache、Nginx、IIS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
DevOps工具的用量大幅激增。Chef和Puppet依然是最经常使用的DevOps工具,使用率均为32%。Docker是年增加率最快的工具,用量增加一倍以上。Ansible的用量也有显著增长,使用率从10%翻倍至20%。