SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

今どきの大量&超高速プッシュ通知をかなえる! インフラ環境を意識せずに実装可能な「BoltzEngine」の技術とは?

  • このエントリーをはてなブックマークに追加

 更新情報やセール情報をリアルタイムに知らせることができるプッシュ通知は、スマホアプリに欠かせない機能の1つ。しかし、ユーザーを拡大し配信数が増えるほど、アプリの安定性やコスト面で課題が出てくる。そんなプッシュ通知の開発の課題を解決するソリューションが、フェンリルの開発した「BoltzEngine(ボルツエンジン)」だ。同エンジンは生放送番組の公式アプリ向けに開発されたシステムを汎用化したもの。現在はコンシューマ向けだけでなく、鉄道の乗務員が運行情報を確認するために使われるなど、ビジネスシーンでも活用が進んでいる。配信性能だけでなく、実装面やコスト面からもあらゆるアプリ開発のシーンにフィットするBoltzEngineについて、フェンリル株式会社の事業本部 アプリケーション共同開発部 課長 伊藤伸裕氏、事業本部 営業部 リレーション営業課 課長 玉川貴大氏に話をうかがった。

  • このエントリーをはてなブックマークに追加

プッシュ通知はビジネスシーンでも活用が始まっている

 ユーザーがアプリやWebブラウザから離れていても、リアルタイムで情報を届けるための仕組み、プッシュ通知。スマホユーザー向けのサービスとして発展し、特にiOS10がリリースされて以降は、GIFアニメーションや動画、音楽などのコンテンツ付きのリッチプッシュが増加。マーケティングに活用される場面も増えている。もはやスマホアプリにおいて、プッシュ通知は欠かせない機能となっている。

 プッシュ通知というと、B2Cのイメージが強いが、「最近はビジネスシーンでの活用が増えてきている」と伊藤氏は語る。その一例として伊藤氏が挙げたのが、鉄道乗務員向けのアプリにおける活用例だ。路線の中にはトンネルなど電波の弱いところもある。プッシュ通知ならいったん電波が途切れても、再度つながった時点ですぐに通知が届き、最新情報を逃すことがないため、利用されているという。

フェンリル株式会社 事業本部 アプリケーション共同開発部 課長 伊藤伸裕氏
フェンリル株式会社 事業本部 アプリケーション共同開発部 課長 伊藤伸裕氏

 またもう1つの動向として、Webでもプッシュ通知が増えてきているという。「ニュースサイトで活用しているところも増えていますが、今後、いろいろなWebサイトはもちろん、Webシステムでの活用も広がると考えられる」と伊藤氏。玉川氏も「IaaSやSaaSなどの利用が増えるのに伴い、承認フローなど業務のお知らせなどに使われるケースが今後、増えていくと思います」と語る。

事業本部 営業部 リレーション営業課 課長 玉川貴大氏
フェンリル株式会社 事業本部 営業部 リレーション営業課 課長 玉川貴大氏

プッシュ通知の開発における課題

 このように活用が広がるプッシュ通知だが、開発するには課題があるという。

 「独自に実装する場合、問題になるのがエラー処理。エラーが発生した場合、成功したものを除いて再送したり、指数バックオフでリトライ間隔を延ばしていったりするのですが、さまざまなケースを考慮して実装するのに手間がかかり、実際には起こりづらいのでテストもしづらいです。たとえ実装ができても、サービス拡張によりプッシュ通知の件数が増えると、性能が足りなくなってしまうこともありますからね」(伊藤氏)

 ASPサービスを使うといった手もあるが、「セキュリティに厳格な企業のアプリに実装する場合、使い勝手が悪い」と伊藤氏。というのも顧客のデータベースと連携してセグメントを切ろうとすると、APSサービスの機能とDBの整合性を合わせるために、余計な通信が必要になることがあるからだ。もちろんそれらを考慮したサービスも登場しているが、「基本的に、詳細なデータをお客さま自身が持っている場合は難しくなる」と伊藤氏は指摘する。

 ASPサービスには、こういった柔軟性の問題だけではなく、コスト面でも課題がある。従量課金制を採用しているものがほとんどなので、ユーザー数が増えていくに従い、課金額が上がってしまうからだ。「スピード面でも費用面でもASPサービスだとお客さまのニーズを満たすのは難しいのでは」と玉川氏も指摘する。

「BoltzEngine」が柔軟な実装を可能にする

 このような、ASPサービスが持つ課題を解消するソリューションが、フェンリルが提供するプッシュ通知エンジン「BoltzEngine」である。同エンジンの元となったのは、生放送連動アプリ向けにつくられたプッシュ通知である。

 「決まった時間に大量のユーザーに通知を送るという厳しい条件がありました。ASPサービスや既成のライブラリではその条件を満たすことができず、新たに開発したのです。BoltzEngineはそのプッシュ通知をより多くのお客さまに使ってもらえるよう、汎用性を高めたものです」(伊藤氏)

 生放送連動アプリ向けのプッシュ通知の開発が始まったのは2013年。当時はまだめずらしいGo言語を採用した。採用理由について、「並列処理に長けている言語だったので」と伊藤氏。製品化したのは2015年。より幅広いエンジニアに使ってもらえるよう、gRPCやREST APIのインターフェイスも用意。さまざまなアプリ、サイトで利用されるなど、十分な実績を持つ。

次のページ
1秒間に3.5万通、 国内トップクラスの高速配信性能

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11204 2019/07/11 19:56

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング