マルチクラウド戦略と移行
1)なぜマルチクラウドなのか、いつ正当化されるのか
目的:ビジネス継続性(プロバイダー準備)、データ/管轄主権、価値/割引最適化、最高のマネージドサービス(ML/不正防止/分析)へのアクセス。
妥協:オペレーションの複雑さの増加、コンピテンシーの重複、ネットワークの排出コスト。
キー:ポータビリティが必要な場所、および速度/価格のためにベンダーのロックインが許容される場所を事前に決定します。
2)ターゲットアーキテクチャモデル
ポータブルコア:クリティカルコア(API、ドメインサービス、データ)-ポータブル(K8s、 Postgres、 Kafka、 Redis、 MinIO/Vault);周辺-ネイティブ管理。
アクティブアクティブマルチクラウド:2つのクラウドが同時にトラフィックを提供します(困難:データ競合、グローバルルーティング)。
アクティブパッシブ(ホット/ウォーム):1-メイン、2番目-ホット/ウォームDR。
Hybrid: he-prem/part in the clouds(しばしば法的/PII制限のため)。
3)許容パターン
ベース・プラットフォームとしてのKubernetes(別名:EKS/GKE/AKS/on-prem K8s)。
サービスメッシュ(mTLS、トラフィックシフト、局所性/フェイルオーバー;Istio/Linkerd)。
IaC:テラフォーム+モジュラー抽象;K8s-ヘルム/Kustomize+GitOps (Argo/Flux)。
秘密:HashiCorp Vault/External Secrets Operator;KMS/HSM上の抽象化。
リポジトリ:Postgres (operators/Patroni)、 Kafka (operators/MirrorMaker2)、 Redis (sentinel/cluster)、 S3-compatible (MinIO)。
観測可能性:OpenTelemetry+vendor-neutralバックエンド(Prometheus/Tempo/Loki/ClickHouse)。
認証:OIDC/OAuth2 (Keycloak/Auth0/Entra/Google)、統一フェデレーション。
APIレイヤー:Envoy/NGINX/Contour+一般ポリシー(CORS、必須ヘッダー、レート制限)。
4)移行戦略(7R-短い)
Rehost(上昇および転位):速く、リサイクル無し;ステートレス/VM、コストに優れています。
Replatform: K8s/simplifying依存関係への移行(リファクタよりリスクが少ない)。
Refactor/Repurchase:ポータブルパターンの書き換え、またはSaaSサービスに置き換えます。
Retain/Retire:持ち運びに不要なものを放置/廃棄します。
実践:サービスのレジストリ(criticality、 RTO/RPO、 SLO、依存関係)から始め、(ドメイン別に)移行波をコンパイルします。
5)データと一貫性
Replication/CDC: Debezium/log straining for Postgres/MySQL;KafkaはトピックをMirrorMaker2します。
双方向の同期:厳密なidempotencyとversioning keys(ベクトルclock/updated_at)のみ。
重複排除機能を備えたデュアルライト-レコードは、保証された配信のために'Idempotency-Key'/'event_id'+outbox/inboxとマークされます。
所有権の共有:競合を回避するために、キー/テナントごとにリーダー領域/クラウド。
現金:ローカル-地域;global イベント/TTL経由でのみ(強力な一貫性を持つ「共有」グローバルキャッシュはありません)。
6)グローバルトラフィックとネットワーク
GSLB/DNS:レイテンシ/ジオルーティング+ヘルスチェック、カナリア/フェイルオーバーの重み。
ユーザーに近接するためのAnycast/Edge/CDN。次に、最寄りの健康な領域/クラウドに配置します。
ダイレクトチャンネル:Interconnect/ExpressRoute/Directクラウド間/オンプレミス間を接続して、出力/レイテンシを低減します。
クライアントポリシー:短いタイムアウト、指数関数バックオフ+ジッタ、反復リトレイ、書き込み操作のidempotency。
7)安全性とコンプライアンス
どこでもmTLS(メッシュ+SPIFFE/SPIREまたはネイティブPKI)。
KMS/HSM: Vaultによる抽象API;管轄/テナントごとの主要なセグメンテーション。
IAM: Unified Role and Group Model (SCIM/SSO)、 Lest Privilege Policy、 Temporary Credential (STS)。
秘密/回転:トークン/パスワードの自動回転;「長い」静的キーをブロックします。
コンプライアンス:PCI DSS/GDPR-データ常駐、隔離された監査ログ、ジオブロック。
8)観測可能性、SLOおよびエラー予算
すべての雲のRED/USE信号+trails+profiles;シングルログ形式(JSON+'trace_id')
トレースサンプリングテールベース:エラー/p99、セグメントを「クラウド」、「リージョン」、「テナント」で保存します。
クラウド/リージョンごとのSLO+総計;バーンレート(マルチウィンドウ)によるアラート。
カナリアダッシュボード「移行前/移行後」、回帰レポート。
9) CI/CDおよび構成管理
GitOps:画像のアーティファクトは1つです。設定-Helm 値/Kustomizeオーバーレイを介した環境ごと/リージョン。
外部シークレットオペレーター(AWS/GCP/Azureシークレットストアへのブリッジ)によるシークレット。
プロモーションストリーム:dev→staging→canary (クラウドA)→canary (クラウドB)→full。
リリースゲート:交通重量の成長の前のSLO/Synthetic/Contractテストのチェックアウト。
10)費用およびFinOps
クラウド間の排出率、RI/CUD/節約プラン割引、マーケットプレイス・バンドルを考慮してください。
ルール80/20:最大のビジネスリスクの20%のみを転送します。残りはそれがより安く/より容易であるところである。
ダウンサンプリングメトリクス、コールドストレージログ、トレイルの制限(予算対応サンプリング)。
リソースのタグ付け:'env'、 'team'、 'service'、 'tenant'、 'cost_center'-透明な請求のために。
11)移行計画(プレイブック)
11.1準備をする
1.サービス/データ/依存関係のインベントリ;ターゲットRTO/RPO/SLO。
2.モデル(アクティブ-アクティブ-パッシブ)とネットワーク層(GSLB/Anycast)を選択します。
3.ターゲットクラウドでのサンドボックス準備:K8sクラスタ、メッシュ、観測性、秘密。
11.2実行と検証
4.シャドウトラフィック: 販売に影響を与えることなく要求をミラーリング
5.契約テスト(OpenAPI/gRPC/CDC)と主要ルートに沿った合成。
6.CDC/レプリケーション:ホットデータ同期、一貫性の調整。
11.3スイッチング
7.デュアル書き込み(idempotent)ユーザー/テナントの割合が限られています。
8.SLOゲートを使用した段階的なトラフィックのシフト(1%→10%→50%→100%)。
9.ステートフルな凍結/移動;最終的なカットオーバーレンタル;「読み取り専用」の古いループを最後の調整まで保持します。
11.4マイグレーション後
10.監査ログ/ログのチェック、古いスナップショットのアーカイブ、egress/cacheの最適化。
11.ランブックとオンコールトレーニングをアップグレードします。
12) DRおよびフォールトトレランス試験
GameDay:クラウド/リージョン全体を切断する。実際のRTO/RPOの測定。
カオスインジェクション:パッケージの損失/クロスリンク遅延の増加、ブローカー/ベースドロップ。
自動劣化フラグ:「高価な」機能を無効にし「、stale-while-revalidate」キャッシュに切り替えます。
13) Antipatterns
データ所有権契約のないアクティブな「クリーン」→競合/重複。
強力な一貫性を持つ共有グローバルキャッシュ-レイテンシ/混雑。
idempotency→repeated write-offs/ordersなしで再送信します。
クラウド内の異なるログ/トレース形式-相関の損失。
単一のIAM/シークレットモデルがない。
波とゲートのない「一気に」移住。
14) iGaming/Financeの詳細
管轄区域とデータレジデンシー:PII/決済ログは「国/地域内」のまま、クロスクラウド-集計/匿名のみ。
決済プロバイダ:複数のPSPとクラウド/地域によるスマートルーティング。webhooks-重複排除のグローバルブローカーを通じて。
制裁/コンプライアンスフィルタ:地域プロファイル;許可されたPSPの高速フェイルオーバー。
一般の上のSLO「マネーパス」;プロバイダ/リージョンごとに個別のアラート/デッシュボード。
監査:不変のトランザクションログ、2つの独立したストレージへの同期書き込み(WORM/S3オブジェクトロック)。
15) Prod Readinessチェックリスト
- 選択されたターゲットモデル(ポータブルコア/アクティブアクティブ/スタンバイ);RTO/RPO/SLOについて説明します。
- IaC/GitOps: モジュラーテラフォーム/ヘルム/Kustomize;単一の網および保証方針。
- Observability:すべてのメディアにおけるOTel;ログの一般的なフォーマット;エラー/p99によるテールサンプリング。
- データ:CDC構成;dual-writeはidempotentです。紛争解決計画があります。
- GSLB/DNS/Anycastのヘルスチェック;SLOゲートで段階的なトラフィックのシフト。
- 秘密とKMS: Vaultによる抽象化;回転;地域ごとの区分。
- FinOps:値モデル、出力制限、タグおよびクォータ;コストレポート。
- DR演習を実施;実際のRTO/RPOは、更新されたランブックを測定しました。
- API/イベントコントラクトは両方のクラウドで検証されます。Webhookの監視。
- iGaming/Financeの場合:データレジデンシー、マルチPSPルーティング、WORMログ。
16) TL;DR(ドクター)
ポータブルコア(K8s+IaC+mesh+OTel+Vault)を構築し、RTO/RPO/SLOビジネス目標とコストのマルチクラウドパターンを選択します。shadow-traffic→CDC→dual-write→SLOゲートでフェーズトラフィックの転送を行います。idempotencyとoutbox/inbox、 GSLB/Anycast経由のトラフィック、mTLS/KMS/Vault経由のセキュリティでデータを管理します。iGaming-厳格なデータレジデンシーと複数のPSPルールでは、「お金」パスのSLOを分離します。