我喜歡為期一周的項目,但我對為期一年的項目感到害怕。 在敏捷中,我真的很喜歡 MVP 和增量的概念,這就是我的風格:製作一個可行的部分,實現它並繼續前進。
同時,書籍和會議上討論的 DevOps 轉型只是一個為期一年的計畫。 或者幾年後。
我們以「一次衝刺中的 MVP DevOps」和「漸進式準備」的範式建構了 DevOps 課程。 如果用人類的話來說,那麼“這樣參與者在返回後就可以立即在家裡實施一些事情並從中受益。”
MVP DevOps:本課程包含用於基本 DevOps 流程的工具。 我們沒有給自己設定任務來審查和比較所有 CI/CD 系統或揭示基礎設施即程式碼方法的深度。 我們提供一個清晰的堆疊:Gitlab CI/CD、Ansible、Terraform 和 Packer、Molecule、Prometheus、EFK。 您可以參加課程,從培訓材料中收集試點計畫的基礎設施並在其中工作。
增量準備:我們為每個元素提供了大量實踐和範例。 您可以使用一種工具並使用培訓圖紙開始實施它。 例如,編寫 Ansible 手冊來部署開發環境或連接機器人並透過手機管理伺服器。 也就是一週內得到具體的實際成果。 它可能距離整個公司的 DevOps 轉型無限遙遠,但它就在那裡,它就在這裡,它起作用並帶來好處。
Slurm DevOps 主題
主題#1:Git 最佳實踐 - 不言而喻。
主題#2:從開發的角度使用應用程式 — 工程師需要管理員和開發人員的能力,因此我們告訴管理員有關開發的資訊。
主題 #3:CI/CD 基礎知識
- CI/CD 自動化簡介
- Gitlab CI 基礎知識
- gitlab-runner 的最佳實踐
- Bash、make、gradle 工具作為 CI/CD 的一部分等
- Docker 作為解決 CI 問題的一種方法
主題 #4:生產中的 Gitlab CI/CD
- 入職時的競爭
- 執行控制和限制:僅當
- 使用工件
- 範本、包含內容和微服務:簡化部署
我們向學生介紹 CI/CD 的基本概念和概念以及 CI/CD 實施的工具。 因此,學生將能夠獨立選擇 CI/CD 設計模式和合適的實施工具。
然後我們展示了 Gitlab 中 CI/CD 的實現並逐步完成設置,以了解使用 Gitlab CI 的高級方法。 因此,學生將能夠為自己的專案獨立配置 Gitlab CI。
與第一個 DevOps Slurm 相比,我們將理論縮減了 2 倍(每個主題一小時),不再審查所有系統,只留下 Gitlab CI。 我們注重實踐,增加了許多最佳實踐。
主題#5:基礎設施即程式碼
- IaC:將基礎設施視為代碼
- 雲端提供者作為基礎設施提供者
- 系統初始化工具、鏡像建置(打包器)
- 以 Terraform 為例的 IaC
- 配置儲存、協作、應用自動化
- 建立 Ansible playbook 的實踐
- 冪等性、宣告性
- 以 Ansible 為例的 IaC
我們減少了 UI 和 openstack cli 的理論部分,並將重點放在實作上。
讓我們看看使用相同應用程式的兩種 IaC 方法,展示每種方法的優缺點。 因此,學生將了解在哪裡使用哪種方法,並且能夠使用 Terraform 和 Ansible。
在 Terraform 主題中,我們將在實踐中研究團隊合作和在資料庫中儲存狀態。 使用模組時,學生將自己編寫和配置模組,學習如何使用它:重複使用它,版本化它。 讓我們加入 Consul 的工作,展示在哪些情況下需要它以及如何正確使用它。
主題#6:基礎設施測試
- 讓我們弄清楚為什麼他們不寫測驗?
- IaC 有哪些測試?
- 靜態分析儀,真的那麼沒用嗎?
- 以ansible + molecular為例進行IaC的單元測試
- 測試作為 ci 的一部分
- 類固醇測試或如何不等待 5 小時 IaC 測試完成
我們減少了理論部分,減少了有關 Vagrant/Molecule 的故事,增加了實踐和直接測試,重點是 linter 並使用它們。 從CI的角度來看
如何使測試更快。 實踐中會有:
- 自編寫的 linter,根據角色檢查主機是否存在強制變數;
- 我們只將那些發生變化的角色加入 CI 測試中,這可以顯著減少測試執行時間;
- 新增場景測試。 我們部署整個應用程式作為整合測試。
主題#7:使用 Prometheus 進行基礎設施監控
- 如何建立健康的監測系統
- 監控作為分析、開發效率和程式碼穩定性的工具,甚至在銷售前也是如此
- 設定prometheus+alertmanager+grafana
- 從資源監控轉向應用程式監控
我們將討論很多關於監控微服務的內容:請求 ID、API 監控工具。 將會有許多最佳實踐和很多獨立工作。
讓我們來寫自己的導出器。 我們不僅會監控生產基礎架構和應用程序,還會監控 Gitlab 中的程序集。 讓我們看一下失敗測試的統計數據。 讓我們在實務上看看不使用 healthCheck 和使用 healthCheck 時監控會是什麼樣子。
主題 8。 使用 ELK 記錄應用程式
- Elastic 及其工具概述
- ELK/Elastic Stack/x-pack - 是什麼以及有什麼不同?
- 使用 ElasticSearch 可以解決哪些問題(搜尋、儲存、擴充功能、設定彈性)
- 基礎設施監控(x-pack)
- 容器和應用程式日誌 (x-pack)
- 以我們的應用程式為例進行日誌記錄
- 使用 Kibana 的實踐
- 來自 Amazon 的 Open Distro for Elasticsearch
這個主題已完全重新設計,由 Eduard Medvedev 主持,許多人在關於 DevOps 和 SRE 的網路研討會上看到了他。 他將使用教育應用程式範例講述並演示使用 EFK 的最佳實踐。 將會有 Kibana 的練習。
主題 #9:使用 ChatOps 實現基礎架構自動化
- DevOps 和 ChatOps
- ChatOps:優勢
- Slack 和替代方案
- ChatOps 機器人
- Hubot 和替代方案
- 安全
- 測試
- 最佳和最差做法
ChatOps 增加了權限分離的身份驗證實踐、另一個用戶的操作確認、以 Mattermost 形式取代 Slack 的理論和實踐、機器人的單元和整合測試理論。
DevOps 混亂將於 30 月 30 日開始。 價格 - 000。
對於已閱讀的讀者,使用促銷代碼 habrapost 可以享受 DevOps 課程 15% 的折扣。
註冊
我很高興在 Slurms 見到你!
來源: www.habr.com