自分の最近のWebアプリケーション構成とか(規模別)
唐突に。
ものすごくざっくりですが現状は以下のような構成つかってます。
流行りかどうかはわかりません><
ちょっとしたWebアプリ(想定 ユーザ/10人くらい)
Webサーバ | Apache(CGI) |
DB | SQLite |
WAF | Mojolicious::Lite |
ORM | DBIx::Skinny |
最近だと簡易デプロイWebアプリとか、ちょっとしたものを作るときはほぼこんな感じですね。
Mojoならレンタルサーバにもポイッて置くだけで動く上に
機能もほぼ全部入りなので使えると便利ですね。
このくらいの規模ならCGIで十分。
管理画面系(想定 ユーザ/100人くらい)
Webサーバ(フロント) | Apache |
Webサーバ(アプリケーション) | Starlet or mod_perl |
DB | Postgresql or MySQL |
WAF | Catalyst or Mojolicious |
ORM | DBIx::Class |
使う人数が限られていて、割と機能豊富な管理画面系とかはこんな感じ。
O/R MapperなんだかんだでDBICが多機能なので良いかなと。Catalystも右に同じ
WebAPI系(想定 たくさん)
Webサーバ(フロント) | Apache |
Webサーバ(アプリケーション) | Starlet or mod_perl |
DB | Postgresql or MySQL |
WAF | Amon |
ORM | 生DBI or DBIx::Skinny |
現在は自分の携わってるサービス的にこういう使い方が一番多い。
WAFはMojo使ってたんですがAmonに移行中。
本当はAmonを参考にオレオレWAFをつくろうと思ったのですが、
ソース見てたら削るところがほとんど無かったのでこのままでいいかーと
そのまま使わせていただいております。
Webサイト系(想定 たくさん)
実はまともなWebサイト作ったこと無いのでわかりませんw
予想としてはこんな感じ?
Webサーバ(フロント) | Apache |
Webサーバ(アプリケーション) | Starlet or mod_perl |
DB | Postgresql or MySQL |
WAF | Catalyst |
ORM | DBIx::Skinny |
Viewについて書いてないですが
Webサイトをバリバリ構築とかしてないのもあって
あんまり気にせずにWAF標準のものを使っています。
今後はText::Xslateが標準になっていくんでしょうか