非エンジニアにはサーバーの必要性が認知してもらいにくい
非エンジニアには「成果物=コード」と誤解されやすく、実行環境については認知してもらいにくい。なので、コードの実装を依頼されて納品した後にこういう質問がきたりする。
これ実際にwebサイト公開する場合、どういう作業が必要になりますか
恥ずかしながら、このあたりしっかり理解ができておらずです。。。。
これはAIにコードを書かせる人にも共通する知識不足だと思う。「ビデオゲーム」でいうところ、コードはゲームソフトで、ゲームを遊ぶには他にもゲーム機とディスプレイが必要なのである。
web開発はrubyやpythonが使える方が拡張性があっていいがそういうサーバーは使用料が高い
実装にあたっては、指定がなければ一番適した機能を持っている、あるいは実装者が一番使いこなしているプログラミング言語を選んで使ってもよさそうだが、それが動く実行環境を用意してもらえるとは限らない。
例えば、筆者が一番使っているrubyやデータ処理に便利なpythonが動くサーバーは往々にして費用が高い。
その理由はおおむね以下の通り。
- アプリを常時起動させる
- プロセスを占有する
- ゆえにメモリを常に消費する
こういう事情で「1ユーザー=1プロセス」になりやすく、事業者側は共用しづらい=VPSやPaaS扱いになる。
PHPが使えるサーバーはたくさんあって料金も安い
一方でPHPが使えるサーバーはたくさんある。
これは本ブログもそうだが、世間にはwordpressユーザーが多いこともあるし、そもそもPHPの動作の軽さが低価格を実現している。
PHPは、
- リクエストが来た時だけ実行
- 実行後はプロセスが死ぬ
- Apache+mod_php(アプリを常駐させない)やphp-fpm(リクエスト単位での処理)で共有しやすい
という設計なので、1台のサーバーに何人も詰め込める。実際、何人も詰め込むのでPHPのレンタルサーバーは安くできている。
モック開発や市場調査のためのパイロット版ならコストを抑えなければならない
製品版なら収益が発生しているのでコストを払う妥当性もあるが、モック版や市場調査のためのパイロット版はまだ収益を上げていないので、コストはできるだけ安くしなければならない。
なので、コストがかかるサーバーを用意するわけにはいかないのである。この辺りは収益に責任を負っていないエンジニアが声を上げても何とかなるモノじゃない。
その辺を見越してエンジニアとしては、他にプログラミング言語の選択肢があるとしても、「後で捨てる前提・作り直す前提で製品版になるまではPHPを使っておく」というのは妥当な判断であると思っている。

コメント