ネットサービスに幸福をもたらすテクノロジー | スペイシーズのテクノロジー

「安定した快適な広告配信」を支える
「スケーラブルな高可用性」と「高速なデータアクセス」
サーバの能力を最大限に引き出す先進のキャッシュ技術

安定性を実現する「スケーラブルな高可用性」を持つ配信システムを実現しました。

安定的なシステムとは「止まることのないシステム」であると私たちスペイシーズは考えています。
そのため、性能が不足してきたら、サーバを追加するだけで解決できるスケーラビリティとサーバ故障であろうとも止まることのない高可用性を併せ持つシステムの構築を目指しました。
スペイシーズは、独自のキャッシュによって配信に必要なデータを必要に応じて各サーバが保持することが可能にしました。これによってサーバ間での依存関係がなくなり、「スケーラブルな高可用性」を持った配信システムを実現しました。

快適さを提供する「高速なデータアクセス」を可能にしました。

快適さにはいかに速く広告を表示出来るのかが大きく影響します。そのためには、スケーラビリティだけでなく1台あたりでの性能を高く保つことが求められます。
私たちスペイシーズが開発した独自のキャッシュシステムはシンプルであるがゆえに、「高速なデータアクセス」を行うことが可能です。これにより、サーバ性能の限界まで使い切ることが可能になり快適な広告表示を実現することが出来ました。
また、サーバ1台あたりの性能が高いということはより少ないサーバ台数で配信システムを構築できることであり、私たちスペイシーズの競争力の原動にもなっています。

広告配信における「安定性と快適さ」という課題を解決するために私たちが求めた答えは単純。 独自のキャッシュ技術で「スケーラブルな高可用性」と「高速なデータアクセス」を追求する ー しかし、それは決して盲目的な追求ではありません。

「スケーラブルな高可用性」と「高速なデータアクセス」を両立しているからこそシステムは安定し、快適な広告配信が可能なのです。それは、Web広告を行うお客様の幸せに繋がるとともに、それを支える私たちの誇りと自信にもなる。
お客様の幸せと、エンジニアとしての自社の誇りを高めたい・・・そんな想いでスペイシーズは、独自のキャッシュシステムを構築しました。

システムに加えるその機能には、本当に価値があるか。誰の幸せに繋がるのか、そして自分たちは自信と誇りを持って開発に取り組むことができるのか・・・
今後ともこうした視点を大切に、スペイシーズは価値あるサービスに繋がるためのシステムを作りつづけます。

人と情報のベストマッチングから新しいビジネスが生まれる。
ビックデータ処理の高速化とスピーディーな解析を支える技術

スペイシーズでは、ユーザーに最適な広告を届けるためにさまざまな技術を使用しています。その1つがHadoopです。

従来、大量のデータを蓄積、解析するには、大規模なデータベースと莫大な時間を要するため、対象となるデータをある程度絞りこむ必要がありました。
しかし、それではユーザーの好みや嗜好を正確に把握することは難しく、日々刻々と変化するニーズに追随することもできません。
スペイシーズでは1日平均20億におよぶ大量のアクセスから生み出される大量のデータを蓄積し、しかも毎時単位で大量のデータから有効なデータ抽出し、解析する基盤をつくりあげています。
大規模データ分散処理のためのオープンソースのフレームワークであるHadoopの処理能力を十分に活かすことによってつくりあげています。

もう一つ重要なこと。それは、解析結果を如何に有効に活用できるかという点です。大規模データを如何に高速に解析できたとしても、それが人間に理解できる「カタチ」になっていなければ意味がありません。

解析結果を如何に分かりやすく使いやすく視覚化するか・・・この課題を私たちは統計解析用プログラミング言語である「R」によって解決しています。

「R」を用いることで、多用な指標をとる解析結果でも、グラフなどによって即座にビジュアル化し、活用しやすいカタチで提示することが可能になりました。
大量のデータを利用した素早い解析を実現するだけなく、結果を活用しやすくすることで新たな知見を得やすくするよう心がけています。

スペイシーズは、ネット時代だからこそ収集し得る大量のデータを少しも無駄にすることなく、サイトやサービスを利用するユーザーおよびWeb広告に関わる私たちに新たな価値を提供する資源として大切に活用しています。

クラウド時代のICTに求められる
「変化に素早くしかも低コストで即応できるしなやかさ」を実現する
フレームワーク技術

利用者の使い勝手(ユーザービリティ)が悪いシステムは作業を非効率にしたり、無駄なコストを発生させたりします。
スペイシーズはこのようなシステムを無くし、常に高いユーザービリティを実現したいと考えています。

はじめから完全、完璧なシステムを作って提供することは現実的ではないと私たちは考えています。
メニューの位置や大きさひとつをとっても、使いやすい使いにくいといった感覚は人それぞれ。だからむしろ、完全なものを作り上げるよりも、実際に多くの利用者の方に操作していただいた使用感を丹念にヒアリングしながらより良く進化させていく努力を継続することを選びました。
最初から完璧を目指すのではなく、ある程度まで完成したシステムを、利用する人々や要望やビジネスの変化にあわせて、素早く柔軟に変化させていきたい・・・。
そんな理念から、スペイシーズは要望とビジネスの変化に素早くそしてしなやかに対応するための技術基盤として Ruby on Rails を採用しました。

スペイシーズのエンジニアは Ruby on Rails の設計思想である「設定よりも規約」と「Don't Repeat Yourself」を大切にして「記述するプログラムコードの品質を一定に保つこと」「見通しがよくムダのないプログラムコード」を開発し、要望やビジネスの変更により素早く柔軟に対応できるようにしています。

また、デザイナーとの協業により単純なシステムの見た目だけでなく、わかりやすい表記や操作を実現するシステムを設計し作り上げるとともに、システムをご利用いただいている方からのフィードバックを迅速に反映することで、常に利用者の皆様に価値のある機能をご提供し続けていく努力をしています。

これらの努力によって、素早く間違えずに使用できる最良のシステムを実現すること、それこそが私たちに与えられたミッションであると考えています。 まだ取り組み始めたばかりですが、デザイナー、システムを利用する皆様とともに、要望とビジネスの変化に素早く柔軟に対応しつづけることで、システムを通じた価値を提供し続けたいと考えています。