Skip to content

Railsシステム設計ワークショップ

yowasou edited this page Aug 13, 2023 · 9 revisions

(2012.09.12)#19

  • 担当: @mackato
  • 内容: Railsアプリケーションを開発、運用する際の効率的なシステム設計について考えてみる

報告

Railsアプリケーションに必要なコンポーネントについておさらいしながら、Cacooで図を書いてみました。具体的なユースケースを想定して見積りというところまではできなかったので、次回以降やってみたいです。

Rails設計ワークショップ資料

Rails Architecture

Rails Architecture
How are server requests handled in MVC framework

要求事項

  • コスト: なるべく安く
  • 性能: なるべく速く
  • 可用性: 落とさない
  • 安全性: データを失わない
  • 保守性: リリースや管理の手間を少なく
  • 拡張性: 成長にあわせて拡大したい

すべてを満たすことはできない。なにを重視して、なにを諦めるか?

検討事項

  • PaaS or IaaS or 自社サーバー?
  • 各コンポーネントの選定
    • ウェブサーバー、ロードバランサー、CDN、キャッシュサーバー
    • Ruby(バージョン、システム or rvm or rbenv)、Rails(バージョン)
    • データベース(RDBMS、NoSQL)、テキストサーチ、メッセージ・キュー、スケジューラー
    • 外部API
  • 必要なリソースの見積り方法
  • 開発、運用体制

ケーススタディ

ウェブ上で確認できる実際のRailsシステムの実例。

課題

実際のユースケースを想定してシステム構成を考えて、費用を見積ってみる。

例)

  • コンシュマー向けウェブサービスを立ち上げたスタートアップ(社員2名)
  • 企業向けSaaSを提供するベンチャー企業(社員20名)
  • 大手企業の社内システム(社員5,000名)

※ もうちょっと、具体性があったほうがいいかも?

Clone this wiki locally