Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ソフトバンクaPaaS領域への挑戦

 ソフトバンクaPaaS領域への挑戦

ソフトバンクaPaaS領域への挑戦
~クラウドネイティブ・アプリケーションプラットフォーム(CNAP)で実現する、開発スピードUPと安定運用の両立
発表者
野口 雅史(ソフトバンク株式会社)

初出イベント:
SB Tech Night #8 SoftBank World Special
2022/07/28(木)18:30 〜 20:30
https://sbtechnight.connpass.com/event/249395/

61c616e83bef28a1cd2666439ebf334b?s=128

SB Tech Night

July 29, 2022
Tweet

More Decks by SB Tech Night

Other Decks in Technology

Transcript

  1. 1 クラウドネイティブ・アプリケーションプラットフォーム(CNAP) で実現する DevOpsライフサイクルの⾼速化

  2. ⾃⼰紹介 • 前職ではネットワークとセキュリティを軸に、インフラアー キテクトとして活動。 • 現在はDevOpsエンジニアとして、Kubernetesを活⽤ したマルチクラウドのコンテナ基盤である、クラウドネイティ ブ・アプリケーションプラットフォーム(CNAP)の開発を 担当。 2

    野⼝ 雅史 (Noguchi Masashi)
  3. 3 ビジネス成功の条件とは DevOpsライフサイクルを⾼速回転させること クラウドネイティブな世界において、インフラはどう在るべきか︖ App Kubernetes コンテナを利⽤する場合、 「誰がインフラを構築し、 どういうプロセスで運⽤するのか」 明確に決まってない。。

  4. 4 インフラのゴールは 「セルフサービス」 ステージ1|標準的なOSセットにデプロイしている ステージ2|標準化された技術セットを使って構築 ステージ3|本番デプロイ前にテストされている ステージ4|インフラの⾃動化 • システム設定、プロビジョニングの⾃動化 •

    セキュリティポリシー設定の⾃動化 ステージ5|セルフサービス • リソースは開発者⾃ら利⽤可能 • インシデント対応は⾃動化 ※state-of-devops-report の DevOps成熟度モデルより⼀部改変。 容易に調整可能なテンプレ化により、 アプリ開発者にセルフサービスで提供される クラウド、Kubernetesの利⽤、 ⾃動化ツールの適⽤、インフラのコード化
  5. 5 Internet DNS Node Node Node GIP Kubernetes Managed Service

    LB Prod/Staging API(制御プレーン) Portal API (ResourceManager) アプリ開発者 ステージ1〜3 のインフラ例
  6. 6 ステージ4 のインフラ例 | インフラの⾃動化 Internet DNS Node Node Node

    GIP Kubernetes Managed Service LB External DNS Cert Manager ・・・ ・・・ Prod/Staging API(制御プレーン) Portal API (ResourceManager) アプリ開発者 Prometheus GitOpsによる デプロイの⾃動化 Pod間の暗号化、リリース戦略の⾃動化 のためのToolインストール 運⽤⾃動化のためのPod作成 (DNSレコード登録、TLS証明書取得)
  7. 7 ステージ5 のインフラ例 | セルフサービス Internet DNS Node Node Node

    GIP Kubernetes Managed Service LB ・・・ ・・・ Prod/Staging Portal API (ResourceManager) アプリ開発者 Prometheus 1000⾏のコード → 30⾏のコード 1000⾏のコードに戻す コードの抽象化により 学習コスト⼤幅削減 External DNS Cert Manager パッケージ
  8. 8 Internet DNS Node Node Node GIP Kubernetes Managed Service

    LB Portal API (ResourceManager) Prometheus Prod/Staging アプリ開発者 API(制御プレーン) パッケージ適⽤前の状態 External DNS Cert Manager
  9. 9 Internet DNS Node Node Node GIP Kubernetes Managed Service

    LB Portal Prometheus Prod/Staging アプリ開発者 Deployment パッケージ (30⾏のコード) Virtual Service Destination Rule Service Deploy ment PodDisruption Budget HPA Service Account Pod API (ResourceManager) API(制御プレーン) Kubernetesでアプリを動作させたい場合 External DNS Cert Manager
  10. 10 Internet DNS Node Node Node GIP Kubernetes Managed Service

    LB Portal Prometheus Prod/Staging アプリ開発者 Virtual Service Destination Rule Service Deploy ment PodDisruption Budget HPA Service Account Pod Deployment パッケージ + RDB パッケージ (30⾏のコード) Config Map Job 作成 権限付与 Kubernetes + DBはマネージドサービスを利⽤したい 場合 RDB External DNS Cert Manager
  11. 11 Internet DNS Node Node Node GIP Kubernetes Managed Service

    LB Portal Prometheus Prod/Staging アプリ開発者 Virtual Service Destination Rule Service Deploy ment PodDisruption Budget HPA Service Account Pod Deployment パッケージ + RDB パッケージ + Vault パッケージ (30⾏のコード) Config Map Job 作成 権限付与 Kubernetes + DBはマネージドサービス + パスワードはキー管理システムを利⽤ Secret Manager RDB Secret Store External Secret 認証 取得 3⼤クラウド、ほぼ同じ コードで構築可能 External DNS Cert Manager
  12. 12 CNAPとは、ステージ5 セルフサービス のインフラを量産、集中管理する仕組み ・・・・ CNAP 開発チーム クラウドネイティブ・アプリケーションプラットフォーム(CNAP) ステージ5の インフラ構築⾃動化、

    集中管理 Kubernetes、OSS⾃動化 ツール群を集中管理 ユーザー利⽤パッケージの ユースケースを常にアップデート お客さまA お客さまB お客さまC