怎樣玩轉容器Devops
主講人:華為云DevCloud高級產品經理,羊振華
先自我介紹一下,我這邊是華為軟件開發云的產品經理,今天我大概給大家介紹一下我們這個容器的DevOps怎么玩,所以的話呢我們的議題就分為以下幾個部分,首先做一下大概一個掃盲吧,介紹一下Devops是什么,然后再介紹一下我們之前沒有用東西的話是怎么玩這個Devops的,存在什么問題,然后第三點的話就介紹一下我們容易取得的一些優勢,最后的介紹,我們這個容器Devops的一個實踐。
什么是容器:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
容器是操作系統內核自帶能力,是基于 Linux內核實現的輕量級高性能資源隔離機制Docker是容器技術之一,核心在于實現應用與運行環境整體打包以及打包格式統。
Docker的英文本意是搬運工,這種搬運工搬運的是集裝箱( Container), Docker把App(叫 Payload)裝在Container內,通過 Linux Container技術的包裝將App變成種標準化的、可移植的、自管理的組件。
容器關鍵價值:
1.快速交付和部署:一站式部署/運維容器應用,一鍵式滾動升級。
2.提升資源利用率:更細粒度地劃分資源,提高資源利用率。
3.保障業務高可用:秒級彈性擴容,快速響應并發高峰。
4.復雜系統管理簡單:單一重型應用解耦拆分為多個輕量模塊,每個模塊升級伸縮更加靈活,輕松應對市場變化。
Docker的典型應用場景:
簡化配置,應用和依賴都打包;
多版本混合部署同;。。。。。。。。。。。。。。。。。。。
流水線 devops;。。。。。。。。。。。。。。。。。。。。。。。。。。
快速部署、升級、回滾;
拆分解耦,隔離應用;。。。。。。。。。。。。。。
用于內部開發環境;。。。。。。。。。。。。。。。。。。
多租戶資源隔離;。。。。。。。。。。。。。。。。
華為云容器引擎ccE:。。。。。。。。。。。。。。。。。。。。。。。。。。。。
華為云容器引擎ccE:基于開源 Kubernetes和 Docker技術的企業級容器服務,我們是國內貢獻kubernetes開源代碼第一的廠商,支持多語言多框架的接入: Java/Python/Go/Node. Js,支持第三方模板&鏡像部署K8S Helm/Docker Hub,支持第三方服務&工具Kafka/Nginx/APM/Monitor。
總體來講華為云容器引擎ccE有以下優勢:
多樣的生態接入:支持多語言多框架服務接入;支持第三方模板和鏡像快速部署。
增強的商用化特性;通過自動化配置、構建、部署提升業務上線效率;通過跨可用區高可用和控制面HA提升業務可靠性;通過物理共享集群提供敏捷可靠的容器適應業務多樣性。
完全開放的原生平臺:緊跟 Kubernetes和 Docker社區,迅速同步最新版本;支持原生API調用和命令行操作。
高性能基礎設施:支持多種異構IaS:虛擬機、物理機、ARM服務器;支持多種存儲:云硬盤、對象存儲、文件存儲;對接公私網絡:虛擬私有網絡、EIP公網。
什么是 Devops
DevOps(英文 Developmenth和 Operations的組合)是組過程、方法與系統的統稱,用于促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合,就是更好的優化開發(DEV、測試(QA)、運維(○PS的流程,開發運維體化,通過高度自動化工具與流程來使得軟件構建、測試、發布更加快捷、頻繁和可靠隨著軟件發布迭代的頻率越來越高,傳統的「瀑布型」(開發—測試—發布)模式已經不能滿足快速交付的需求。
Devops的好處:
1.代碼的提交直接觸發:消除等待時間,代碼越早push出去,用戶越早用到,越快實現商業價值。。。。。。。。。。。。。。。。。。。。。。。。。
2.每個變化對應一個交付管道:使問題定位和調試變得簡單,代碼庫存越多, workflow的包袱越重,管理成本越大。
3.全開發流程高效自動化:穩定,快速,交付結果可預測。
4.持續進行自動化回歸測試:提升交付質量。
5.設施共享并按需提供:資源利用最大化。
6.快速得到用戶反饋:用戶越早用到就越早反饋,團隊越早得到反饋,好壞都是有價值的輸入。。。。。。。。。。。。。。。。。。。
傳統的WM或者物理機進行 Devops可能存在以下問題
1.資源利用率的問題,造成部分成本的浪費。。。。。。。。。。。。。
2.應用無法有效隔離,造成資源互相搶占。。。。。。。。。。。。。。。。。
3.環境容易不一致,造成出問題定位的復雜度。。。。。。。。
4.依賴包版本可能不統一,而版本間又有兼容性依賴,造成部署復雜、困難。
5.ⅥM和物理機占用空間大,啟動慢。
6.交付,部署,回滾等周期長。。。。。。。。。。。。。。。。。。。。。。。。。。
基于容器的 Devops優勢
1.基于容器更細粒度共享,提升資源利用率。
2.應用通過容器隔離,并將應用和環境解耦。
3.標準化的交付件,代碼,配置等基礎設施統一,運維簡化。
4.部署和配置的工作提前到編譯時,將代碼和配置分別進行鏡像版本化管理。
5.更小、更頻繁的變更。
6.開發,測試,類生產,生產環境統一。
7.秒級彈性擴縮容,以快速面對市場變化。
華為軟件開發云( Devcloud)
軟件開發云( Devcloud)是集華為硏發實踐、前沿硏發理念、先進硏發工具為-體的硏發云平臺;軟件開發云不是編程工旦,是面向開發團隊提供的警套研發工具服務,讓軟件開發效率高、質量好。
軟件開發云核心特性
項目管理:敏捷迭代開發、多項目管理、看板跟蹤、社交化協作、多維度報表、文檔管理、Wiki、追溯能力。
代碼托管:基于GI跨地域協同開發、在線代碼閱讀修改、在線提交代碼分支管理、代碼加密傳輸、基于代碼的統計分析、基于角色的權限控制、關聯需求與缺陷。
代碼檢查:缺陷快速定位和修復、主流編程語言多種檢查規則套餐、自定義檢查規則集、缺陷批量處理、多維度報表。
編譯構建:Maven等主流構建標準、簡化配置,簡單易用、10+編程語言、80+工具插件、多語言并行構建。
測試:需求-用例-缺陷、用例管理、缺陷管理、測試設計、測試驗收、缺陷統計、測試排行、移動APP測試。
部署:Ansible部署、容器部署、私有主機部署。
發布:Maven倉庫、軟件包高速下載、軟件包高速分發、軟件包自動歸檔。
流水線:可視化按需制定自動化流程、利用云端能力并行、執行實施監控流水線狀態。
軟件開發云基于容器的Devops
下來看一下我們的軟件開發員是怎么做我們這個容器的Devops。首先打個比方好比說我們的項目經理在我們的項目管理里面錄了一個需求,那么他把需求分配給開發人員,這個時候呢,我們開發人員就跑去代碼倉庫拉取代碼。提交他的代碼,那我們有個功能就是在我們的流水線中如果檢測到這個代碼,一旦被提交了可以自動觸發我們后端的這個過程包括我們的后端的編譯構建以及部署的過程。之后便會上傳鏡像到鏡像倉庫,之后就可以在鏡像倉庫中拉取鏡像進行部署,包括測試環境、預發布環境、生成環境的部署等。這就是整個我們軟件開發員使用基于容器的Devops的整個過程。
此外,同學們通過相關的學習,提出了不少反思問題。
問:是否可以接入外部代碼倉庫
答:目前不支持,在規劃中。
問:有針對個人開發者免費體驗么
答:華為云開發者扶持計劃現已啟動,四大福利助力開發者敏捷上云。1:云服務器免費試用 2:軟件開發云免費 3:數據庫基礎套餐免費 4:PaaS基礎服務免費。
問:企業建立一套自己用的devOps,需要怎樣的一個團隊
答:至少有一個全棧工程師。按照之前的玩法的話,至少要熟悉開源 Kubernetes,包括代碼也能做到搭一個開源的,人員要熟悉這一整套的工具。如果使用我們軟件開發云的話,只需要熟悉我們軟件開發云工具就可以了。
視頻鏈接
https://m.qlchat.com/wechat/page/topic-intro?topicId=2000000675259671
以上文字內容由【內容眾創興趣小組-dmulzs】整理。
Docker 容器 DevOps Kubernetes
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。