jtpa geek salon_may2011

22
最最最 PaaS 最最最最最 最最最 PaaS 最最最最最最 @keikubo #jtpa-geek-salon

Upload: keikubo

Post on 01-Jul-2015

1.459 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Jtpa geek salon_may2011

最近の PaaS トレンドと実際の PaaS 開発について

@keikubo#jtpa-geek-salon

Page 2: Jtpa geek salon_may2011

概要

• 自己紹介• PaaS のおさらいと最近のトレンド解説• fluxflex の紹介• fluxflex のアーキテクチャー解説

Page 3: Jtpa geek salon_may2011

 久保 渓 (@keikubo)長崎の公立高校卒業

アメリカの大学へ進学

大学卒業( POSC / CS )

サンノゼで起業

Page 4: Jtpa geek salon_may2011

PaaS とは?• バズワード• Platform-as-a-Service• ソフトウェアを置くためのプラットフォームを

サービスとして提供する。• ユーザーはサーバー等を管理する煩わしさから

解消される。• サーバーのスケーラビリティやアーキテク

チャーまでプラットフォーム側が面倒を見ることが多い。

• 2011 年の市場予測は約 $18B

Page 5: Jtpa geek salon_may2011

PaaS と SaaS ・ IaaS の関係

SaaS

PaaS

IaaS

Page 6: Jtpa geek salon_may2011

PaaS と SaaS ・ IaaS の関係

SaaS

PaaS

IaaS

手軽さ・簡単さ自動デプロイメン

Page 7: Jtpa geek salon_may2011

PaaS と SaaS ・ IaaS の関係

SaaS

PaaS

IaaS

手軽さ・簡単さ自動デプロイメン

柔軟性スケーラビリ

ティ

Page 8: Jtpa geek salon_may2011

プレイヤー• Amazon Beanstalk• Google App Engine• Heroku

(Salesforce)• VMForce• OpenShift

(Makara/Redhat)

• CloudFoundry (VMware)

• FluxFlex• DotCloud• CloudBees• PHPFog• EngineYard

Page 9: Jtpa geek salon_may2011

トレンド

特定言語特化型の PaaS

• Amazon Beanstalk (Java)• Google App Engine (Java, Python)• Heroku (Ruby)• PHPFog (PHP)• CloudBees (Java)

Page 10: Jtpa geek salon_may2011

トレンド

特化型

• Amazon Beanstalk• Google App Engine• Heroku• PHPFog• CloudBees

汎用型

• FluxFlex• DotCloud• CloudFoundry• OpenShift

Page 11: Jtpa geek salon_may2011

その他のトレンドターゲットユーザー

インターフェース

対応言語・ DB

スケーラビリティ

EnterpriseConsumer

コマンドラインGUI

特化型 汎用型

高いなし

Page 12: Jtpa geek salon_may2011

Fluxflex の特徴•R

uby, PHP, Perl, PHP, Pythonのホスティング環境を提供

汎用型 PaaS

•個人のウェブサービス開発者

•インフラエンジニアのいない中小企業やスタートアップのウェブサービス開発担当者

ターゲット

•数クリックで利用可能で、サーバー準備や設定が不要

•Git, GitHub, DropBox, Evernote等、サードパーティとの連携が容易

•開発中に、リアルタイムでテスト環境を構築

独自性

Page 13: Jtpa geek salon_may2011

fluxflex で使用している技術• AWS

EC2 (EBS) S3 SQS SDB ELB Elastic MapReduce Route 53

• Python Django

• Ruby Rails

• Nginx• PowerDNS• Apache• Syslog-ng• Memcached• Gitosis

Page 14: Jtpa geek salon_may2011

fluxflex の内部アーキテクチャー

Page 15: Jtpa geek salon_may2011

Fluxflex の AWS 活用法• 単純なスケーリングで十分なサーバーは

全て ELB(Elastic Load Balancer) に紐づけて配置する。

• 大切なデータは、ファイルなら S3 へ、データなら SDB へ保存する。

• 非同期なジョブは、 SQS を経由させる。

Page 16: Jtpa geek salon_may2011

スケーラブルなプラットフォーム

• アプリケーションのロードバランサー (nginx) リクエストの振り向け先のサーバー情報を、

リアルタイムで動的に変更する仕組み。• ユーザーアプリケーションの管理 (git)

ファイルの変更や、複数サーバーへのデプロイに対応できる仕組み。

• ログの管理 ( syslog-ng ) 複数のサーバーに溜まるログを一箇所に集め

て、ログを再利用できる仕組み。

Page 17: Jtpa geek salon_may2011

Application ロードバランサー

Page 18: Jtpa geek salon_may2011

Application ロードバランサー• Nginx + PowerDNS• Nginx で受け取ったリクエストの受け渡し

先を、 localhost の DNS サーバーで解決する。

• 内部 DNS を使用することで、秒単位でリクエストの向き先を動的に変更することが可能になる。

Page 19: Jtpa geek salon_may2011

Git サーバー

Page 20: Jtpa geek salon_may2011

Git サーバー

•  Gitosis• 認証に必要な情報は API 経由で取得する。• 最新版のキャッシュを S3 に同期する。

Page 21: Jtpa geek salon_may2011

Log サーバー

Page 22: Jtpa geek salon_may2011

Log サーバー•  Syslog-ng•  Application サーバーとApplication ロードバランサーから、ログを syslog経由で受け取る。• 受け取ったログは加工せずにそのまま SQS に保存する。• 後で、ログワーカーが立ち上がって、非同期にSQS に溜まったログをSDB に加工して書き込む。