完成したシステムを稼働して改善された3つのポイント
三木氏は今回の取り組みを通して、良かったことがいろいろあったと振り返る。まず1点目として、店舗の課題を全て解決できた点を語っている。
「品切れ設定における業務負荷については品切れ設定を自動化し、店舗の業務負荷を減らすことができました。在庫を最後まで販売したいという課題に対しては、在庫を確実にゼロまで販売できた。出前館ユーザーのUXの改善および、出前館のカスタマーセンターでの欠品対応コストも減らせたと考えています」(三木氏)
定量的な効果としては、従来1店舗で1日あたり100分程度かかっていた品切れ業務負荷がゼロになったことが挙げられた。
良かったことの2点目は、エンジニアの悩みごとを解決できた点だ。旧来のシステムではJavaのバージョンが古く、TLSバージョン1.2が非対応という問題があった。今回は古いシステムに改修を加えるのではなく、新しく構築したシステムで開発を進めたことで、この問題が解決したのだ。
その他にもエンジニア視点でモダンな技術を取り入れることができたことや、現在のシステムの状況が不明確だった課題にも向き合うことができた点が挙げられた。正確なモニタリングがないことで、加盟店やカスタマーセンターなどの業務側からの問い合わせベースで課題に気づくこともあったが、現在はモニタリングの強化を進めている。
「Amazon CloudWatchを用いたメトリクスの監視やログのアラート、New Relicによるサービスレベルの測定など、モニタリングの強化を進めています」(三木氏)
そして3点目が、ビジネスの将来性を考慮できた点だ。今回の仕組みで、新たな加盟店とアプリケーションの改修を加えることなく連携が行えるようになり、ビジネスの成長性に対応できるようになったことが大きな利点となった。
「リテールなどの店舗ではどの店舗でも同じような課題を抱えていると考え、出前館として、特定の加盟店に依存しないような設計にしました」(三木氏)
また、将来的にさまざまな加盟店のリクエストに耐えられるようにAPIの性能も意識し、ボトルネックとなっていたSQLのチューニングを実施している。
「結果としてAPIが遅延なくレスポンスを返せる限界値が、秒間70リクエストだったのが、秒間150リクエストまで上がり、パフォーマンスへの考慮ができました」(三木氏)
三木氏は最後に、現在エンジニアを積極採用中である事にも触れ、以下のようにメッセージを送り、セッションをまとめた。
「出前館では、多様性のあるエンジニアが日々切磋琢磨しています。エンジニアが主体となってさまざまな課題に挑戦できたり、積極的にモダンな技術を活用したり、技術面においてもチャレンジできる環境です。その取り組みはエンジニアブログでも紹介しているので、興味のある方はぜひご覧ください」(三木氏)