« プロジェクトマネジメントプリンシプル | トップページ | TiDDを実践して気付いたことpart3~繰り返し開発の戦略 »

2009/11/29

クラウド時代のSW開発スタイル

Twitterの衝撃 140文字がビジネスからメディアまで変える」を立ち読みした。
TwitterがRuby on Railsをフロントエンドで使っているのは知っていたが、メッセージの非同期処理(MQ)でScalaを使って性能改善したという説明があった。
気になったのでメモ。

【参考】
まだブロ: [Scala] Twitterの移行について

twitterがrubyからscalaへスイッチ - huixingの日記

第7回 関数脳のつくり方 First Season - 刺激を求める技術者に捧げるScala講座:ITpro


ScalaはJavaVM上で動く関数型言語。
TwitterがScalaをどこでどのように使っているのか、正直理解できていない。

しかし、大量のデータをさばく処理に対し、関数型言語を使ってMapReduceアルゴリズムで高速化を図っているのではないか、と推測している。
そのためにScalaを使ったのではないか、と。
上記の記事や本によれば、Scalaによるチューニングは大成功だったらしいから、そのノウハウが知りたい所。

Twitterは当初はRuby on Railsでアジャイルに実装しているという印象があった。
しかも、サーバーはクラウドのサービスを利用している。
#Twitter のホスティングは NTT Americaとのこと(コメントを受けて修正)

つまり、サーバー運用をアウトソーシングしているので、スケールアップしやすく、初期投資のリスクも低い。
クラウドというサービスは、ベンチャー企業にとってとても扱いやすいビジネス環境なのかもしれない。

今後のWebシステムの開発スタイルはこんな感じ。
フロントエンドはRailsやSeasarでサクサク作り、バックエンドやバッチ処理は関数型言語でMapReduceアルゴリズムをフルに使って高速化する。
そして、サーバー運用はクラウドのサービスを使ってアウトソーシングし、初期投資のリスクを抑えて、負荷が高まればスケールアップすればいい。

スクリプト言語、関数型言語、そしてクラウドが、今後のWebシステム開発のキーワードになるかもしれない。

|

« プロジェクトマネジメントプリンシプル | トップページ | TiDDを実践して気付いたことpart3~繰り返し開発の戦略 »

プログラミング」カテゴリの記事

ソフトウェア」カテゴリの記事

ビジネス・歴史・経営・法律」カテゴリの記事

コメント

Twitter のホスティングは NTT America ですよ。

http://www.eh.nttamerica.com/news/press_releases/release.cfm?id=92

NTT はこれをもっと誇って良い気がしてますが。

投稿: youhei | 2009/11/29 22:26

◆youheiさん

ご指摘ありがとうございました!

投稿: あきぴー | 2009/11/30 00:06

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: クラウド時代のSW開発スタイル:

« プロジェクトマネジメントプリンシプル | トップページ | TiDDを実践して気付いたことpart3~繰り返し開発の戦略 »