jtpa geek salon_may2011

Post on 01-Jul-2015

1.459 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

@keikubo#jtpa-geek-salon

概要

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

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

アメリカの大学へ進学

大学卒業( POSC / CS )

サンノゼで起業

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

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

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

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

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

PaaS と SaaS ・ IaaS の関係

SaaS

PaaS

IaaS

PaaS と SaaS ・ IaaS の関係

SaaS

PaaS

IaaS

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

PaaS と SaaS ・ IaaS の関係

SaaS

PaaS

IaaS

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

柔軟性スケーラビリ

ティ

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

(Salesforce)• VMForce• OpenShift

(Makara/Redhat)

• CloudFoundry (VMware)

• FluxFlex• DotCloud• CloudBees• PHPFog• EngineYard

トレンド

特定言語特化型の PaaS

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

トレンド

特化型

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

汎用型

• FluxFlex• DotCloud• CloudFoundry• OpenShift

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

インターフェース

対応言語・ DB

スケーラビリティ

EnterpriseConsumer

コマンドラインGUI

特化型 汎用型

高いなし

Fluxflex の特徴•R

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

汎用型 PaaS

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

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

ターゲット

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

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

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

独自性

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

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

• Python Django

• Ruby Rails

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

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

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

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

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

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

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

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

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

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

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

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

Application ロードバランサー

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

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

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

Git サーバー

Git サーバー

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

Log サーバー

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

top related