tft每日頭條

 > 生活

 > devops知識體系兩大組成部分

devops知識體系兩大組成部分

生活 更新时间:2024-07-20 13:10:27
什麼是DevOps?

簡單理解DevOps是一種将研發、測試 、運維結合起來的一種思路。

維基百科對 DevOps 的定義:

DevOps(Development 和 Operations 的組合詞)是一種重視“軟件開發人員(Dev)”和“IT 運維技術人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構變更”的流程,來使得構建、測試、發布軟件能夠更加地快捷、頻繁和可靠。

容器如何助力 DevOps?

Docker 可以在 DevOps 各個階段發揮重要作用,例如 Docker 可以幫助我們在開發階段提供統一的開發環境,在持續集成階段幫助我們快速構建應用,在部署階段幫助我們快速發布或更新生産環境的應用。

下面我們來詳細認識一下 Docker 在整個 DevOps 階段究竟發揮了哪些作用。

開發流程

開發人員可以在本地或者開發機上快速安裝一個 Docker 環境,然後使用 Docker 可以快速啟動和部署一個複雜的開發環境。相比傳統的配置開發環境的方式,不僅大大提升了開發環境部署的效率,同時也保證了不同開發人員的環境一緻。

集成流程

通過編寫 Dockerfile 可以将我們的業務容器化,然後将我們的 Dockerfile 提交到代碼倉庫中,在做持續集成的過程中基于已有的 Dockerfile 來構建應用鏡像,可以極大提升持續集成的構建速度。

這主要是因為 Docker 鏡像使用了寫時複制(Copy On Write)和聯合文件系統(Union FileSystem)的機制。Docker 鏡像分層存儲,相同層僅會保存一份,不同鏡像的相同層可以複用,比如 Golang 容器在一次構建停止後,鏡像已經存在于構建機上了,當我們開始新一輪的測試時,可以直接複用已有的鏡像層,大大提升了構建速度。

部署流程

鏡像倉庫的存在使得 Docker 鏡像分發變得十分簡單,當我們的鏡像構建完成後,無論在哪裡隻需要執行 docker pull 命令就可以快速地将鏡像拉取到本地并且啟動我們的應用,這使得應用的創建或更新更快、更高效。

另外,Docker 結合 Kubernetes 或者其他容器管理平台,可以輕松地實現藍綠發布等流程,當我們升級應用觀察到流量異常時,可以快速回滾到穩定版本。

DevOps 工具介紹

工欲善其事,必先利其器,要想順利落地 DevOps,工具的選擇十分重要,下面我們來看下除了Docker 外還有哪些工具可以幫助我們順利地構建 DevOps 平台。

Git

devops知識體系兩大組成部分(什麼是DevOps容器如何助力)1

Git 是一種分布式的版本控制工具, 是目前使用最廣泛的 DevOps 工具之一。Git 相比于其他版本控制工具,它可以實現離線代碼提交,它允許我們提交代碼時未連接到 Git 服務器,等到網絡恢複再将我們的代碼提交到遠程服務器。

Git 非常容易上手,并且占用空間很小,相比于傳統的版本控制工具(例如:Subversion、CVS 等)性能非常優秀,它可以幫助我們快速地創建分支,使得團隊多人協作開發更加方便。

目前全球最大的在線 Git 代碼托管服務是 GitHub,GitHub 提供了代碼在線托管服務,可以幫助我們快速地将 DevOps 工作流集成起來。除了 GitHub 外,還有很多在線代碼托管服務,例如 GitLab、Bitbucket 等。

Jenkins

devops知識體系兩大組成部分(什麼是DevOps容器如何助力)2

Jenkins 是開源的 CI/CD 構建工具,Jenkins 采用插件化的方式來擴展它的功能,它擁有非常豐富的插件,這些插件可以幫助我們實現構建、部署、自動化等流程。它還擁有強大的生态系統,這些生态系統可以很方便地與 Docker 和 Kubernetes 集成。Jenkins 幾乎可以和所有的 DevOps 工具進行集成。

Ansible

devops知識體系兩大組成部分(什麼是DevOps容器如何助力)3

Ansible 是一個配置管理工具。Ansible 可以幫助我們自動完成一些重複的 IT 配置管理,應用程序部署等任務,還可以幫助我們放棄編寫繁雜的 shell 腳本,僅僅做一些 YAML 的配置,即可實現任務下發和管理工作。并且 Ansible 的每一行命令都是幂等的,它允許我們多次重複執行相同的腳本并且得到的結果都是一緻的。

Kubernetes- K8S

devops知識體系兩大組成部分(什麼是DevOps容器如何助力)4

Kubernetes 是當前最流行的容器編排工具之一,Docker 幫助我們解決了容器打包和鏡像分發的問題,而 Kubernetes 則幫助我們解決了大批量容器管理和調度的問題,它可以打通從研發到上線的整個流程,使得 DevOps 落地更加簡單方便。

docker助力DevOps更好發展

DevOps 雖然已經被提及很多年,但是一直沒有很好的落地,直到 2013 年 Docker 的誕生,才使得 DevOps 這個理念又重新火了起來,因為 Docker 為我們解決了應用的構建、分發和隔離的問題,才使得 DevOps 落地變得更加簡單。

DevOps 提倡小規模和增量的服務發布方式,并且 DevOps 還指導我們盡量避免開發大單體(把所有的功能都集成到一個服務中)應用,這一切,都與 Docker 所能提供的能力十分匹配。因此,Docker 是非常重要的 DevOps 工具。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved