in eminem, Server

エミネムさんがWebサービスのインフラについて教えてくれるそうです


今日は
HTMLとCSSばっかしのお前らに
ひとつ教えてやる
俺が前から仕事にしてる
いわゆる 世界の中心の
基幹を成す
“Webサービスのインフラ”
その作り方だ。

まずWebサーバだが
nginxかApacheをオススメしよう
これならネットで検索すれば情報はあるし
設定もわかりやすいから 混乱もない
ところがどっこい
お前らのインフラ力ときたら
黒い画面は無理
viやりたくない
lsってなにか
そんな状態じゃサーバなんて
とても構築は無理だ
だからといって
安易にブラウザベースを進めるわけじゃない
さっきも言ったが
コマンドラインからいけた方が便利だからな

だからWebサーバはこのふたつが
初心者にはうってつけ
俺もそうだったし
おかんもそうだった
手強いかもしれないが
まずはHello WorldのHTMLだすとこまでこぎつけろ
PHPとかは二の次でいい
本当に二の次なんだ

まあ結局は
やりたいことをできりゃあいい
どっちでもいいから動かせればいいんだ
まずはそこから
さくらインターネットにでも行って
VPSを借りちまおう
ロリポップとはおさらばだ

Apache
nginx
gwan
zeus
いろいろあるぜ
Webサーバ
設定ファイルはviで編集するから
viの使い方マスターしておけ

さくら
お名前
DTI
KDDI
いろいろあるぞ
VPSの種類
まずは比較サイト見に行っとけ
とにかく一番安いので十分だ
Webサーバがたてれたら
アプリケーションサーバだ
プログラミングもかじるフロント野郎はピンときてると思うが
アプリケーションエンジンの実装
これをやらなきゃ
お前がやっと作った初めてのアプリも意味がねえ
Rails、Cake、Django
全部動かねえんだ

言語はたくさんあるだろうが
APサーバのやり方は二通りだけだ
APサーバを単体で立ててプロキシするか
Webサーバに組み込むかだ
組み込むのは
Webサーバ内にエンジンいれて
一緒に動かす
単純な話

次にプロキシさせるのは
ちょっとややこしいが
コツをつかめば少女でも
理解できる
まずWebサーバがアクセスを受け取る
そいつを別プロセスで待ち受けるサーバに渡すんだ
言語の処理をそのサーバでやったあと
レスポンスをWebサーバに返す
その処理結果がお前のブラウザに返るんだ
Webサーバはどちらの方式でもいけるが
自分のレベルにあわせて好きなほうを選ぶといい

PHP
Ruby
Python
Perl
いろいろあるぜ
言語の種類
でもやり方はいつも単純
目先の難易度に振り回されるな

Unicorn
php-fpm
wsgi
mod_perl
いろいろありぜ
APサーバの種類
何で書くか迷ったら
RubyかPHPが一番いい
次は一番難易度高い
運用ミスると危険
そりゃそうだ
アプリのデータをもつDBの話
データがねえアプリはただのホームページ
何を選ぶかも大切なところだ

DBのプロダクトはいろいろあるが
まずはインストールしよう
そしてそのプロダクト専用のコンソールにはいり
DBをつくる
できればテーブルのリストと
格カラム
全部中なにが入ってるかみれるといい
それで開発はだいぶ楽になる

もちろん 見えなくてもアプリは動くし使えるが
なんかわからないけど動いてますは
この世界では御法度だ
これ以上言わないが
DBの種類もピンキリだから
好きなの使えばいい

だがフレームワークには
マイグレーション機能ってのがあって
どのDBでも簡単にテーブル作れちまう
だがいいか
決してそれだけの人間になるな
お前がどんなにフロントサイドの人間でも
SQL入ってselectうつぐらい
できるようになっとけ

なんでこんなこというかというと
マジで真面目に
コードだけ書ければいいってやつが多すぎる
いいかもう一度いう
自分で作ったものなら
ちゃんとDBまで面倒みろ
テーブル構成勉強するんだ
正規化できりゃもっといい

とにかくだ
アプリは動けばいいかもしれない
だがその後はきちんとユーザのこと考えた運用が必要だ
コードもDBもリファクタリング大事なんだ
わかってくれたか?
結構インフラも大変だろ
やってるやついたら労ってやれ

MySQL
postgresql
MongoDB
SQL Server
いろいろあるぜ
DBの種類
こんなこというのもなんだが
Web DB Pressに記事書くのが
俺の夢

Heroku
AWS
Azure
Google App Engine
いろいろあるぜ
インフラクラウド
インフラのやつらは仕事なくなるなんて思うな
本当に詳しくなれれば
どこまでも生きていける
次はRailsについて歌ってやるからな
ハッカソンでみたら声かけてくれよな
がんばろうぜ

— 元ネタ「エミネムさんがいろいろ教えてくれるシリーズ