先日発表させて頂いた、ページめくりも同期するプレゼン資料共有サービス「Slidrs」ですが、サーバ的には結構なチャレンジをしています。最近の技術トレンドを満載してると言っても過言ではないでしょう(Slidrsの詳しい内容についてはこちらのエントリをどうぞ)。せっかくですので、Slidrsで使っているモノの御紹介をしてみようと思います。

■ インフラ

Amazon Web Services を使っています。ここ凄く重要。巷のいわゆるレンタルサーバではありません。AWSが出た当初からずーーっと純AWSで真のクラウドサービスを提供したいと思っていましたがようやくですね。(昨年立ち上げたSYNCNELは政治的理由でAWSを選ばなかった訳ですが、実は後悔してます)

Slidrsでは、最前線にはロードバランサELBを持ってきて、フロントのアプリサーバ用にEC2 x n台、バックにはDB用サーバにEC2、諸々監視用サーバにもEC2、外部ストレージにS3、DNSにはRoute53…を組み合わせて使っています。

ローンチ当日には急遽EC2を倍に増やしたりもしていて真のクラウドの恩恵を利便をサービサーとして改めて感じている次第。ですので、今後も AWS 大前提という方針は絶対に変えません。

 

■ ソフトウェア

フロントには NginxNode。前者は静的なコンテンツの配信に、後者はアプリケーションサーバとして使っていて、プログラムは node.js でガッツリ書いて貰ってます。ログの集約には fluentd もかましており、いやはやホント便利な時代になりました。

バックには、インメモリなデータストアとして redis を採用。データベースには NoSQLなデータベースの代表格 MongoDBを持ってきてますので、ここもお約束的な組み合わせになるでしょうか。

 

■ デプロイ

諸々サービスを展開するにあたりデプロイツールとして capistrano、サーバの構成管理の自動化に chef を使ってます。このへんも今風ですよね。

 

(デプロイ環境はともかく)もはや LAMP って何って状況になってます。

フロントもバックも全ては高速性を将来に渡って担保しなくちゃ…と考えているからこその組み合わせにしてまして、このへんは「最強の少数精鋭は一人」っていう僕のポリシーに基づき(まぁ少人数ベンチャーだからって事情もありますが)、弊社唯一の web 専門エンジニア @kumatch に全部を一任。これを初期バージョン約1ヶ月で作り上げてる訳ですが、良い感じに出来上がっていると思います。

 

今後も必要に応じて最新のテクノロジーを積極的に取り込みながら拡張していく予定。AWSの中に限っても、予定している数々の追加機能でEC2はもっと増やさなくちゃいけないし、マネタイズの部分では VPCCloudFormation を使用する事も今から視野に入れています。(Slidrsのマネタイズは結構息の長い話だったりします…)

もちろん、やみくもに新技術を使って遊ぶというのではなく、純然たる必要にかられれば適切に使っていくという方針ですね。技術の世界は今まで以上にどんどん変わります。だからエンジニアも使う技術をどんどん変えていかないと…ですね。企業も人も変われる事こそが生き残る唯一の方法だと僕は思ってますので…。

という訳でページめくりも同期するプレゼン資料共有サービス Slidrs で使われている技術紹介でした。