DevOps运维开发一体化 - 公开课笔记
DevOps 運維開發一體化
DevOps 核心思想:最大化提升工作效率,通過一系列技術棧來體現。
- 開發人員
- 產品經理
- 測試人員
- 運維人員…
分部門的傳統的開發方式,開發周期一般比較長,部門比較分散,彼此之間的溝通可能不到位。
1、敏捷開發
2、產品與質量管理軟件(運維人員,環境搭建,維護,調優等、開發人員、測試人員、產品經理、項目經理使用)
常見軟件有:
Jira,大廠都用,是收費的國外軟件。國產有禪道,是免費開源的。
Gitlab也可以,有里程碑的功能,可以用于發布任務。
TeamBition,比較小眾
3、代碼倉庫管理 -> GitOPS,代碼倉庫管理方面的運維
服務端:分布式去中心化的有GitLab,GitHub,原生Git,Gitee;中心化的有SVN
客戶端:終端 Git CLI,圖形界面的 TortoiseGit
4、開發流程規范
GitLab中有工作流GitLab FLow,而且GitHub,原生Git,都有工作流。
5、自動化構建腳本
Maven,Ant,Gradle 等等
6、虛擬化與容器化
虛擬化與容器化是不同技術的體現。
虛擬化分為硬件虛擬化、軟件虛擬化,容器化是軟件虛擬化的一個分支。
虛擬化技術:
- VMWare,企業版的ESXi,cVenter,桌面級的VM Workstation
- XEN,Linux中原生支持XEN虛擬化,XenServer / Xen Client 是RedHat做的虛擬化技術。
- KVM,新版的Linux內核原生支持KVM
- Hyper-v,Windows Server 2016 已經發展到了第二代,在Windows上是最好的虛擬化技術,在Win Server 2012 的時候發布的第一版。
容器化技術:
- LXC,LXD,兩個Linux上的虛擬化技術,是命名空間的隔離。
- Docker,早期也是基于LXC的,后來使用google開源的引擎做處理。CentOS 7.6 之后,底層對于 Docker 的支持已經發生了變化,逐漸被淘汰。為什么呢,因為Docker是典型的CS架構,有服務端與客戶端。服務端有一個守護進程,Docker的守護進程是它的缺點。、
- Podman技術,下一代容器技術,原生支持Docker所有的API,不需要和Docker一樣的守護進程。
7、持續集成和持續部署 CI / CD
CI:持續集成工具,Gitlab,Git,TeamCity
CD:持續部署工具,Jenkins
8、持續監控 / 監控管理工具 CM
持續監控工具,Zabbix,普羅米修斯
監控管理工具:單機監控;集群監控;容器監控;日志分析系統ELK等等
9、自動化工具
基于Python / 通過腳本
可以使用 Python 相關工具,如 Ansible 自動化運維工具,Puppet 等
10、自動化測試
Python 自動化測試
Appium 工具
11、云計算技術體系
云計算管理平臺 opencloud,底層是虛擬化技術,相當于是一個資源池(CPU算力、存儲、網絡資源)整合在一起,然后服務的形式提供給別人。
平臺:
- OpenStack,服務非常重,漸漸淘汰了,收費
- ZStack,國產的平臺,有免費版,收費版
- 容器云,結合k8s,故障轉移,秒級啟動。進程間通信的安全問題有待于加強。
MySQL可以在容器中做嗎?需不需要單獨的物理機?
可以在容器中,但是你公司必須有容器玩的非常明白的大牛牛才可以,否則你的數據會有可能丟,涉及到持久化等等的問題。
盲目的上云、盲目的使用容器,會帶來很多問題。
總結
以上是生活随笔為你收集整理的DevOps运维开发一体化 - 公开课笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P8实战(四):多种分布式锁实现
- 下一篇: leetcode 168. Excel表