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/

SoftBank Tech Night
PRO

July 29, 2022
Tweet

More Decks by SoftBank Tech Night

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. 4
    インフラのゴールは 「セルフサービス」
    ステージ1|標準的なOSセットにデプロイしている
    ステージ2|標準化された技術セットを使って構築
    ステージ3|本番デプロイ前にテストされている
    ステージ4|インフラの⾃動化
    • システム設定、プロビジョニングの⾃動化
    • セキュリティポリシー設定の⾃動化
    ステージ5|セルフサービス
    • リソースは開発者⾃ら利⽤可能
    • インシデント対応は⾃動化
    ※state-of-devops-report の DevOps成熟度モデルより⼀部改変。
    容易に調整可能なテンプレ化により、
    アプリ開発者にセルフサービスで提供される
    クラウド、Kubernetesの利⽤、
    ⾃動化ツールの適⽤、インフラのコード化

    View Slide

  5. 5
    Internet
    DNS
    Node
    Node
    Node
    GIP
    Kubernetes
    Managed Service
    LB
    Prod/Staging
    API(制御プレーン)
    Portal
    API (ResourceManager)
    アプリ開発者
    ステージ1〜3 のインフラ例

    View Slide

  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証明書取得)

    View Slide

  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
    パッケージ

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  12. 12
    CNAPとは、ステージ5 セルフサービス のインフラを量産、集中管理する仕組み
    ・・・・
    CNAP
    開発チーム
    クラウドネイティブ・アプリケーションプラットフォーム(CNAP)
    ステージ5の
    インフラ構築⾃動化、
    集中管理
    Kubernetes、OSS⾃動化
    ツール群を集中管理
    ユーザー利⽤パッケージの
    ユースケースを常にアップデート
    お客さまA お客さまB お客さまC

    View Slide