自分の最近の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が標準になっていくんでしょうか

その他

フロントサーバもnginxとかperlbalとか使ってみたいけど
いまいちメリットがわかってないので基本Apacheにしてます。
今後使いたい