Slurm DevOps - 遠い将来の矎しいクレヌンよりも 3 日でより良く機胜するシゞュりカラ

私は XNUMX 週間のプロゞェクトが倧奜きですが、XNUMX 幎にわたるプロゞェクトには怖気づいおいたす。 アゞャむルでは、MVP ずむンクリメントの抂念がずおも気に入りたした。これはたさに私の奜みです。実行可胜な郚分を䜜成し、実装しお、次に進みたす。

同時に、曞籍やカンファレンスで議論されおいる圢匏の DevOps 倉革は、XNUMX 幎かかるプロゞェクトにすぎたせん。 あるいは数幎埌。

私たちは、「XNUMX ぀のスプリントでの MVP DevOps」ず「増分ぞの準備」のパラダむムに基づいお DevOps コヌスを構築したした。 そしお、人間の蚀葉で蚀えば、「参加者が垰っおきたら、すぐに自宅で䜕かを実践し、その恩恵を受けるこずができるようにするため」です。

MVP DevOps: このコヌスには、基本的な DevOps プロセス甚のツヌルが含たれおいたす。 私たちは、すべおの CI/CD システムをレビュヌしお比范したり、コヌドずしおのむンフラストラクチャ アプロヌチの深さを明らかにしたりするずいうタスクを自分たちに蚭定したわけではありたせん。 私たちは、Gitlab CI/CD、Ansible、Terraform および Packer、Molecule、Prometheus、EFK ずいう XNUMX ぀の明確なスタックを提䟛したす。 コヌスから参加し、トレヌニング資料からパむロット プロゞェクト甚のむンフラストラクチャを収集し、そこで䜜業するこずができたす。

Slurm DevOps - 遠い将来の矎しいクレヌンよりも 3 日でより良く機胜するシゞュりカラ

増分ぞの準備: 各芁玠に倚くの実践䟋ず䟋を提䟛したす。 XNUMX ぀のツヌルを遞択し、トレヌニング図面を䜿甚しお実装を開始できたす。 たずえば、開発環境をロヌルアりトするための Ansible プレむブックを䜜成したり、ボットに接続しお携垯電話からサヌバヌを管理したりできたす。 ぀たり、XNUMX週間で具䜓的な実践結果が埗られたす。 それは䌚瀟党䜓の DevOps 倉革からは限りなく遠いかもしれたせんが、それはそこに存圚し、機胜し、利益をもたらしたす。

Slurm DevOps トピック

トピック #1: Git のベスト プラクティス -それ自䜓が物語りたす。
トピック #2: 開発の芳点からアプリケヌションを操䜜する — ゚ンゞニアには管理者ず開発者の胜力が必芁なので、開発に぀いおは管理者に䌝えたす。

トピック #3: CI/CD の基本

  • CI/CD オヌトメヌションの抂芁
  • Gitlab CI の基本
  • gitlab-runner のベストプラクティス
  • CI/CD などの䞀郚ずしおの Bash、make、gradle ツヌル
  • CI の問題を解決する手段ずしおの Docker

トピック #4: 運甚䞭の Gitlab CI/CD

  • 仕事を始めるずきの競争
  • 実行の制埡ず制限: のみ、次の堎合
  • アヌティファクトの操䜜
  • テンプレヌト、むンクルヌド、マむクロサヌビス: 導入の簡玠化

CI/CD の基本的な抂念ず抂念、および CI/CD 実装のためのツヌルを孊生に玹介したす。 その結果、孊生は CI/CD 蚭蚈パタヌンず適切な実装ツヌルを独自に遞択できるようになりたす。

次に、Gitlab での CI/CD の実装を瀺し、セットアップを段階的に説明し、Gitlab CI を䜿甚する高床な方法を確認したす。 その結果、孊生は自分のプロゞェクト甚に Gitlab CI を独立しお構成できるようになりたす。

最初の DevOps Slurm ず比范しお、理論を 2 倍 (トピックあたり XNUMX 時間) に瞮小し、すべおのシステムのレビュヌを避け、Gitlab CI のみを残したした。 私たちは実践に重点を眮き、倚くのベストプラクティスを远加したした。

トピック #5: コヌドずしおのむンフラストラクチャ

  • IaC: コヌドずしおのむンフラストラクチャぞのアプロヌチ
  • むンフラプロバむダヌずしおのクラりドプロバむダヌ
  • システム初期化ツヌル、むメヌゞ構築パッカヌ
  • Terraform を䟋ずしお䜿甚した IaC
  • 構成ストレヌゞ、コラボレヌション、アプリケヌションの自動化
  • Ansible プレむブック䜜成の実践
  • べき等性、宣蚀性
  • Ansible を䟋ずしお䜿甚した IaC

UI ず openstack cli に関する理論的な郚分を枛らし、実践に焊点を圓おたした。
同じアプリケヌションを䜿甚する XNUMX ぀の IaC アプロヌチを芋お、それぞれのアプロヌチの長所ず短所を瀺したす。 その結果、孊生はどのアプロヌチをどこで䜿甚するべきかを理解し、Terraform ず Ansible の䞡方を䜿甚できるようになりたす。

Terraform に関するトピックでは、実際のチヌムワヌクずデヌタベヌスぞの状態の保存に぀いお芋おいきたす。 モゞュヌルを䜿甚する堎合、孊生は自分でモゞュヌルを䜜成しお構成し、その䜿甚方法、぀たり再利甚、バヌゞョン管理を孊びたす。 Consul を䜿った䜜業を远加し、どのような堎合に Consul が必芁になるのか、そしおそれを正しく䜿甚する方法を瀺したしょう。

トピック #6: むンフラストラクチャのテスト

  • 圌らがなぜテストを曞かないのか考えおみたしょう。
  • IaC にはどのようなテストがありたすか?
  • 静的アナラむザヌ、本圓に圹に立たないのでしょうか?
  • ansible + 分子を䟋にした IaC の単䜓テスト
  • CI の䞀郚ずしおのテスト
  • ステロむドの怜査、たたは IaC 怜査が終了するたで 5 時間埅たない方法

私たちは理論的な郚分を枛らし、Vagrant/Molecule に関する話を枛らし、リンタヌずその操䜜に焊点を圓おお実践ず盎接テストを増やしたした。 CI の芳点から芋るず
テストを高速化する方法。 実際には次のようになりたす。

  • 圹割に応じおホストの必須倉数の存圚をチェックする自己䜜成のリンタヌ。
  • 倉曎されたロヌルのみを CI テストに远加するこずで、テストの実行時間を倧幅に短瞮できたす。
  • シナリオテストの远加。 アプリケヌション党䜓を統合テストずしおデプロむしたす。

トピック #7: Prometheus を䜿甚したむンフラストラクチャ監芖

  • 健党な監芖システムを構築する方法
  • 販売前であっおも、分析、開発効率、コヌドの安定性のためのツヌルずしおモニタリング
  • プロメテりス + アラヌトマネヌゞャヌ + グラファナのセットアップ
  • リ゜ヌス監芖からアプリケヌション監芖ぞの移行

マむクロサヌビスの監芖 (リク゚スト ID、API 監芖ツヌル) に぀いお詳しく説明したす。 倚くのベストプラクティスず独立した䜜業が数倚く存圚したす。

独自の゚クスポヌタヌを䜜成したしょう。 実皌働むンフラストラクチャずアプリケヌションだけでなく、Gitlab のアセンブリの監芖も蚭定したす。 倱敗したテストの統蚈を芋おみたしょう。 実際に、healthCheck を䜿甚しない堎合ず䜿甚する堎合のモニタリングがどのようになるかを芋おみたしょう。

議題その8。 ELK を䜿甚したアプリケヌションのログ蚘録

  • Elastic ずそのツヌルの抂芁
  • ELK/Elastic Stack/x-pack - 䜕が違うのか、たたその違いは䜕ですか?
  • ElasticSearch を䜿甚しお解決できる問題 (怜玢、ストレヌゞ、スケヌリング機胜、構成の柔軟性)
  • むンフラストラクチャ監芖 (x-pack)
  • コンテナヌずアプリケヌションのログ (x-pack)
  • 䟋ずしおアプリケヌションを䜿甚したロギング
  • Kibana を䜿甚した䜜業の実践
  • Amazon から Elasticsearch のディストリビュヌションを開く

このトピックは完党に再蚭蚈されおおり、Eduard Medvedev がホストを務めおおり、倚くの人が DevOps ず SRE に関するりェビナヌで圌を目にしたした。 圌は、教育アプリケヌションの䟋を䜿甚しお、EFK を䜿甚するためのベスト プラクティスを説明し、デモンストレヌションしたす。 キバナずの緎習もありたす。

トピック #9: ChatOps によるむンフラストラクチャの自動化

  • DevOps ず ChatOps
  • ChatOps: 匷み
  • Slack ず代替手段
  • ChatOps 甚のボット
  • Hubot ずその代替品
  • セキュリティ
  • テスト
  • ベストプラクティスず最悪のプラクティス

ChatOps には、暩利分離による認蚌の実践、別のナヌザヌによるアクションの確認、Mattermost の圢で Slack に代わる理論ず実践、ボットの単䜓テストず統合テストの理論が远加されたした。

DevOps スラムは 30 月 30 日に始たりたす。 䟡栌 - 000。
読み終えた方は、プロモヌション コヌド habrapost を䜿甚しお DevOps コヌスを 15% 割匕でご利甚いただけたす。

登録 ここで

Slurmsでお䌚いできるのを楜しみにしおいたす

出所 habr.com

コメントを远加したす