こんにちは。バックエンドエンジニアのH.Iです。
2022年8月9日、開発を支える社内システムの進化 〜変化する環境への適応〜という題目で社内システムエンジニア向けの発表を行いました。
勉強会の内容
コロプラでは、働き方や開発手法など急速な環境変化に対して、起こり得る課題の解決や効率化に取り組むバックエンドエンジニアの「インターナルグループ」が存在します。
「インターナルグループ」の取り組みと社内システムをどのように実現しているかについて、次の項目でお話させていただきました。
「コロプラを支える社内システム開発の在り方」では、インターナルグループの紹介と事例を踏まえた業務改善の取り組み方や、社内の要望により多く応えるための開発フローの改善についてお話させていただきました。
「アプリデバッグ効率化のためのバイナリ配信ソリューション」では、社内向けアプリバイナリ配信における課題解決のために導入した内製システムの紹介や、アプリデバッグ効率化のための工夫についてお話させていただきました。
「ゼロトラスト時代の社内システムセキュリティ」では、在宅業務実施に伴う脱VPNへのアプローチとして進めたCloud IAP導入によるIPアドレス制限撤廃の取り組みの紹介と、Cloud IAP導入におけるセキュリティ的懸念と対策についてお話させていただきました。
それぞれの資料はこちらになります。
発表について補足
発表中の内容についてこちらで補足をさせていただきます。
「アプリデバッグ効率化のためのバイナリ配信ソリューション」資料中の補足
Cloud Storageのストレージクラスの活用について
Cloud Storageにはストレージクラスという価格帯の異なる4つの保管タイプが用意されています。
データの保管費用が段階的に安くなりますが、保管費用が安いストレージクラスはデータ処理に費用が発生するようになり、最小保存期間が設けられその期間に満たない削除には早期削除料金が発生します。
用途に合わせたストレージクラスの設定がストレージ費用の最適化に繋がります。
内製のアプリバイナリ配信システム「Tempura」では、アプリバイナリが新たに保管されてから30日、60日、90日が経過後、Nearline、Coldline、Archiveと保管費用が安いストレージクラスに段階的に変更を行っています。
ストレージクラスの変更にあたり、特定の条件が満たされたときにバケットのオブジェクトにアクションを適用できるライフサイクルルールを活用しています。
aab(Android App Bundle)形式の変換について
Android App Bundleは、アプリのコンパイル済みコードとリソースがすべて含まれた公開形式です。
Google Playの「Play Feature Delivery」がaabを使用して、個々のデバイス構成に合わせて最適化したapkの生成と署名、配信を行います。
従来のapkとは違いaabは端末に直接インストールすることはできないため、bundletoolというツールを使用してapkに変換する必要があります。
内製のアプリバイナリ配信システム「Tempura」では、アップロードされたaabからアプリのコードとリソースをすべて含む単一のapkへの変換をbundletoolを使用して行っています。
アップロードされたaabと変換したapkの両方を保管しており、デバッグ端末でのダウンロード時はapkが配信されます。
アプリ署名の際のキーストアは、機密データの保管に適したGCPのマネージドサービスである「Secret Manager」で管理しています。
最後に
今回で6回目の勉強会となり、ゲーム開発を支える社内システムにフォーカスを当てたこれまでの勉強会とは異なる趣旨でありましたが、多くの方々にご視聴いただき大変感謝しております。
今後も勉強会や技術ブログを通じて、エンジニアの方々に役立つコロプラの取り組みや技術情報を幅広く発信していきます。
次回イベントについては現在企画中となります。引き続きconnpassおよびtwitterで告知いたしますので、是非メンバー登録とフォローをよろしくお願いいたします。