-
Notifications
You must be signed in to change notification settings - Fork 8
Railsシステム設計ワークショップ
yowasou edited this page Aug 13, 2023
·
9 revisions
(2012.09.12)#19
- 担当: @mackato
- 内容: Railsアプリケーションを開発、運用する際の効率的なシステム設計について考えてみる
Railsアプリケーションに必要なコンポーネントについておさらいしながら、Cacooで図を書いてみました。具体的なユースケースを想定して見積りというところまではできなかったので、次回以降やってみたいです。
How are server requests handled in MVC framework
- コスト: なるべく安く
- 性能: なるべく速く
- 可用性: 落とさない
- 安全性: データを失わない
- 保守性: リリースや管理の手間を少なく
- 拡張性: 成長にあわせて拡大したい
すべてを満たすことはできない。なにを重視して、なにを諦めるか?
- PaaS or IaaS or 自社サーバー?
- 各コンポーネントの選定
- ウェブサーバー、ロードバランサー、CDN、キャッシュサーバー
- Ruby(バージョン、システム or rvm or rbenv)、Rails(バージョン)
- データベース(RDBMS、NoSQL)、テキストサーチ、メッセージ・キュー、スケジューラー
- 外部API
- 必要なリソースの見積り方法
- 開発、運用体制
ウェブ上で確認できる実際のRailsシステムの実例。
- Cookpad - Ruby を利用した大規模ウェブサービスの開発・運用
- CoffeeMeeting - CoffeeMeetingの現在のシステム構成を公開します
実際のユースケースを想定してシステム構成を考えて、費用を見積ってみる。
例)
- コンシュマー向けウェブサービスを立ち上げたスタートアップ(社員2名)
- 企業向けSaaSを提供するベンチャー企業(社員20名)
- 大手企業の社内システム(社員5,000名)
※ もうちょっと、具体性があったほうがいいかも?