我喜歡為期一周的項目,但害怕為期一年的項目。在 Agile 中,我非常喜歡 MVP 和增量的概念,這正是我所做的事情:製作一個工作件,實現它並繼續前進。
同時,書籍和會議中所討論的 DevOps 轉型恰恰是一個為期一年的計畫。或以年為單位。
我們按照「一次衝刺實作 MVP DevOps」和「為增量做好準備」的範式建立了 DevOps 課程。但如果說得更人性化一點,那就是“這樣,參與者回來後就能立即實施一些事情,並從中受益。”
MVP DevOps:課程包括基本 DevOps 流程的工具。我們的目標不是審查和比較所有 CI/CD 系統或揭示基礎設施即程式碼方法的深度。我們提供一個清晰的堆疊:Gitlab CI/CD、Ansible、Terraform 和 Packer、Molecule、Prometheus、EFK。您可以從課程回來,根據培訓材料為試點項目組成基礎設施並在其中開展工作。

為逐步改進做好準備:我們為每個要素提供了充足的練習和範例。您可以選擇一個工具,並按照培訓藍圖進行實施。例如,撰寫 Ansible playbook 來部署開發環境,或連接並管理一個機器人。 服務器 只要一支手機,就能在短短一週內獲得實際的成果。雖然這些成果可能與公司範圍內的 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 相比,我們將理論減少了一半(每個主題一小時),不再審查所有系統,只留下 Gitlab CI。我們注重實踐,並添加了許多最佳實踐。
主題#5:基礎設施即程式碼
- IaC:將基礎設施視為代碼
- 雲端提供者作為基礎設施提供者
- 系統初始化工具、鏡像建置(打包器)
- 以 Terraform 為例的 IaC
- 配置儲存、協作、應用自動化
- 建立 Ansible playbook 的實踐
- 冪等性、宣告性
- 以 Ansible 為例的 IaC
我們縮短了 UI 和 openstack cli 的理論部分,並專注於實作。
讓我們來看看使用相同應用程式的兩種 IaC 方法,展示每種方法的優缺點。因此,學生將了解在哪裡使用哪種方法,並且能夠使用 Terraform 和 Ansible。
在 Terraform 主題中,我們將在實踐中研究團隊合作和在資料庫中儲存狀態。在使用模組時,學生將自己編寫和配置模組,學習如何使用它:重複使用、版本。我們將添加與 Consul 的合作,展示在哪些情況下它是必要的以及如何正確使用它。
主題#6:基礎設施測試
- 讓我們弄清楚為什麼沒有寫測試?
- IaC 中有哪些測試?
- 靜態分析器真的那麼沒用嗎?
- 使用 ansible + molecule 作為範例進行 IaC 單元測試
- 測試作為 ci 的一部分
- 類固醇測試或如何避免等待 5 小時 IaC 測試結束
我們縮短了理論部分,減少了有關 Vagrant/Molecule 的故事,增加了實踐和測試本身,並專注於了 linters 及其使用。讓我們從 CI 的角度來看
如何使測試更快。在實踐中將會有:
- 一個自寫的 linter,根據角色檢查主機所需的變數是否存在;
- 我們僅將那些已經發生變化的角色添加到 CI 測試中,這使我們能夠顯著減少運行測試所需的時間;
- 新增場景測試。我們將整個應用程式部署為整合測試。
主題#7:使用 Prometheus 進行基礎設施監控
- 如何建立健康的監測系統
- 監控作為分析、開發效率和程式碼穩定性的工具,甚至在銷售之前
- 設定 prometheus + alertmanager + grafana
- 從資源監控轉向應用程式監控
我們將會談論很多監控微服務的內容:請求id,api監控工具。將會有許多最佳實踐和大量獨立工作。
讓我們來寫自己的導出器。我們不僅將對生產基礎架構和應用程式建立監控,還將對 Gitlab 中的建置建立監控。讓我們看一下失敗測試的統計數據。讓我們在實踐中看看有無 healthCheck 監控會是什麼樣子。
主題 8. 使用 ELK 記錄應用程式
- Elastic 及其工具概述
- ELK/Elastic Stack/x-pack — 它們是什麼、有什麼不同?
- 使用 ElasticSearch 可以解決哪些任務(搜尋、儲存、擴充功能、設定彈性)
- 基礎設施監控(x-pack)
- 容器和應用程式日誌(x-pack)
- 以我們的應用程式為例進行日誌記錄
- Kibana 實踐
- 亞馬遜的 Open Distro for Elasticsearch
這個主題已完全重新制定,由 Eduard Medvedev 領導,許多人在 DevOps 和 SRE 網路研討會上見過他。他將以培訓應用程式為例,講述並示範使用 EFK 的最佳實踐。將會使用 Kibana 進行練習。
主題 #9:使用 ChatOps 實現基礎架構自動化
- DevOps 和 ChatOps
- ChatOps:優勢
- Slack 和替代方案
- ChatOps 機器人
- Hubot 和替代方案
- 安全
- 測試
- 最佳和最差做法
ChatOps 增加了權限分離的身份驗證實踐、另一個用戶的操作確認、以 Mattermost 形式取代 Slack 的理論和實踐以及機器人的單元和整合測試理論。
Slurm DevOps 於 30 月 30 日開始。價格:000。
對於那些讀到最後的人,使用促銷代碼 habrapost 可享受 DevOps 課程 15% 的折扣。
註冊
我很高興在 Slurms 見到你!
來源: www.habr.com
