Section 4: 技術ビジネスプロセス分析 — 🔧 応用編
対象: 実務 3-5 年・GCP 経験あり / CI/CD 設計・DORA・DR パターン・組織変革 を体系化したい人。
目標: 試験で問われる「プロセス設計と組織判断」を高精度で出せるようになる。
1. SDLC モデルの選定判断
モデル別の適性
| モデル |
強み |
弱み |
適すケース |
| Waterfall |
計画明確、コスト読みやすい |
変化に弱い |
規制業界(医療・金融)、ハードウェア統合 |
| Agile (Scrum) |
変化に強い、フィードバック早い |
ドキュメント弱い |
Web/モバイル、SaaS |
| DevOps |
デリバリ速度、品質両立 |
文化変革が必要 |
クラウドネイティブ |
| SRE |
信頼性定量化、自動化推進 |
組織成熟度必要 |
大規模サービス、グローバル |
Shift Left の概念
テスト・セキュリティを開発の早期段階に組み込む 考え方。
従来(Right):
要件 → 設計 → 実装 → 【テスト】 → 【セキュリティ】 → リリース
↑問題発覚時の修正コスト大
Shift Left:
要件 → 設計 →【テスト計画】【セキュリティ】→ 実装(自動テスト)→ リリース
↑早期発見で修正コスト小
AWS / Azure との比較
| 概念 |
GCP |
AWS |
Azure |
| CI |
Cloud Build |
CodeBuild |
Azure Pipelines (Build) |
| アーティファクト |
Artifact Registry |
ECR / CodeArtifact |
ACR / Artifacts |
| CD |
Cloud Deploy |
CodeDeploy / CodePipeline |
Azure Pipelines (Release) |
| Git |
Cloud Source Repositories |
CodeCommit |
Azure Repos |
| マネージドサービスカタログ |
Service Catalog |
Service Catalog |
Service Catalog |
2. CI/CD パイプライン設計の深掘り
Cloud Build の機能と制約
| 項目 |
内容 |
| 並列実行 |
最大 30 同時ビルド(デフォルト、増減可) |
| ビルド時間 |
デフォルト 60 分、最大 24 時間 |
| マシンタイプ |
E2、N1(Standard)/ High-CPU / High-Memory |
| Private Pool |
VPC 内で実行(プライベートリソースアクセス) |
| トリガー |
Git push、Pub/Sub、手動、cron |
| 認証 |
Workload Identity Federation(鍵管理不要) |
Cloud Deploy のデプロイ戦略
| 戦略 |
内容 |
用途 |
| Standard |
全インスタンス一括更新 |
開発・小規模 |
| Canary |
一部(10% → 50% → 100%)に段階リリース |
本番リリース |
| Blue/Green |
旧版と新版を並行稼働、切替で全量更新 |
ダウンタイム最小化 |
| Progressive |
自動メトリクス監視つきカナリア |
高度な本番運用 |
Cloud Deploy 構造
# clouddeploy.yaml
apiVersion: deploy.cloud.google.com/v1
kind: DeliveryPipeline
metadata:
name: my-pipeline
serialPipeline:
stages:
- targetId: dev
- targetId: staging
- targetId: prod
strategy:
canary:
runtimeConfig:
kubernetes:
serviceNetworking:
service: "my-svc"
canaryDeployment:
percentages: [10, 50]
Binary Authorization(重要)
未承認・未署名イメージのデプロイを防ぐ ガードレール。
[ビルド] ── 署名 (Attestation) ──→ [Artifact Registry]
↓
[GKE / Cloud Run]
↓
Binary Authorization が
署名検証 ── 失敗 → デプロイ拒否
── 成功 → デプロイ許可
ポリシー例:
- 本番環境では 2 個以上のアテステーション必須(ビルド + 脆弱性スキャン合格)
- 開発環境は緩く
GitOps パターン
[Git] ── 宣言(YAML) ──→ [Config Sync / ArgoCD] ──→ [GKE Cluster]
↑ ↓
←──────── PR でロールバック ──────────────── ドリフト検知
- Config Sync: GCP 純正、Anthos / GKE Enterprise 用
- ArgoCD: OSS、汎用 K8s
3. DORA メトリクス(重要・頻出)
DevOps Research and Assessment が定義する 4 つの主要メトリクス。
4 メトリクス
| メトリクス |
定義 |
Elite |
High |
Medium |
Low |
| Deployment Frequency(デプロイ頻度) |
本番リリースの頻度 |
オンデマンド(>1/日) |
1/日 〜 1/週 |
1/週 〜 1/月 |
<1/月 |
| Lead Time for Changes(変更リードタイム) |
コミット → 本番までの時間 |
<1 時間 |
<1 日 |
1 日 〜 1 週 |
>1 週 |
| Mean Time to Restore(MTTR) |
障害発生 → 復旧までの平均時間 |
<1 時間 |
<1 日 |
1 日 〜 1 週 |
>1 週 |
| Change Failure Rate(CFR) |
リリース後に障害となる割合 |
0-15% |
16-30% |
16-30% |
46-60% |
改善方法
| メトリクス |
改善アプローチ |
| Deployment Frequency 向上 |
CI/CD 自動化、小さなバッチサイズ、Feature Flags |
| Lead Time 短縮 |
ビルド・テスト並列化、自動デプロイ、承認自動化 |
| MTTR 短縮 |
Runbook 整備、自動ロールバック、観測可能性強化 |
| CFR 低下 |
テスト自動化、カナリアデプロイ、Progressive Delivery |
DORA 補足メトリクス(最近追加)
- Reliability: SLO 達成度
- Code Review Speed: PR から承認までの時間
- Documentation Quality: ドキュメントの最新性
- Developer Experience: 開発者満足度
4. テスト戦略の詳細
テストピラミッド vs テストトロフィー
テストピラミッド(古典) テストトロフィー(Kent C. Dodds)
/\ ___
/E2E\ /E2E\
/------\ /-----\
/ 結合 \ / 結合 \ ← 重視
/--------\ /---------\
/ 単体 \ / 単体 \
/----------\ /------------\
/ 静的解析 \ ← 重視
/---------------\
Chaos Engineering(カオスエンジニアリング)
Netflix の Chaos Monkey が起源。意図的に障害を起こして耐性を検証 する手法。
| ツール |
内容 |
| Chaos Monkey |
ランダムに VM を停止 |
| Litmus / Chaos Mesh |
K8s ネイティブのカオスツール |
| Gremlin |
商用のカオスプラットフォーム |
IaC のテスト
| 階層 |
ツール |
内容 |
| 構文 |
terraform fmt, terraform validate |
構文・型チェック |
| 静的解析 |
tflint, checkov, tfsec |
セキュリティ・ベストプラクティス |
| Plan 検証 |
terraform plan, Conftest, OPA |
ドリフト、ポリシー違反 |
| 統合テスト |
Terratest, Kitchen-Terraform |
実環境でのデプロイ確認 |
| コンプライアンス |
InSpec, Config Validator |
規制適合 |
Config Validator / Policy as Code
GCP 環境のリソースが ポリシーに違反していないか を自動チェック。
[Terraform Plan] ──→ [Config Validator] ──→ ✓/✗
↓ ポリシー
constraints/
├── no_public_ip.yaml
├── encrypt_disk.yaml
└── allowed_locations.yaml
5. RCA とポストモーテム文化
良い Postmortem の要素
| 要素 |
内容 |
| タイムライン |
何が、いつ、どの順で起きたか |
| 影響 |
何人/どの機能が影響を受けたか、規模 |
| 検知方法 |
何で気づいたか(アラート / 顧客報告) |
| 緩和策 |
どう被害を最小化したか |
| 根本原因 |
何が悪かったか(プロセス / 技術) |
| トリガー |
何が引き金になったか |
| アクション項目 |
再発防止策(Owner、期限つき) |
Google 流 SRE の信条
- エラーバジェット: SLO に未到達分をリリース速度に振り向ける
- Toil の削減: 繰り返し作業を自動化
- Blameless: 個人を責めずプロセスを直す
- Production Readiness Review (PRR): 本番投入前のチェックリスト
- DiRT(Disaster Recovery Testing): 計画的障害訓練
6. DR 戦略の詳細設計
DR パターン詳細
Backup & Restore
本番リージョン DR リージョン(停止中)
┌──────────┐ ┌──────────┐
│ App │ │ (停止) │
│ DB ────→│ Snapshot ──→ │ GCS バックアップ │
└──────────┘ └──────────┘
障害時: バックアップから手動で復旧(数時間)
- RTO: 数時間〜数日、RPO: バックアップ間隔
- 例: Cloud SQL の自動バックアップ + Cloud Storage に保管
Pilot Light
本番リージョン DR リージョン(最小起動)
┌──────────┐ ┌──────────┐
│ App │ │ DB Replica │ ← 常時同期
│ DB ────→│ Replication →│ │
└──────────┘ └──────────┘
障害時: アプリ層を起動(数十分)
- RTO: 数十分、RPO: 数分〜時間
- DB だけ常時同期、アプリは停止状態でリソース節約
Warm Standby
本番リージョン DR リージョン(縮小起動)
┌──────────┐ ┌──────────┐
│ App x10 │ │ App x2 │ ← 常時稼働
│ DB │←── 同期 ──→ │ DB │
└──────────┘ └──────────┘
障害時: スケールアップ(数分)
Hot Standby (Active-Active)
本番リージョン DR リージョン
┌──────────┐ ┌──────────┐
│ App x10 │←── Global LB →│ App x10 │
│ DB │←── 同期 ──→ │ DB │
└──────────┘ └──────────┘
障害時: LB が自動でトラフィック切替(数秒)
- RTO: 数秒、RPO: ほぼ 0
- 例: Spanner Multi-region + Global LB + GKE Multi-cluster
サービス別 DR 機能
| サービス |
DR 機能 |
RPO |
| Cloud SQL |
PITR + Cross-region Read Replica |
数秒(PITR) |
| Spanner Multi-region |
5 ノード以上で 99.999% SLA、強整合性 |
0(同期レプリケーション) |
| Cloud Storage(Multi-region) |
リージョン跨ぎ自動レプリケーション |
ほぼリアルタイム |
| BigQuery |
リージョン内冗長、Cross-region データセット コピー |
数時間 |
| Bigtable |
App Profile + Cluster ルーティング |
数秒〜分 |
| Persistent Disk |
Region PD(同期)、Snapshot Schedule |
数分〜時間 |
| GKE |
Multi-cluster + Backup for GKE |
設定次第 |
DR テスト(DiRT)
実際にフェイルオーバーを定期実施 して計画の有効性を検証。
| 種類 |
内容 |
| Tabletop Exercise |
机上演習、シナリオを口頭で確認 |
| Partial Failover |
一部システムだけ切替 |
| Full Failover |
本番を DR リージョンに切替 |
| Game Day |
故意に障害を起こして対応訓練 |
7. Service Catalog の応用
組織への導入パターン
Cloud Identity / Workspace
↓
組織 (Organization)
├── フォルダ: 本社
│ └── プロジェクト群
└── フォルダ: 部門 A
└── 部門用 Service Catalog ← 部門固有テンプレート
└── プロジェクト群
組織レベル Service Catalog ── 全社共通テンプレート
コンテンツの種類
| 種類 |
内容 |
例 |
| Deployment Manager Template |
リソース構成 |
標準 GKE クラスタ |
| Terraform Module |
IaC モジュール |
承認済み VPC 設計 |
| Marketplace Solution |
サードパーティ製品 |
社内承認済み MongoDB |
| Document |
URL / PDF |
利用ガイド |
統制とガバナンス
- 承認フロー: 管理者がレビュー → 公開
- アクセス制御: IAM で公開先(組織/フォルダ/プロジェクト)を制御
- バージョン管理: テンプレート更新時に旧版も保持
8. ステークホルダー管理の応用
戦略的なステークホルダー分析
Salience Model(顕著性モデル)
3 軸でステークホルダーを分類:
- Power(影響力)
- Legitimacy(正当性)
- Urgency(緊急性)
3 軸全て持つ ─→ Definitive(最優先対応)
2 軸 ─→ Expectant(期待される対応)
1 軸 ─→ Latent(潜在的、軽く対応)
Influence Strategy
| 状況 |
アプローチ |
| 反対勢力が強い |
One-on-One で個別説得、共通利害を見つける |
| 中立層が大半 |
データと事例で説得 |
| 支持層 |
早期に味方化、推進力に |
コミュニケーション計画
| 役割 |
頻度 |
内容 |
媒体 |
| 経営層 |
月次 |
KPI、ROI、リスク |
報告書、役員会 |
| プロジェクトメンバー |
毎日 |
タスク進捗、課題 |
デイリースタンドアップ |
| 部門横断 |
週次 |
マイルストーン、依存関係 |
ステコミ会議 |
| 一般ユーザー |
随時 |
機能変更、利用ガイド |
メール、社内ポータル |
9. 変更管理の応用
ADKAR の各段階での施策
| 段階 |
課題 |
施策例(GCP 移行プロジェクト) |
| A: Awareness |
なぜ変化が必要かわからない |
経営層からの宣言、競合事例の共有 |
| D: Desire |
やる気にならない |
早期参加メリット提示、表彰制度 |
| K: Knowledge |
何をすべきかわからない |
GCP 認定トレーニング、ハンズオン |
| A: Ability |
できない |
ペアプロ、メンター制度、サンドボックス環境 |
| R: Reinforcement |
元に戻る |
成功事例の共有、KPI 連動 |
Kotter 8 Step の現場応用
| ステップ |
例 |
| 1. 危機感 |
「3 年後にオンプレ EOL、対応必須」 |
| 2. 推進チーム |
クラウド推進室(5 名、各部門代表) |
| 3. ビジョン |
「2 年でフルクラウド、デプロイ速度 10 倍」 |
| 4. 共有 |
全社タウンホール、社内ポータル |
| 5. 障害除去 |
旧プロセス廃止、予算配分変更 |
| 6. 短期成功 |
パイロット部門で 3 ヶ月で成果報告 |
| 7. 追加変革 |
他部門展開、追加自動化投資 |
| 8. 定着 |
評価制度連動、新人研修に組込 |
抵抗を減らすコミュニケーション
| 抵抗タイプ |
原因 |
対処 |
| 失職への不安 |
スキル陳腐化を懸念 |
研修提供、配置転換 |
| 慣れた業務の喪失 |
既存業務へのプライド |
既存業務の価値を認め、新業務に意義付け |
| 技術への不信 |
知らないものへの恐れ |
デモ、PoC、サンドボックス |
| マネジメント不信 |
過去の失敗体験 |
透明性、約束遵守、小さな成功積み上げ |
10. 意思決定プロセス(RAPID 等)
RAPID モデル
意思決定の役割を 5 つに分けるフレームワーク(Bain & Co.)。
| 略 |
役割 |
内容 |
| R |
Recommend |
推奨案を作成 |
| A |
Agree |
推奨案に同意(拒否権あり) |
| P |
Perform |
決定後に実行 |
| I |
Input |
情報を提供 |
| D |
Decide |
最終決定 |
RAPID 例(マルチクラウド戦略決定)
| 役割 |
担当 |
| R |
クラウドアーキ |
| A |
セキュリティ部門 |
| P |
DevOps チーム |
| I |
各事業部門 |
| D |
CTO |
意思決定スピード
| 種類 |
特徴 |
| Consensus(全員合意) |
遅いが定着率高 |
| Consultative(協議型) |
中庸、現実的 |
| Authoritative(権威型) |
速いが反発リスク |
| Delegative(委任型) |
速いが責任分散 |
Disagree and Commit(Amazon 流)
反対しても、決まったら全力でコミット する文化。意思決定スピードと実行力を両立。
11. カスタマーサクセスマネジメント
Customer Success の役割
営業(販売) ──→ オンボーディング ──→ 活用支援 ──→ 拡大販売
↑ ↑ ↑
セットアップ ヘルスチェック アップセル/クロスセル
(Customer Success Manager)
重要指標
| 指標 |
内容 |
| NRR(Net Revenue Retention) |
既存顧客の収益維持率(>100% で拡大) |
| Churn Rate(解約率) |
一定期間の解約割合 |
| NPS(Net Promoter Score) |
推奨意向スコア |
| Time to Value (TTV) |
顧客が価値を実感するまでの時間 |
| Adoption Rate |
機能の利用率 |
GCP のカスタマーサクセス支援
| サービス |
内容 |
| Customer Care Plans(Standard / Enhanced / Premium) |
サポートレベル |
| TAM(Technical Account Manager) |
Premium で専任 |
| Customer Engineer (CE) |
提案 / PoC 支援 |
| Professional Services |
設計・移行コンサルティング |
12. コスト最適化の応用
階層別コスト最適化
1. アーキテクチャ層
- サーバーレス優先(リソース最小)
- マネージドサービス活用(運用コスト削減)
- リージョン選定(北米は安い)
2. リソース層
- Right-sizing(Recommender)
- Spot VMs(バッチ)
- Custom Machine Type
- Hyperdisk(旧 SSD より割安)
3. 課金モデル層
- Committed Use Discounts
- Sustained Use Discounts(自動)
- BigQuery Editions / Slot Reservations
- Cloud Storage Autoclass
4. 運用層
- Billing Budgets / Alerts
- Cost Anomaly Detection
- Idle リソース削除(Recommender / Active Assist)
- タグ付け(Labels)でコスト追跡
5. 組織層
- チャージバック / ショーバック
- FinOps チーム設立
- Cloud Quotas / Budgets で部門制限
Committed Use Discounts (CUD)
| 種類 |
対象 |
割引率 |
| Resource-based CUDs |
特定 VM タイプ・リージョン |
1 年 30% / 3 年 55% |
| Spend-based CUDs |
金額コミット(柔軟) |
1 年 28% / 3 年 46% |
| Flexible CUDs |
リージョン跨ぎ、ファミリー跨ぎ可 |
中間水準 |
Cost Anomaly Detection / FinOps
| 概念 |
内容 |
| FinOps |
Cloud Financial Operations、コスト管理の組織文化 |
| Showback |
部門別コストの「見える化」(請求はしない) |
| Chargeback |
部門別に実費請求 |
| Cost Anomaly Detection |
AI で異常コストパターンを検知 |
Carbon Footprint
GCP の カーボン排出量を可視化 する Carbon Footprint レポート。
- リージョン別の Grid Carbon Intensity 開示
- 24/7 Carbon-Free Energy リージョン(finland, taiwan, 等)
13. 実践ケーススタディ
ケース 1: CI/CD 設計(製造業の Web サイト刷新)
要件:
- 月 1 回リリース → デイリーリリース にしたい
- 規制対応で 本番デプロイは承認必須
- 既存のオンプレ Jenkins からの脱却
選択:
- Cloud Build(CI、Jenkins と並走移行可能)
- Artifact Registry(コンテナイメージ管理)
- Cloud Deploy(dev → stg → prod、prod は承認ゲート)
- Binary Authorization(本番には署名済みのみ)
- DORA メトリクス測定でリリース頻度 / Lead Time を可視化
ケース 2: DR 設計(決済システム)
要件:
- RTO 30 秒以内、RPO ほぼ 0
- 規制で関東・関西で地理冗長必須
- コストは無制限ではない
選択:
- Spanner Multi-region (asia)(強整合性、99.999% SLA)
- GKE Multi-cluster(asia-northeast1 + asia-northeast2)
- Global External Application LB(自動フェイルオーバー)
- 月次 DiRT 訓練
ケース 3: 組織変革(メインフレーム → クラウド)
要件:
- 300 人の COBOL 開発者がいる
- 3 年で全システム GCP 移行
- 反対勢力多数
選択:
- Kotter Step 1-2: 経営層から「3 年後 EOL」宣言、推進室設立
- ADKAR:
- A: 全社タウンホール、競合事例共有
- D: 早期参加者にインセンティブ
- K: GCP 認定トレーニング、ベンダー集合研修
- A: メンター制度、サンドボックス環境
- R: 評価制度連動、Success Story 共有
- 6R 戦略: Rehost → Replatform 段階移行
- Service Catalog: 標準テンプレート提供で開発者の学習コスト低減
14. 章末まとめ
必ず覚える「プロセス選定パターン」
| 要件 |
デフォルト解 |
| 高頻度自動デプロイ |
Cloud Build + Artifact Registry + Cloud Deploy |
| 本番デプロイ承認制 |
Cloud Deploy + 承認ゲート + Binary Authorization |
| 障害根本原因分析 |
5 Whys + Blameless Postmortem |
| DR で許容停止 4 時間 |
Pilot Light or Warm Standby |
| DR で許容停止数秒 |
Hot Standby(Spanner Multi-region + Global LB) |
| データ損失ゼロ |
Synchronous Replication(Spanner / Region PD) |
| 役割分担明確化 |
RACI マトリクス |
| 組織変革推進 |
ADKAR モデル + Kotter 8 Step |
| 意思決定構造化 |
RAPID |
| 30-55% コスト削減 |
Committed Use Discounts |
| バッチ最大 91% 割引 |
Spot VMs |
| 社内承認済みテンプレート |
Service Catalog |
| サードパーティ製品 |
Marketplace |
| 統合バックアップ |
Backup and DR Service |
| ポリシー違反検知 |
Config Validator / OPA |
次のステップ