DevOps 初學者寶典
導讀 | 當我們談到 DevOps 時,可能討論的是:流程和管理,運維和自動化,架構和服務,以及文化和組織等等概念。那麼,到底什麼是"DevOps"呢? |
隨著軟體釋出迭代的頻率越來越高,傳統的「瀑布型」(開發—測試—釋出)模式已經不能滿足快速交付的需求。2009 年左右 DevOps 應運而生,簡單地來說,就是更好的最佳化開發(DEV)、測試(QA)、運維(OPS)的流程,開發運維一體化,透過高度自動化工具與流程來使得軟體構建、測試、釋出更加快捷、頻繁和可靠。
在2016 DevOps 新趨勢調查報告顯示,74% 的公司在嘗試接受 DevOps,那麼 Devops 有哪些好處與價值呢?
- 程式碼的提交直接觸發:消除等待時間,快速反饋
- 每個變化對應一個交付管道:使問題定位和除錯變得簡單
- 全開發流程高效自動化:穩定,快速,交付結果可預測
- 持續進行自動化迴歸測試:提升交付質量
- 設施共享並按需提供:資源利用最大化
以上可以看出,DevOps 的好處更多基於在於持續部署與交付,這是對於業務與產品而言。而 DevOps 始於接受 DevOps 文化與技術方法論,它是部門間溝通協作的一組流程和方法,有助於改善公司組織文化、提高員工的參與感。
DevOps 是一個完整的面向IT運維的工作流,以 IT 自動化以及持續整合(CI)、持續部署(CD)為基礎,來最佳化程式開發、測試、系統運維等所有環節。
縱觀各個 DevOps 實踐公司的技術資料,最全面最經典的是 flickr 的10+ deploys per day最 佳實踐提到的 DevOps Tools 的技術關鍵點:
1.Automated infrastructure(自動化,系統之間的整合) 2.shared version control(SVN共享原始碼) 3.one step build and deploy(持續構建和部署) 4.feature flags(主幹開發) 5.Shared metrics 6.IRC and IM robots(資訊整合)
以上的技術要點由持續整合/部署一線貫穿,主幹開發是進行持續整合的前提,自動化以及程式碼周邊集中管理是實施持續整合的必要條件。毫無疑問,DevOps 是持續整合思想的延伸,持續整合/部署是 DevOps 的技術核心,在沒有自動化測試、持續整合/部署之下,DevOps就是空中樓閣。
Everything is Code,DevOps 也同樣要透過技術工具鏈完成持續整合、持續交付、使用者反饋和系統最佳化的整合。Elasticbox 整理了 60+ 開源工具與分類,其中包括版本控制&協作開發工具、自動化構建和測試工具、持續整合&交付工具、部署工具、維護工具、監控,警告&分析工具等等,
補充了一些國內的服務,可以讓你更好的執行實施 DevOps 工作流。
- 版本控制&協作開發:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
- 自動化構建和測試:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit
- 持續整合&交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci、Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go
- 容器平臺: Docker、Rocket、Ubuntu(LXC)、第三方廠商如(AWS/阿里雲)
- 配置管理:Chef、Puppet、CFengine、Bash、Rudder、Power 、RunDeck、Saltstack、Ansible
- 微服務平臺:OpenShift、Cloud Foundry、Kubernetes、Mesosphere
- 服務開通:Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat
- 日誌管理:Logstash、CollectD、StatsD
- 監控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana
如果想整個業務部署 DevOps,不但需要軟性要求即從上而下的培養 DevOps 文化自上而下地進行探索,也有硬性工具鏈要求,才能獲得更高質量的軟體交付。
最後,不論你是技術Leader,還是一名Dev、QA 或 Ops,實現全面的 DevOps 非常理想化也十分有挑戰。
原文來自: https://www.linuxprobe.com/devops.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2980415/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ERP初學者的寶典(原創)
- 給 DevOps 初學者的入門指南dev
- TopPaper:AI 初學者經典論文列表AI
- 初學Python必備十大經典案例(初學者必看)❃✿❈❉❀❁下Python
- 使用開源工具構建 DevOps 流水線的初學者指南開源工具dev
- 初學者指南
- 初學者 (轉)
- 面試寶典面試
- 初識DevOpsdev
- Nginx初學者指南Nginx
- Groovy初學者指南
- 初學者的迷茫
- JavaScript初學者必看“this”JavaScript
- npm 初學者教程NPM
- java 初學者必看Java
- 初學者救教
- RMAN 初學者指南
- 初學者的想法
- 初學者Mybatis的初級使用MyBatis
- 給初學者,因為我就是個初學者(3) (569字)
- Java 面試寶典Java面試
- PHP面試寶典PHP面試
- iOS 面試寶典iOS面試
- 致 Python 初學者Python
- OAuth 2.0初學者指南OAuth
- Kotlin初學者指南Kotlin
- 【譯】GraphQL 初學者指南
- Apache Hudi初學者指南Apache
- Sprite Kit教程:初學者
- 初學者問題一
- 初學者-Winzip8.0
- [python]初學者地址Python
- java 初學者的疑惑!!!Java
- 初學者Jpetstore問題?
- java初學者的疑惑Java
- RMAN初學者指南(轉)
- 給初學者,因為我就是個初學者(1) (3千字)
- 給初學者,因為我就是個初學者(2) (1千字)