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%。