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

Mapboxアプリケーションのアーキテクチャと運用 〜CNAPで実現するインフラのローコード化〜

Mapboxアプリケーションのアーキテクチャと運用 〜CNAPで実現するインフラのローコード化〜

2023年7月24日に開催したソフトバンク×Mapbox特別共催セミナーの登壇内容です。
登壇者:ソフトバンク株式会社様

マップボックスの登壇資料はこちら:
https://speakerdeck.com/mapbox_jp/24semina-dezitarudi-tu-huo-yong-nobi-yao-xing-zui-xin-ye-jie-bie-shi-li-nogoshao-jie

Mapbox Japan

July 26, 2023
Tweet

More Decks by Mapbox Japan

Other Decks in Business

Transcript

  1. © SoftBank Corp. All Rights Reserved. 3 • ソフトバンクのMapboxを使った事例紹介 •

    アプリケーションのアーキテクチャ・運⽤について • クラウドネイティブアプリケーションプラットフォーム(CNAP)について アジェンダ
  2. © SoftBank Corp. All Rights Reserved. 5 掛川市 MaaS 実証実験の事例

    ⾃動運転バスを乗⾞予約し、顔認証して乗⾞できるサービス バスに搭載されたセンサからリアルタイムな位置情報を取得してMapbox上に表⽰
  3. © SoftBank Corp. All Rights Reserved. 8 アプリケーションのアーキテクチャ バックエンド フロントエンド

    地図表⽰ バスの位置表⽰ 地点検索 地点検索API API群 画像マッピングAPI 地図⽣成API 位置情報 取得機能 位置情報 データベース 地図機能 その他機能 ユーザ企業 mapbox
  4. © SoftBank Corp. All Rights Reserved. 9 アプリケーションの運⽤ GITOPS ユーザリポジトリと連携した

    リソースの⾃動デプロイ設定 MONITORING システムの監視、ロギングの 設定・統合 Security アプリケーションの権限制御 ID連携機能 実際の運⽤を考えると機能以外にもさまざまな要素が必要になる IaC アプリケーションだけではなく インフラもコード化 ユーザ企業の責任範囲
  5. © SoftBank Corp. All Rights Reserved. 10 アプリケーションを運⽤する上での課題 バックエンド フロントエンド

    ・・・ 〇〇サービス ・ 運⽤の効率性が低下 ・ サービス間の連携が困難 ・ セキュリティの⼀貫性の⽋如 しかし・・ 個々のサービスが独⾃のインフラや運⽤フローであることが多い 企業には多数のサービスが存在する 〇〇開発部隊 バックエンド フロントエンド ・・・ △△サービス △△開発部隊 バックエンド フロントエンド ・・・ ✕✕サービス ✕✕開発部隊 ビジネスの進化を妨げる
  6. © SoftBank Corp. All Rights Reserved. 11 アプリケーションの全体像 バックエンド フロントエンド

    ・・・ 〇〇サービス コンテナを中⼼としたクラウドネイティブ技術の活⽤により解決する 〇〇開発部隊 バックエンド フロントエンド ・・・ △△サービス △△開発部隊 バックエンド フロントエンド ・・・ ✕✕サービス ✕✕開発部隊 ・ 各サービスがマイクロサービス化され相互に連携が可能 ・ 運⽤パターンが統⼀化される ビジネスに集中できる クラウドネイティブ技術を利⽤することで最⼩限の労⼒で影響の⼤きい変更を頻繁かつ予測通りに⾏うことができる。 CNCF Cloud Native Definition より クラウドネイティブプラットフォーム
  7. © SoftBank Corp. All Rights Reserved. 12 アプリケーションの全体像 バックエンド フロントエンド

    ・・・ 〇〇サービス コンテナを中⼼としたクラウドネイティブ技術の活⽤により解決する 〇〇開発部隊 バックエンド フロントエンド ・・・ △△サービス △△開発部隊 バックエンド フロントエンド ・・・ ✕✕サービス ✕✕開発部隊 ・ 各サービスがマイクロサービス化され相互に連携が可能 ・ 運⽤パターンが統⼀化される ビジネスに集中できる クラウドネイティブ技術を利⽤することで最⼩限の労⼒で影響の⼤きい変更を頻繁かつ予測通りに⾏うことができる。 CNCF Cloud Native Definition より クラウドネイティブプラットフォーム しかし簡単に実現するなら 世の中、成功事例で あふれているはず
  8. © SoftBank Corp. All Rights Reserved. 13 クラウドネイティブ技術はハードルが⾼い GITOPS 監視

    セキュリティ ネットワーク ・・・ Step1. ベンチマーク・ベストプラクティスの調査 Step2. 各環境における設計 Step3. コード(IaC)化 ①幅広い分野について考慮する必要がある ②技術調査〜IaC化までのハードルが⾼い Input: 実現したいアプリケーション構成 Output: クラウドネイティブなインフラ Cloud Native Trail Map は 配布⽤資料から抜いてあります。 以下を直接参照ください。 https://github.com/cncf/trailmap
  9. © SoftBank Corp. All Rights Reserved. 14 クラウドネイティブ技術はアプリケーション開発者の負担⼤ ビジネスロジック開発との両⽴は難しい そして誰が作るのか︖

    〇〇開発部隊 △△開発部隊 ✕✕開発部隊 各チームから1⼈ずつ選出して 共通プラットフォームつくって とはいえアプリケーションとインフラは密接に関連するので 外部のプラットフォームをそのまま使うわけにもいかない Cloud Native Trail Map は 配布⽤資料から抜いてあります。 以下を直接参照ください。 https://github.com/cncf/trailmap
  10. © SoftBank Corp. All Rights Reserved. 15 Infrastructure as ”Low”

    Code アプリケーション開発者が ビジネスロジックの開発に集中するための ソフトバンクのアプローチとは︖
  11. © SoftBank Corp. All Rights Reserved. 16 技術調査〜IaC化を事前にパッケージ化することで ソフトバンクが提唱する 「Infrastructure

    as “Low” Code」 とは Step1. ベンチマーク・ベストプラクティスの調査 Step2. 各環境における設計 Step3. コード(IaC)化 Input: 実現したいアプリケーション構成 Output: クラウドネイティブなインフラ Input: 実現したいアプリケーション構成 Output: クラウドネイティブなインフラ
  12. © SoftBank Corp. All Rights Reserved. 17 設定値のみでインフラが構築されアプリケーション開発に集中可能 apiVersion: managed.msp.sbopsv/v1alpha1

    kind: Application metadata: name: nginx namespace: staging spec: chart: name: basic-deployment version: 0.7.x settings: image: repository: nignx pullPolicy: Always tag: "latest" service: domain: www.example.com ports: - name: nginx containerPort: 80 servicePort: 80 実際に投⼊する設定ファイル例(最⼩構成) ⾃動的に関連リソースを構築 + 実⾏環境にアプリケーションをデプロイ 本来であれば 1,000⾏程度のコードが必要な所… 20⾏程度の設定ファイルで必要なインフラを⾃動構築 ソフトバンクが提唱する 「Infrastructure as “Low” Code」 とは
  13. © SoftBank Corp. All Rights Reserved. 18 CNAP Infrastructure as

    “Low” Code を実現するのが クラウドネイティブ・アプリケーションプラットフォーム 「CNAP」 クラウドネイティブの幅広い分野 について ベストプラクティスをIaC化したパッケージ群を提供 DEPLOYMENT アプリケーション周りの設定 STORAGE ストレージ作成・連携設定 RDB データベース作成・連携設定 MESSAGING メッセージングサービス作成・連携設定 VAULT セキュリティ情報管理 など GITOPS リソースの⾃動デプロイ設定 MONITORING NETWORK IAM レコード管理やサービスメッシュ システムの監視、ロギング設定 権限制御・ID連携
  14. © SoftBank Corp. All Rights Reserved. 19 CNAP バックエンド フロントエンド

    ・・・ 〇〇サービス クラウドネイティブの難しい部分は全てCNAPが吸収 〇〇開発部隊 バックエンド フロントエンド ・・・ △△サービス △△開発部隊 バックエンド フロントエンド ・・・ ✕✕サービス ✕✕開発部隊 CNAP 数⼗⾏の設定値のみでクラウドネイティブな基盤が⽴ち上がるので 開発部隊は と のみ開発すればよい
  15. © SoftBank Corp. All Rights Reserved. 21 CNAPの今後の展望 バックエンド フロントエンド

    ・・・ 〇〇サービス さらに今後CNAPではソフトバンクやパートナー企業のサービスを配信予定 〇〇開発部隊 バックエンド フロントエンド ・・・ △△サービス △△開発部隊 バックエンド フロントエンド ・・・ ✕✕サービス ✕✕開発部隊 CNAP 配信したサービス で代⽤できる機能は開発せずに ビジネスロジックの肝となる機能である と の開発に注⼒できる
  16. © SoftBank Corp. All Rights Reserved. 22 まとめ クラウドネイティブ技術の活⽤により解決できるが難易度⾼ そこでソフトバンクでは

    Infrastructure as Low Code を実現する クラウドネイティブ・アプリケーションプラットフォーム「CNAP」を開発 • クラウドネイティブ各分野のベストプラクティスを凝縮し、難しい部分は全てCNAPが吸収 • ユーザはアプリケーションの開発に注⼒可能 • 構築だけではなく運⽤負担も低減するプラットフォーム • OSSベースで構成されたオープンなプラットフォーム 個々のサービスが独⾃の管理や運⽤フローになっていることが多い ・ 運⽤の効率性が低下 ・ サービス間の連携が困難 ・ セキュリティの⼀貫性の⽋如 ビジネスの進化を妨げる