SHOEISHA iD

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

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

【デブサミ2017】セッションレポート(AD)

エンタープライズチャットアプリ開発のリベンジを、サーバーレスアーキテクチャで達成【デブサミ2017】

【17-E-2】 サーバーレスアーキテクチャにしてみた - エンタープライズチャットアプリでの挑戦 -

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

あらゆるコストをサーバーレスで一気に削減、リアルなデータを交えて解説

 サーバーレスアーキテクチャを導入して実現したコスト削減の効果を、石田氏はリアルなデータで紹介した。その数字を見ると、費用の面でも工数の面でも、大幅な削減効果があったのは明らかだ。

 2015年の1回目の開発では、AWS上にアプリケーションサーバーでNode.jsを展開し、データベースにはMongoDBを採用。さらに1TBのストレージをつなぎ、毎月1.1TBのネットワーク伝送量があった。「AWSに20万円、加えて運用のための人件費が毎月の固定費としてかかっていた。それが再チャレンジでは4万3000円と約5分の1に圧縮され、運用人数も前回の7名から4人に減らすことができた。これはデータベースとインフラ構築の人員が不要になった結果だ」と、石田氏。

金銭面でのコスト効果
金銭面でのコスト効果

 工数も大幅に削減された。中でも劇的に減ったのがプラットフォーム部分で、なんとゼロになったという。

 「前回はiOSのプラットフォーム部分(通信、アプリケーション呼び出し)がコードで8790行、サーバー実装のプラットフォーム部分が2万9816行だったが、両方とも0行になった。限られた時間の中で早く作る必要があったので、UXに関係ない部分をゼロにできたのは大きな成果だった」

工数面でのコスト効果
工数面でのコスト効果

複数のmBaaSの中からFirebaseを採用

 サーバーレスアーキテクチャでアプリケーションを開発するにあたり、利用したmBaaSが「Firebase」だ。Firebaseは2014年にリリースされ、その後Googleに買収された。NoSQL系データベースを、Androidなど他のプラットフォーム上のデバイスと同期できるといった特徴がある。

 採用したFirebaseの他にも、AWSやMicrosoft Azure、Herokuなどを比較検討した。検証用に小規模のアプリを作り、自社のサービスを乗せるプラットフォームとして最も信用できるものを選出。最終的にFirebaseの品質がずばぬけて高いことが分かったという。

 また、部分的にはHerokuも採用。そのため、厳密にはサーバーレスとはいえなくなってしまったが「それでもここまでの構成がFirebaseで可能になるのは画期的だ」と石田氏は評価する。

Firebaseを使ったサーバーレスアーキテクチャの構成
Firebaseを使ったサーバーレスアーキテクチャの構成

 ただ、「テーブルの結合ができない」「組み合わせ条件での絞り込みができない」「オブジェクトの差分更新ができない」「Internet Explorer 8ではSDKが動かない」といった課題もある。

エンタープライズ開発の有効解としての普及を

 最後に、開発プロジェクトを通して石田氏が感じたFirebaseのメリットが以下のように紹介された。

スケーラブルで安定している

 自前でWebSocketを実装し、同期するストレージを構築するのは大変な手間がかかる。また、通信に失敗した場合のリカバリや再同期も容易だ。スケーラビリティについても十分だといえる。

パフォーマンスも良好

 ファイルの取得なども、数10ms単位で実行できる。そのためモバイルユーザーの多い環境でもストレスのないUXに貢献できる。

ユーザー数が少ないうちは安い

 サーバーレスの大きな恩恵であるコスト性に優れている。数十万人程度までならば自前でサーバーを導入するよりも安価に済む。

SDKが便利

 豊富な認証機能(パスワード、Google、Facebook、Twitter、GitHub、カスタム)が提供されている。さらに権限制御やデータベースのアクセスコントロールなども可能。

 石田氏は、「サーバーレスアーキテクチャを選択した結果、従来の手法であれば数千万円規模の投資と時間が必要だったが、安く、早く、顧客の満足のいくものを実現できた」と評価。エンタープライズSIである以上、限られたコストと時間の中で、お客さまが十分に納得できる品質を達成しなくてはならない。今回のプロジェクトでは、「与えられた条件が厳しくても、工夫次第で何とかなるという貴重な経験を得た」という。

 「このサーバーレスアーキテクチャという有効解を、エンタープライズ領域のSIに広めていって、世の中の多くのエンジニアが『それならやってみよう』と思えるように、ぜひ皆さんにもご協力をいただきたい」と石田氏は力説し、セッションを終了した。

お問い合わせ

 株式会社ドリーム・アーツ

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

  • このエントリーをはてなブックマークに追加
【デブサミ2017】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10086 2017/04/14 21:38

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング