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

アプリデバッグ効率化のためのバイナリ配信ソリューション /ColoplTech-08-02

アプリデバッグ効率化のためのバイナリ配信ソリューション /ColoplTech-08-02

※資料内の参照リンクを選択し閲覧する場合は、ダウンロードをお願いいたします

\積極的に技術発信を行なっております/
▽ Twitter/COLOPL_Tech
https://twitter.com/colopl_tech

▽ connpassページ
http://colopl.connpass.com

▽ COLOPL Tech Blog
http://blog.colopl.dev

COLOPL Inc.

August 15, 2022
Tweet

More Decks by COLOPL Inc.

Other Decks in Technology

Transcript

  1. 6 アプリバイナリの受け渡し、 実機へのインストールの際の 時間と手間が課題に 課題に対応するために アプリバイナリ配信システムの 導入を進める 2015 2020 内製のアプリバイナリ配信システム

    Tempuraが誕生 システムリプレイス システム導入開始 運用する中で認証/認可の仕組みが複雑化し、管 理負担が課題に GCPのマネージドサービスを活用したシ ステム構成にリプレイス 課題の対応に合わせて サーバー費用と運用コストの 最適化を進める アプリバイナリ配信システムの成り立ち
  2. 必要な機能 主な役割 7 ➜ デバッグ業務でのエンジニア /テスターへの配布 ➜ 社内βでの対象社員への配布 社内へのアプリバイナリ配布 •

    アプリバイナリのアップロード /ダウンロード • アプリタイトル毎の細かな権限管理 ➜ タイトルの機密性や所属メンバーの役職 /職種によって権限が異なるため アプリバイナリ配信システムの役割
  3. 13 Cloud Load Balancing App Engine Cloud Sheduler Cloud IAP

    Databases & Storage Cloud Storage Memorystore Cloud SQL User BigQuery Management Logging Monitoring Jenkinsビルドサーバー Compute Engine Cloud Run アプリバイナリ配信システムの構成
  4. 他の内製ツールと認証/アカウント管理の仕組みを合わせたい 15 ✖ 外部サービス上のアカウント発行が必要(外部アカウントベースの認証 /認可) ✔ Googleアカウントでアクセス可否を管理できる Cloud IAPを導入し、 社内ドメインのアカウントをアクセス許可

    ➜ Googleアカウント認証で社内アカウントのみアクセスを許可したい ➜ 社内アカウントの多重管理を避けたい ✖ 組織メンバーの追加 /削除といった管理が必要 ✔ 内製の社員情報管理システムから社内アカウントを同期 求めたこと1. 外部サービス. 内製システム. 外部サービス. 内製システム. 内製理由と実現方法
  5. クラウド(GCP) アプリビルドサーバーとの内部連携を可能にしたい 16 ✖ APIトークン漏えいによる情報漏えいのリスクがある ✔ APIトークンによる認証を社内からのアクセスのみに制限 ➜ APIトークンが漏洩しても社外からのアクセスは遮断できるようにしたい 求めたこと2.

    外部サービス. 内製システム. APIトークン 社内(ビルド環境) Jenkins ビルドサーバー Cloud Armor IPアドレス制限 社外 Cloud IAP Tempura ユーザー認証 トークンチェック 内製理由と実現方法
  6. システムの維持費用を可能な限り抑えたい 17 ✖ 提供されるユースケース外の機能分の料金が上乗せされてしまう ✔ GCP(Google Cloud Platform)のマネージドサービスを活用して維持費用を削減 ➜ サーバー/ストレージ費用を削減したい

    求めたこと3. 外部サービス. 内製システム. ➜ GAE/Cloud Run(GCPのマネージドサービス) を活用 • サーバー稼働分だけ費用が発生するため必要最低限の費用に収まる ➜ GCS(GCPのクラウドストレージ) のストレージクラスを活用 • アクセスの少ないアプリバイナリを通常より安い料金体系で保持 内製理由と実現方法
  7. 22 アプリバイナリのアップロード APIと ダウンロードAPIを用意 アプリバイナリを主体とした インテグレーションを可能に ✔ アプリビルド完了後の自動アップロード、 社内の他システムからダウンロードが可能 ✔

    aab(Android App Bundle)形式のアプリバイナリを apk形式 に変換する機能を用意し、 Android端末に直接インス トールできるように 開発 変換 / 配信 ビルド アップロード ダウンロード レポート コミット テスト メモリ計測 アプリデバッグ効率化のための工夫