なぜ Role なのか:モノリスからモジュールへ
構造化された再利用が必要な理由を学びます。
「なぜ Role なのか:モノリスからモジュールへ」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
モノリシックなPlaybookの問題
Playbookが大きくなるにつれて、すべてのタスク、ファイル、変数が1つの巨大なファイルに詰め込まれていきます。すると、読みづらく、共有や再利用も難しくなります。
ロールは再利用可能なひとまとまりです
ロールは、関連するタスク、ハンドラー、ファイル、テンプレート、変数を、どのPlaybookにも組み込める整理された1つの単位にまとめます。
ビルディングブロックとして考える
タスクを1つの大きな壁のように並べるのではなく、ロールからサーバーを組み立てます。nginxのロール、postgresのロール、ファイアウォールのロールという具合です。それぞれが明確な1つの役割を担います。
一度書けばどこでも使える
Webサーバーをセットアップするロールを作成し、ステージング、Production、その他のプロジェクトで再利用します。タスクをコピー&ペーストする必要はありません。
ロールでPlaybookを小さく保つ
トップレベルのPlaybookは、適用するロールの短いリストになります。複雑な処理は各ロールの内部に隠れているため、表には出ません。
- hosts: web
roles:
- nginx
- firewall設定より規約
ロールは決められたフォルダー構成に従うため、Ansibleはタスクやテンプレートの場所を自動的に把握します。そのパターンを一度覚えるだけで済みます。
単体でテストしやすい
ロールは自己完結しているため、大きなPlayに組み込む前に、単独で開発やテストができます。小さな単位に分ければ、予想外の問題も減ります。
チームで作業を分担できる
1人がデータベースのロールを担当し、別の人がロードバランサーのロールを担当できます。明確な境界があるため、互いの作業を邪魔せずに進められます。
ロールを世界と共有する
適切に構成されたロールはAnsible Galaxyに公開できます。これにより、他の人があなたの自動化をインストールしたり、あなたが他の人の自動化をインストールしたりできます。
ロール内で変数を管理する
ロールは独自のデフォルト変数を含むため、すぐに使える一方で、ロール自体を編集せずにプロジェクトごとに簡単にカスタマイズできます。
モノリスからモジュールへ
大きなPlaybookをロールに分割するリファクタリングは、巨大な1つの関数を小さな関数に分割するようなものです。構成がすっきりし、再利用しやすく、保守もはるかに簡単になります。
クイックチェック
チームがPlaybookをロールにリファクタリングする主な理由について考えてみましょう。
まとめ
ロールは、モノリシックなPlaybookを、タスク、ファイル、変数をそれぞれ備えた、整理された再利用可能なビルディングブロックに変えます。🧱
よくある質問
「なぜ Role なのか:モノリスからモジュールへ」レッスンは無料ですか?
はい。「なぜ Role なのか:モノリスからモジュールへ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「なぜ Role なのか:モノリスからモジュールへ」で何を学びますか?
構造化された再利用が必要な理由を学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「なぜ Role なのか:モノリスからモジュールへ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- なぜ Role なのか:モノリスからモジュールへ
- Role ディレクトリの構成
- ansible-galaxy init で Role のひな形を作る
- Role の適用と Role 変数の受け渡し