天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

MIXI SRE秋祭り〜MIXIのもうひとつのSRE〜に参加してきた

mixi.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

MIXIのSREは、サービスの信頼性に直接関わる負荷やコスト、システムの信頼性などをサービス開発と密接に連携しながら取り組むようなSREと、社内の共通課題やスポットで相談された事業などへの技術支援など、全社的なサービスの信頼性に関わるありとあらゆることに取り組むSREがいます。

本イベントでは、後者の全社的なサービスの信頼性に関わるSREから、最近の取り組み事例を紹介させていただき、Q&Aの時間などを通して、ご参加の皆様と共に情報交換ができれば幸いです。

会の様子

講演1〜限られた人数で MIXI のあらゆる公式サイト群を保守・運用する〜

最初に多羽田さんから、SREグループがどのような活動をしているのか話がありました。

SREグループは、注力事業の支援や横軸での案件サポートなど、様々なことを担っているそうですが、エンジニアのいない領域への支援もされているそうで、数1000rps程度のトラフィックが要求される公式サイトの開発や運用の支援に関してお話がありました。

公式サイトは、AWS/Terraform/tf_generator(Terraformコードを生成する内部ツール)/GitHub Actionsを使用しているそうで、AWSのリソース作成はもちろん、cloud-initの設定ファイル生成やSlack workflowの設定ファイル生成、GitHub Actionsでterraform applyなどもやっているというお話がありました。

また、保守運用フェーズでは、セキュリティ室による脆弱性チェックやDependabotによる脆弱性通知、secretlintによるシークレット情報の監視、aws_health_notificationによるGitHubの自動PR作成、PagerDutyアラート対応などをしているそうです。

講演2〜外部の開発会社で開発したスマホゲームアプリの受け入れ・リリース用処理の仕組みをプランナーさん向けに作った〜

続いて小池さんから、SREグループがやっている全社的な横串での案件サポートのお話がありました

MIXIさんでは、外部の開発会社から、開発したiOS/Androidのアプリを納品してもらっているそうですが、当然プラットフォームの本番で配布する鍵や証明書は渡したくなく、なおかつiOSに関しては鍵/証明書がパブリッシャー共通のものであるが故、サーバレスでリリース用の署名をする仕組みを作ったそうです。

仕組みを作る際には、GitHub Actionsで完結することにこだわったそうで、Google DriveにあるiOS/Androidアプリをダウンロードし、GitHub Actionsで再署名を行うような仕組みで構築したそうです。

また、再署名の運用は、

  1. 納品されたiOS/Androidアプリを特定のGoogle Driveにアップロード
  2. GitHub ActionsのWorkFlowを手動実行
  3. 再署名が行われ、特定のGoogle Driveへアップロード
  4. 再署名されたiOS/Androidアプリをストアで配布

の手順で行っているそうです。

講演3〜TIPSTARにおけるデータ基盤信頼性向上の取り組み〜

最後に濱野さんからレース映像の視聴や競輪やオートレースのネット投票ができるTIPSTARアプリに置いて、どのようにデータ基盤の信頼性を向上させていったのか?という話を聴いていきました。

最初に前提条件の紹介として、TIPSTARでは、経理処理やKPI確認、イベント施策立案、マーケティング戦略立案のためにデータ分析を使用していることや、メンバーが少ないこともあってGCPを使用して開発/運用コストの削減に取り組んでいるという話の紹介がありました。

続いて、データ(データ基盤)の信頼性を管理するDREが信頼性向上に取り組んでいるそうで、具体的な課題意識としては、

  1. Spanner to BigQuery処理部分のコストが嵩み、処理が失敗した場合のretryがしづらい
  2. 重要指標は当日分も確認したいが、品質の高いデータが前日分までしか取り込まれていない

という2点があったという話がありました。

そこで、Spanner Data Boostを活用することを考えたそうで、品質の高いデータを用いた重要指標をニアリアルタイムで分析することに成功したということでした。

一方で、今後の課題も残っているそうで、

  • SLOドリブンな開発体制構築(データ品質計測をまずやりたい)
  • データパイプラインの改善
  • Data Martの充実
  • Lookerの啓蒙と習熟度向上

などに取り組んでいきたいという話が最後にありました。

会全体を通した感想

SREといっても活動は多岐にわたりますが、三者三様で全く異なる地点からどのような活動をしているのか?というのを具体的な技術構成にまで踏み込んで話してもらえて非常によかったです。

GitHub Actionsの強力さを改めて実感しました。