雲集技術學社|帶你瞭解DevOps技術原理
12月9日,業內資深容器雲研發專家Jacky在信服雲《雲集技術學社》系列直播課上進行了《DevOps技術原理與實踐》的分享,詳細介紹了DevOps技術的發展、開發中的關鍵技術、相關問題和注意點。以下是他的分享內容摘要,想要了解更多可以持續關注。
看點一:DevOps全景
在軟體工程的發展中, 開發模式從最開始瀑布模式、敏捷模式到現在把敏捷中的運維和開發串起來形成的DevOps模式。軟體技術架構從最開始的單體架構、到分層架構再到現在的微服務架構。 交付方式也從原來上線一個業務部署在物理機上,到部署在虛擬機器上,然後到當前可能更多的部署在容器裡面。 基礎設施也從原來建立機房的資料中心,到只關注一個雲主機,到現在使用者更關注的是東西怎麼釋出到雲上。
開發模式、軟體架構、交付方式和基礎設施的發展雖然是獨立的,但是在特定時期又相互交織。例如,在DevOps環境下,常用的部署方式是容器的方式,應用架構是微服務的架構,基礎設施是雲。
不同企業的DevOps模式是不同的。DevOps一般是從組織、技術、流程三個方面發揮作用,大致上都會有開發人員、版本控制系統、構建伺服器、工件庫、程式碼倉庫、包管理器、自動化案例庫、測試環境、預釋出環境、生產環境、監控系統、流水線等部分。組織是保證,技術是推動DevOps前進的核心生產力,流程是準則。最終實現文化升級,實現學習型和使命型的文化。
看點二:Devops時代軟體開發關鍵技術
DevOps時代下,有著6項軟體開發的關鍵技術。
流水線:流水線將各個分散的人物流串起來,形成一個自動化的工作流。流水線是DevOps的核心。常用的流水線實現有:Jenkins、Travis CI、CruiseControl、Buildbot、Apache Gump、Cabie、gitlab。目前業界比較常用的流水線是Jenkins。深信服雲原生流水線的實現則主要是基於k8s架構在雲原生平臺上去構建流水線的管理工具。
雲原生平臺:作為DevOps的載體,雲
原生平臺是DevOps的必要條件,它管理著多雲環境下的K8s叢集和雲平臺。以容器技術為核心的雲原生平臺為DevOps插上了翅膀,透過構建完善的PaaS能力或中臺,能大大提升DevOps的效率。
微服務:當應用系統龐大到需要十幾個獨立業務才能完成,在這種情況下必須把業務拆成足夠小的細顆粒才行,微服務透過自動化的方式讓每一個模組都可以獨立執行、獨立維護、獨立治理。管理、度量、管控三位一體的微服務治理,讓DevOps在業務側流轉起來。
監控:它是DevOps的晴雨表。沒有監控,使用者就無法瞭解系統線上上的執行情況。監控和告警是DevOps真正自動起來的保障。
測試和自動化:測試和自動化是從程式碼分支管理時就已經執行。在構建環境時會進行靜態程式碼掃描、編譯告警分析等操作。而到了測試環境,則針對功能、迴歸、API、UI等多方面進行測試保證整合功能可以釋出。預釋出時,還要進行極個別的動工測試、持續壓力測試、迴歸測試、灰度/金絲雀和演練。最終釋出到生產環境時會進行流量治理和運用混沌工程注入故障檢測系統穩定性。測試和自動化是DevOps成功與否的指標。
開源社群:DevOps之所以屬於敏捷的一個延伸,是因為它小步快跑的思路跟敏捷其實是一致的,只是DevOps把線上和線下這塊拉通了。DevOps目的是形成一個很小的作戰單元,更快地去反映和解決問題。實現這個目的的唯一路徑是使用更加先進的工具,開源社群正好就給它提供了這些工具。
看點三:DevOps的問題和注意點
關於DevOps,Jacky在直播課上介紹了三點注意事項:
安全問題:近幾年,安全左移成為了業界共識,即從開發階段就要開發安全系統。DevSecOps要求從一開始就要考慮應用和基礎架構的安全性。
混沌工程:透過在生產分散式系統上進行實驗,主動找出脆弱環節,從而使得系統真正可靠起來。混沌工程與常用的微服務治理結束相結合,實現執行狀態的真正高度可用。
團隊建設:DevOps轉型到最後是文化的轉型。康威理論表明軟體設計的架構反應了團隊的組織和溝通架構。DevOps實際上是一場自上而下的組織變革,必須有組織保障,因此團隊建設至關重要。
還想學習雲端計算的更多幹貨嗎?敬請鎖定12月28日下午直播,雲集技術學社還將邀請更多的專家,分享他們對雲端計算技術的理解和實踐經驗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009737/viewspace-2848634/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一文帶你瞭解HDFS技術
- Tech Talk · 雲技術有話聊 | 帶你瞭解Oracle資料庫基礎架構及原理Oracle資料庫架構
- 健學社技術支援
- 帶你瞭解DDOS防禦中流量清洗的技術方法
- 一、你瞭解機器學習技術體系嗎機器學習
- 一文帶你搞懂 CDN 的技術原理
- 小白如何學習網路安全技術,一文帶你瞭解它得到它!
- 都知道RFID技術,可你瞭解RFID的關鍵技術是哪些嗎?
- 2019 DevOps 技術指南dev
- 你瞭解什麼是技術債務嗎?
- 技術沙龍|京東雲DevOps自動化運維技術實踐dev運維
- 前端技術學習路線及技術彙總(從瞭解到學習,你的思維格局決定你的未來)前端
- 帶著小白瞭解下區塊鏈技術區塊鏈
- 帶你瞭解騰訊開源的多渠道打包技術 VasDolly原始碼解析原始碼
- 雲端儲存的技術原理
- 帶你學 Java 技術之動態代理機制Java
- 技術管理進階——你瞭解成長的全貌嗎?
- 3分鐘瞭解Vue開發小程式的技術原理Vue
- DevOps是什麼?5分鐘帶你瞭解DevOpsdev
- 技術問答集錦(13)Java Instrument原理Java
- 你所聽到的技術原理、技術本質到底是什麼?
- 年度大盤點:那些最值得你瞭解的容器技術
- 深入理解Sora技術原理|得物技術Sora
- CDGA|2分鐘帶你瞭解大資料治理必備能力和關鍵技術大資料
- Javascript 技術原理剖析JavaScript
- docker容器技術原理Docker
- MRAM工作原理技術
- LVS叢集技術
- 浪潮資訊工程師:帶你瞭解裝置透傳虛擬機器的快速啟動技術最佳化方案 | 龍蜥技術工程師虛擬機
- 6 個技術點帶你理解 Kafka 高效能背後的原理Kafka
- 雲原生技術
- 技術集錦 | 大資料雲原生技術實戰及最佳實踐系列大資料
- 人體分析技術,瞭解一下
- 我所瞭解的Linux運維技術Linux運維
- 熱更新技術簡易原理及技術推薦
- 音視訊技術傻瓜版解析:帶你解鎖RTMP
- 【ERP體系】專業技術層面的評估,你瞭解多少?
- 前端技術分享:錐形漸變conic-gradient你瞭解多少?前端