Global Mobility Service(GMS) 技術本部 プラットフォームチーム(以下PFチーム)の高下、小田です。PFチームでは、弊社FinTechサービスを支えるIoTプラットフォーム(MSPF)の開発、運用をしています。先週の土曜日、同じくPFチームのインフラエンジニアである小田さんと、ISUCON9(Iikanjini Speed Up Contest)の予選に参加しました。会社の会議室に集合し、ディスプレイ横並びでコンテストに挑みました。結果的に決勝に進むことは叶いませんでしたが、ソフトウェアエンジニアとしてのレベルアップを図れる良い機会となりました。
初めてのISUCON
二人ともISUCON初参加だったので、分からない事が多かったです。2人で参加(定員3人)ということもあり、勝つことよりは腕試しのつもりで参加しました。
(Slackで分からないことをつぶやく図)
我々のチーム名となった"ISUCONなにもわからない"は、冗談ではなく本当になにもわからない状態から名付けられました。
業務とは違った技術との出会い
PFチームの普段の業務では、主にAWSを利用しています。Amazon EKS、Amazon Aurora、DynamoDBといったマネージドサービスを組み合わせ、Node.jsでサービスを開発、提供しています。ISUCONでは、普段の業務では触れることのないスタックに触れられる楽しみもありました。
- 経験のなかったAlibaba Cloud
- 普段頻繁に省みないミドルウェアの設定
- 業務で利用したことのないライブラリ
- (おそらく問題の実装者が業務で利用しているような)ロジック
(ホワイトボードで悪戦苦闘した図)
ISUCONでの学び
ISUCONに向けての学習のおかげでパフォーマンスチューニングの知見を得ることができました。GMSではDBにMySQLを採用しています。ISUCONでもMySQLを採用していることが多く、MySQLに関連したISUCONの情報が役立ちました。このような情報を参考にしてMSPFのパフォーマンスチューニングを行い、実際に成果を出すことができました。
GMSでは学んだことを業務に活かせる環境があるので、ISUCONに参加して終わりではなく、モチベーションを持って取り組むことができました。今回のISUCONの例に限らず、自分が良いと思ったことを試せる環境がGMSにはあると思います。
リアルISUCONに挑戦しませんか
PFチームでは、1億個のIoTデバイスを通じて多くの人々に幸せを提供できる未来に向けて、MSPFの開発と運用に取り組んでいます。MSPFでは、直接人間が使うWebサービスとはまた違い、モビリティに取り付けられたIoT端末(MCCS)から送られてくる大量のトラフィックを処理する必要があります。この実現に向けて、GMSでは、日々エンジニアが協力し技術力を高め合っています。