DevOpsは開発(Development)と運用(Operations)を統合してソフトウェアを高速にデリバリーするための考え方・実践です。エンジニアとして必須の知識です。
DevOpsとは?
- 開発チームと運用チームの壁を取り除く文化・手法
- 頻繁に小さな変更をデプロイして品質を高める
- 自動化(テスト・ビルド・デプロイ)でヒューマンエラーを減らす
- 主要ツール:Docker・Kubernetes・CI/CDツール・Terraform
CI/CD とは
| 用語 | 意味 | 内容 |
|---|---|---|
| CI(継続的インテグレーション) | Continuous Integration | コードをマージするたびにテスト・ビルドを自動実行 |
| CD(継続的デリバリー) | Continuous Delivery | テスト通過後に本番環境に自動デプロイできる状態 |
| CD(継続的デプロイメント) | Continuous Deployment | テスト通過後に自動で本番にデプロイ |
GitHub ActionsでのシンプルなCI設定
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Node.jsのセットアップ
uses: actions/setup-node@v4
with:
node-version: '20'
- name: 依存関係のインストール
run: npm ci
- name: テスト実行
run: npm test
- name: ビルド確認
run: npm run build
自動デプロイ(Vercelへの連携例)
# .github/workflows/deploy.yml
name: Deploy to Vercel
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Vercelにデプロイ
run: npx vercel --prod --token ${{ secrets.VERCEL_TOKEN }}
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
DevOpsで使われる主要ツール
- CI/CD:GitHub Actions・CircleCI・GitLab CI
- コンテナ:Docker・Kubernetes
- IaC(コードでインフラ管理):Terraform・Ansible
- 監視:Datadog・Prometheus・Grafana
- ログ管理:Elasticsearch・Fluentd・Kibana(EFKスタック)
DevOpsエンジニアのキャリアと年収
| レベル | 年収目安 |
|---|---|
| DevOps初級(自動化できる) | 500〜650万円 |
| DevOps中級(k8s・Terraform活用) | 700〜900万円 |
| DevOps上級(アーキテクト設計) | 900〜1,500万円 |
まとめ
DevOpsはGitHub Actions→Docker→Kubernetes→Terraformの順で学ぶのが最短ルートです。CI/CDを自分のプロジェクトに組み込んで実際に動かしてみることが理解の近道です。
📚 プログラミング初心者におすすめの本