このページの本文へ

前へ 1 2 次へ

現場に聞いたAWS活用事例

「世界中の名刺をすべて取り込む」というゴールに向け挑戦中!

AWSやChefをフル活用!名刺管理サービス「Eight」の舞台裏

2014年01月23日 06時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

Chefを使いこなして自動化を推進

 こうしたEightのインフラでもっとも特徴的なのは、サーバー構築を自動化するために構成管理ツールとして注目を集めているChefを用いている点だ。ベースとなるマシンイメージはAMIとして用意し、変動する部分の構築手順をChefのcookbookに落とし込み、ベースのAMIに割り当てるのだ。「本当に変わらない部分のみ固定したAMIを使っているのですが、ミドルウェアとかかが変わりそうな部分はChefを用いています。バッチやWeb、イメージなどのロールを割り当てることで、最新状態のサーバーが自動的に立ちあがります」(間瀬氏)とのことだ。とはいえ、既存のサーバー設定を落とし込む部分は苦労した。間瀬氏は「“秘伝のたれ”じゃないですけど、手順に残っていない部分までcookbookに落とし込むのが大変でした。でも、そのおかげで、次は圧倒的に作業が楽になりました」と語る。

Chefを用いたサーバー構築の自動化イメージ

 最近ではアプリケーションとChefのロールを連携させることで、コマンド一発でアプリケーションを複数のノードにデプロイできるようにしている。ChefサーバーにはWebサーバーやイメージサーバーなどロールごとのインスタンスが登録されているので、このリストを元にCapistranoでアプリケーションをデプロイしているという。

 また、名刺管理で最優先されるセキュリティに関しては、オンプレミスでのノウハウを活かした詳細なフィルタリングをAmazon VPCのサブネットに対して適用した。「VPCのNetwork ACLやSecurity Group、ファイアウォールなどを活用することで、われわれが求めるセキュリティ設定ができました。インバウンドだけではなく、アウトバウンドにもフィルタリングをかけており、セキュリティレベルも満たしています」(間瀬氏)。ただAWSはフィルタリングルールに制限があるため、パフォーマンスを落とさないようにするため、ポリシーをいかに最小化するかが大きな鍵だったようだ。

AWSのさまざまなサービスを効率的に組み合わせ、自動化と拡張性を実現した

 さらに、スマートフォンがメインなので、可能な限りサーバーにアクセスしないよう、キャッシュを多用しているのも特徴。とはいえ、スマートフォンとの通信は課題で、宍倉氏は、「書き込みが多いので、これをいかに改善するのかは課題です。あと通信状態が悪い中で登録に失敗すると、リトライがかかってしまうので、これをいかに成功させるか。サーバーと端末間の通信をどのように保証していくかが課題です」と語る。

SWFの導入で名刺入力業務をより効率化

 アプリケーション側での最新の取り組みとしては、Amazon SWF(Simple Workflow Service)の導入が大きいだろう。SWFはアプリケーションの処理のステータスを管理する文字通りワークフローのサービスで、Eightでは名刺の登録作業に用いられている。

 Eightでは精度を高めるため、オペレーターの手によってデータ入力されていることはすでに説明したが、1日に登録される名刺は万単位に及ぶ。そのため、単に受信された順番で作業しているわけではなく、優先順位を付けて効率的に作業が行なわれる。

 具体的なフローを見ていこう。名刺の画像がサーバーに届くと、まずいつまでに納品しなければならないかが設定される。「Eightではまず自分の名刺を登録するんですけど、それはとにかく速くやります。優先度にあわせてオペレーターが対応します」(宍倉氏)。その後、背景画像や影を除去し、ここで始めてデータ入力になる。入力された名刺画像やテキストはRDBに登録されており、両者のマッピング自体はEightのシステムで管理される。

 このように名刺の入力業務は意外と複雑だ。「工程自体が何十にも分かれており、かつプロセス単位で入れ替わりもあります。けっこう複雑で、かつ流動的なんです」(宍倉氏)とのこと。こうしたフローの変更のために、いちいちシステムを設計するのは難しい。これらのプロセスを分割し、ワークフローとして登録するのが、SWFだ。

複数のプロセスをSWFでワークフローとして扱う

 同社では2012年の夏から出たばかりのSWFを使って、データ入力システムをリプレースした。SWFでは同時に入ったタスクの一方を排他したり、プログラムの不具合でタスクの状態を見失われても、一定時間で再実行する機能を持つ。SWFをベースにした入力システムを導入したことで、より柔軟にワークフローの組み替えが可能になったという。

世界に飛び交う100億枚の名刺をすべて取り込むために

 このように積極的にAWSの新サービスを使っている同社だが、次のチャレンジはやはりビッグデータだ。「ユーザー数の伸びやKPIを出すための分析で、fluentdとRedshiftを使っています。たとえば、朝10時の名刺登録でシステムが重くなっているといったパフォーマンスの事象を捉え、ユーザービリティの改善に活かしていく。徹底的に使いやすいアプリを実現するためにデータをとことん活かそうとしています」(宍倉氏)。

都内にあるSansan本社の印象的なエントランス

 こうしたどん欲なチャレンジの背景には、グローバルを見据えたビジネスの拡がりがある。宍倉氏は、「始まった当初は、名刺を交換した人同士がEight上でつながっていくというのをコンセプトにしていました。今は世界中に飛び交う年間100億枚の名刺をすべて取り込むというのを事業ゴールとして進めています。このゴールに近づくために、無料でサービスを展開しているんです」と語る。今後も名刺交換から始まるビジネス上のつながりを有機的に活用していけるような機能を拡充していくとのこと。「スマホ初心者のおじさま」と「スマホネイティブな若者」の両方にアピールできる希有なビジネスクラウドサービスとして、Eightには注目していきたい。

■関連サイト

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII.jp特設サイト

クラウド連載/すっきりわかった仮想化技術

ピックアップ