日々の開発やバグ対応に追われ、インフラ改善が後回しな状況
イラスト・マンガ・小説作品の投稿プラットフォーム「pixiv」をはじめ、クリエイターを支援するさまざまなサービスを提供するピクシブ株式会社(以下、ピクシブ)。同社が提供するマンガアプリ「Palcy」は、Ruby on RailsとAWSを使ってサービスを運営しています。
Palcyでは、モバイルアプリに返すJSONレスポンスが最大1MBを超えることがありました。汎用的なモデルを使い回していたため、アプリで使わない情報まで含まれ、AWSの通信料やユーザーの通信量が増える要因となっていたのです。
こうした改善はPalcyチームでも以前から計画していましたが、日々の開発や突発的なバグ対応を優先する必要があり、インフラ改善にまとまった時間を割くことが難しい状況でした。そこで導入したのが、Sevenrich Digitalで技術支援を行う株式会社DELTAの「CTO Booster」です。
AWS環境を調査し、コスト削減施策の提案から実装まで支援
支援内容
- サーバーコストの削減可能幅の調査
- ECSで確保するリソースの適正化
- 使われていないログ出力の停止
- JSONレスポンスのモデル最適化(iOS・Android・Web)
- 開発環境での検証と、本番への適用作業
今回ピクシブが利用したのは、DELTAが提供する「CTO Booster」。ソースコードやアーキテクチャの改善を通じて、サーバー代の削減を成功報酬で代行するサービスです。ピクシブからいただいたのは環境の閲覧権限のみで、DELTAはその状態から調査し、ECS(Fargate)で遊んでいたリソースの適正化と、ヘルスチェックAPIが大量に出力していたログの停止を提案しました。ここに、ピクシブから相談を受けたJSONレスポンスの見直しを加えた3つが、今回の施策です。
JSONレスポンスは、使われていないかを調査したうえで、修正方針の提案からモデルの最適化作業まで、iOS・Android・Webの3つに対応しました。ECSとログの施策は開発環境で検証してから本番へ移し、適用のタイミングも、ユーザーの少ない時間帯や月末月初のバッチを避けるなど調整や相談をしながら決めています。
1カ月あたり約70万円のサーバーコストを削減
こうした一連の見直しと3つの施策を実施した結果、「Palcy」の運営にかかる月のサーバーコストは約5,000ドル、日本円で約70万円の削減となりました。内訳では、ECSのリソース適正化が時間当たり40%強、1MBを超えていたJSONレスポンスの軽量化が60%程度の削減です。調査から検証、実装までをDELTAが代行したため、同社が外注のために確保するエンジニアリソースも必要最小限にとどまりました。
担当者コメント:仕様をくみ取ってもらい、まるっと任せられた
「よかった点としては、まずはまるっと任せられた点ですね。ある程度仕様をくみ取って進めていただけたのが楽でした。仕様を伝えるために過大に資料を作って渡す、といった負荷も少なかったです。また、削減成功額からフィーを支払う料金体系だったのもよかったです。料金体系が明朗だったので、上司にも説明しやすく、導入しやすかったです」