DevOps簡介 DevOps 是一個完整的面向IT運維的工做流,以 IT 自動化以及持續集成(CI)、持續部署(CD)爲基礎,來優化程式開發、測試、系統運維等全部環節。 DevOps的概念 DevOps一詞的來自於Development和Operations的組合,突出重視軟件開發人員和運維人員的溝通合做,經過自動化流程來使得軟件構建、測試、發佈更加快捷、頻繁和可靠。 DevOps是爲了填補開發端和運維端之間的信息鴻溝,改善團隊之間的協做關係。不過須要澄清的一點是,從開發到運維,中間還有測試環節。DevOps其實包含了三個部分:開發、測試和運維 DevOps但願作到的是軟件產品交付過程當中IT工具鏈的打通,使得各個團隊減小時間損耗,更加高效地協同工做。專家們總結出了下面這個DevOps能力圖,良好的閉環能夠大大增長總體的產出 實現DevOps須要什麼? 硬性要求:工具上的準備 上文提到了工具鏈的打通,那麼工具天然就須要作好準備。現將工具類型及對應的不徹底列舉整理以下: 代碼管理(SCM):GitHub、GitLab、BitBucket、SubVersion 構建工具:Ant、Gradle、maven 自動部署:Capistrano、CodeDeploy 持續集成(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 在工具的選擇上,須要結合公司業務需求和技術團隊狀況而定。(注:更多關於工具的詳細介紹能夠參見此文:51 Best DevOps Tools for #DevOps Engineers) 參照文檔: https://www.cnblogs.com/liufei1983/p/7152013.html