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