Amazon EC2/S3, Google AppEngine, Google Appsで開発、運用するモバイルレシピサイト
フレクトの大橋です。このブログではフレクトで運営しているサービスについての
開発情報をなるべくオープンに公開しきたいと思います。
1回目はAmazon EC2/S3, Google Appsなどを使って開発したモバイル3キャリア公式サイト
のシステム構成について紹介します
サイトはお料理教室のレシピが携帯でチェックできる「ベターホームレシピ」です。
システムとしては携帯からレシピコンテンツを各種検索機能やランキング機能を
使って探すことができるサイトとお考えください。
今後、システム開発に使った技術は当ブログで詳細を紹介していきますが、
今日のところはどんな要素でシステムを組んだのか、参考になる方も
いらっしゃるかも、ということで公開してみます。
まず、システム構成の概略図を。
【インフラ】
・Amazon EC2(アメリカ西海岸)
開発中にシンガポール版が出たのですが、リリースが近かったので
検証できず、アメリカ西海岸でスタートとなりました。
【OS】
・Linux(CentOS)
【Web/APサーバ】
・Apache
・Tomcat
【アプリケーション実装】
・主にJava、一部Perl/Pythonです。
・WebアプリのフレームワークにはSAStruts/S2JDBCを使いました。
・また、携帯用処理にはmobyletを使いました。mobylet便利です。
【データベース】
・MySQL
特段かわったことはしていませんが、
データファイルはAmazon EBSにおいて運用し、
そのスナップショットを定期的にS3にアップするよう
運用しています。
【検索サーバ】
・Apache Solr
⇒ 何かと高性能な検索エンジンです。今度ブログ記事を
記載したいと思いますが、形態素解析でやっています。
網羅性より精度重視で構築しました。
【レコメンドサーバ】
・Cicindela
⇒ ライブドアさんが作ったOSSのレコメンドエンジンです。
Perlでできていて、一部フレクトでフィルタ等追加して
構築しました。
【メール送信】
・Postfix
⇒ いたってノーマルな使い方をしています。
【空メールの受信】
・GoogleAppEngine
⇒ smtp2webじゃないですが、同じようなことをするために
メール受信のハンドリングはGoogleAppEngineで行いました。
Pythonでアプリ部分は実装しています。
【画像配信】
・Amazon CloudFront
【運用監視】
・muninや自作ツールなど
【バックアップ用ストレージ】
・各種バックアップはAmazon S3を使っています。データベースのバックアップや
ログのバックアップに使っています。
【効果測定、ログ集計・視覚化】
・Google Analytics
・自作ツール+ Google Spreadsheets
EC2/S3, GAEを使っているところがポイントですが、もう事例も多いので
目新しくないかもですね。
ちょっと珍しいかも、というのはログ集計・視覚化にGoogle Spereadsheets API
を使って集計値を更新したり、グラフを更新したりして、チームみんなで
アクセス状況、コンテンツの人気度の分析など行っていることでしょうか。
今後、詳細をいろいろ公開していきます。
最後にPR。
フレクトでは、Amazon EC2/S3を使ってシステムを作ってみたい!Google Appsを
使ってちょっと便利なツールを作ってみたい!という意欲あふれるエンジニアを
募集しています。興味のある方はぜひ以下からご連絡ください。
コメント