デプロイ用語
デプロイ用語
Section titled “デプロイ用語”Blue-Greenデプロイ
Section titled “Blue-Greenデプロイ”定義: Blue-Greenデプロイは、2つの完全に同じ環境(BlueとGreen)を用意し、トラフィックを切り替えるデプロイ戦略です。
なぜ重要なのか:
- ダウンタイムなし: ダウンタイムなしでデプロイできる
- 簡単なロールバック: 問題があれば即座にロールバックできる
- リスクの最小化: デプロイのリスクを最小化できる
デプロイの流れ:
- Blue環境(現在の本番環境)でサービスを提供
- Green環境(新しいバージョン)を準備
- トラフィックをGreen環境に切り替え
- 問題があればBlue環境に戻す
関連用語:
- Canaryデプロイ
- Rollingデプロイ
- ロールバック
Canaryデプロイ
Section titled “Canaryデプロイ”定義: Canaryデプロイは、新しいバージョンを少数のユーザーに段階的にリリースするデプロイ戦略です。
なぜ重要なのか:
- 段階的なリリース: リスクを最小化しながら新機能をリリースできる
- 問題の早期発見: 問題を早期に発見できる
- ユーザーへの影響最小化: 少数のユーザーにのみ影響する
デプロイの流れ:
- 新しいバージョンを少数のインスタンスにデプロイ
- トラフィックの一部を新しいバージョンにルーティング
- 問題がなければ段階的にトラフィックを増やす
- 問題があれば即座にロールバック
関連用語:
- Blue-Greenデプロイ
- Rollingデプロイ
- 段階的リリース
Rollingデプロイ
Section titled “Rollingデプロイ”定義: Rollingデプロイは、新しいバージョンを段階的にインスタンスにデプロイする戦略です。
なぜ重要なのか:
- ダウンタイムなし: ダウンタイムなしでデプロイできる
- リソース効率: 追加のリソースが不要
- シンプル: 実装が比較的シンプル
デプロイの流れ:
- 新しいバージョンを1つのインスタンスにデプロイ
- ヘルスチェックが成功したら次のインスタンスに
- すべてのインスタンスが更新されるまで繰り返す
- 問題があればロールバック
関連用語:
- Blue-Greenデプロイ
- Canaryデプロイ
- ヘルスチェック
定義: CI/CDは、Continuous Integration(継続的インテグレーション)とContinuous Deployment(継続的デプロイ)の略です。
なぜ重要なのか:
- 開発速度の向上: 自動化により開発速度が向上する
- 品質の向上: 自動テストにより品質が向上する
- リリースの迅速化: リリースが迅速に行える
CI/CDの流れ:
- CI(継続的インテグレーション): コードの統合とテストの自動化
- CD(継続的デプロイ): 自動デプロイ
使用例:
# GitHub Actionsの例name: CI/CDon: [push]jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: npm test deploy: needs: test runs-on: ubuntu-latest steps: - run: npm run deploy関連用語:
- 継続的インテグレーション
- 継続的デプロイ
- 自動化