DevOpsエンジニアが知るべき必須用語:IaC・GitOps・Kubernetes・可観測性まとめ
概要¶
DevOps エンジニアとして理解しておくべき基本用語の一覧。
詳細¶
コアコンセプト¶
| 用語 | 定義 | 具体的なツール |
|---|---|---|
| IaC(Infrastructure as Code) | サーバー・ネットワーク設定をコードで管理する | Terraform, Pulumi, AWS CDK |
| GitOps | Git リポジトリをインフラ状態の「唯一の真実」として扱う運用手法 | ArgoCD, Flux |
| Kubernetes (K8s) | コンテナのオーケストレーション(スケール・デプロイ・自己修復) | EKS, GKE, AKS |
| CI/CD | コードの変更を自動でテスト・ビルド・デプロイするパイプライン | GitHub Actions, Jenkins |
可観測性(Observability)の三本柱¶
Metrics → 数値の時系列データ(CPU使用率、リクエスト数) → Prometheus, Datadog
Logs → テキスト形式のイベント記録 → Loki, CloudWatch
Traces → リクエストの分散トレーシング(マイクロサービス間の追跡) → Jaeger, OpenTelemetry
デプロイ戦略¶
Blue/Green → 本番(Blue)と新バージョン(Green)を並走させ一括切り替え
リスク: デプロイコストが2倍
メリット: 即時ロールバック可能
Canary → トラフィックの5-10%だけ新バージョンに流す
リスク: 一部ユーザーが影響を受ける
メリット: 問題を早期に小さい規模で検出
Rolling → 古いインスタンスを少しずつ新しいものに置き換える
リスク: 切り替え中に新旧が混在する
メリット: ゼロダウンタイム
SRE 関連¶
SLI (Service Level Indicator) → 計測値(例: リクエスト成功率 99.5%)
SLO (Service Level Objective) → 目標値(例: 成功率 99.9% 以上)
SLA (Service Level Agreement) → 契約上の保証(例: 99.9% を下回ったら返金)
Error Budget → SLO から許容される障害の余裕(1-0.999=0.1%)
なぜ重要か / いつ使うか¶
- DevOps/SRE ポジションの面接準備
- インフラ設計の議論でチームと共通言語を持つとき
- 既存システムの運用改善方針を考えるとき