Slurm DevOps - 三天內運行的山雀比遙遠未來的美麗起重機還要好

我喜歡為期一周的項目,但我對為期一年的項目感到害怕。 在敏捷中,我真的很喜歡 MVP 和增量的概念,這就是我的風格:製作一個可行的部分,實現它並繼續前進。

同時,書籍和會議上討論的 DevOps 轉型只是一個為期一年的計畫。 或者幾年後。

我們以「一次衝刺中的 MVP DevOps」和「漸進式準備」的範式建構了 DevOps 課程。 如果用人類的話來說,那麼“這樣參與者在返回後就可以立即在家裡實施一些事情並從中受益。”

MVP DevOps:本課程包含用於基本 DevOps 流程的工具。 我們沒有給自己設定任務來審查和比較所有 CI/CD 系統或揭示基礎設施即程式碼方法的深度。 我們提供一個清晰的堆疊:Gitlab CI/CD、Ansible、Terraform 和 Packer、Molecule、Prometheus、EFK。 您可以參加課程,從培訓材料中收集試點計畫的基礎設施並在其中工作。

Slurm DevOps - 三天內運行的山雀比遙遠未來的美麗起重機還要好

增量準備:我們為每個元素提供了大量實踐和範例。 您可以使用一種工具並使用培訓圖紙開始實施它。 例如,編寫 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

添加評論