通信キャリアならではの急激な需要増加に対処できるスケーラブルなプッシュ通知基盤を構築。クラウド基盤上で高いレベルの非機能要件に取り組んだプロジェクトの中心メンバーと、サービスイン後に主体的に課題に向き合ったメンバーの二人に話を伺った。悠(写真右)アーキテクチャ事業本部シニアエキスパートキャリアグレードのサービスに求められる高いレベルの非機能要件に対応。—まずはじめに、プロジェクトの概要を教えてください。田中:KDDI様のプッシュ通知基盤をAWS上に構築するプロジェクトに取り組みました。KDDI様が自社サーバで構築していたシステムをAWSにマイグレーションしました。プロジェクトがスタートしてから約9ヶ月でサービスインしています。その後はサービスイン以降の改善を含めていくつかの対応をしています。—プロジェクトはどれぐらいの人数で、どのように進めていったのでしょうか?田中:KDDI様のチームに当社のエンジニアが参加し、一緒にシステムの要件や仕様を検討したり、実際に作り込みをしていきました。あとはインフラ作業など、状況に応じて専門スキルのメンバーを増減させながらやっていきました。園田が加わったのはサービスインしてから保守・改善を担当してもらうためでしたね。—園田さんはサービスイン後のアサインなのですね。田中さんは、アーキテクチャ設計でどのようなことを工夫して取り組みましたか?田中:まず、通信キャリアのシステムとして「24時間365日安定稼働し、かつ高負荷時にも遅延なく対応できるようにしなければならない」という要件がありました。そのため、リクエストを分散処理するアーキテクチャにすることは早い段階から判断していました。その他の工夫としては、「システム中のボトルネックがチューニング不可能にならないようにしよう」と考えました。AWSは必要に応じて個別サービスのスケールアップやスケールアウトが可能です。ElasticBeanstalk」を組み合わせ、キューの量に応じてプッシュ通知処理がオートスケールしシステム全体の性能が上がるようにしました。細かな機能によっても違いますが、最大で5倍ぐらいまでは耐えられるように構成されています。AWSは従量課金型ですから、サーバーレスのマネージドサービスとして運用することで必要な性能の分だけコストが発生するようになっています。—プロジェクトを進める中で、どんな苦労があったのでしょうか?田中:やはり性能要件ですね。AWSが実現している性能や信頼性のサービスレベルと、今回開発しているシステムとして外部に示すサービスレベルには考え方の違いがあり、その折り合いをどうつけるかが苦労しました。非常に多くのスマートフォンが接続してくるシステムですので、試験段階でテスト環境や開発環境で同程度の接続を完全に再現するのは難しいところがあって、「実際にサービスインしてみないと分からない」というところがどうしてもありました。実際にサービスが始まってから想定外の挙動が発生して、その原因を突き止めて解決していくことを繰り返しやっていましたね。1ヶ月ぐらいは解決策を模索していく時期がありました。そこが園田に協力してもらった部分です。—園田さんはどのようなことに取り組んだのでしょうか?園田:大きく分けると二つあって、AWS側の仕様変更に伴う改修とKDDI様側のシステムの変更に伴う改修です。1つ目のAWS側の仕様変更については、根幹にかなり影響するものだったので設計からプログラムまで、つくったもの全てを見直す必要がありました。いままでつくってきたドキュメントやプログラムに問題がないかを一つ一つ調べて、その後、サービスインまでに行ったテストをもう一度同じように繰り返して、アプリケーションが正しく動作するかを確認していきました。2つ目のKDDI様側のシステムの一部変更に伴うものは、KDDI様のシステム部門の方と連携をとってテストをしていきました。田中:園田は新卒で初めての配属となったのがこのプロジェクトでしたが、テストだけとか実装だけとかの一部分を任せるというよりも、一通りを任せる形にしていましたので、作業の段取りとか、どういうふうにやれば効率的かとかも含めて考えながら取り組んでもらいました。園田は、いわゆる指示待ちくんになることはなくて、とにかく考えてやってみるっていうのをずっと繰り返す執念があったので、プロジェクトの戦力になっていましたし、私もだいぶ助かっていました。園田:周りにも質問しやすい環境でしたので、自分で考えたり周りに聞いたりしながら、一つ一つできることを増やそうと心がけていました。—初めての配属でかなり幅広い役割を任されたのですね。どんなところに自分の成長を実感していますか?園田:テストをした時に作成するテスト結果レポートで、ただ「大丈夫です」ではなく、「ここがこうだからこう大丈夫です」とか「このへんが気になります」とか、自分の何かしらの意志を少しずつですが入れられるようになってきたことですね。頼まれたことをこなすだけじゃなくて、付加的に「こうなるともっといいと思います」みたいな伝えられる力をもっと付けていきたいなと思っています。田中:チーム内で会社の垣根を越えて形式張らずに声を掛け合うことができたのがよかったと思いますね。園田にとって、いい成長の機会になったと思います。すべて取材時点での内容となります。企業情報プライバシーポリシーアクセス。