RustのBorrow Checkerと格闘し、KubernetesのYAML地獄を抜け、TerraformでState管理に頭を抱える。
個人開発において、 オーバーエンジニアリング だ!
Perlから始まり、Java、Kotlin、Rust、そしてReact/Next.jsと、あらゆるモダン技術を渡り歩いてきたが、俺が辿り着いたのは作りかけのアプリケーションばかり。
今度こそ俺は間違えない!
コンテナではなく、あえて素のPHPなのか。技術的負債ではなく「技術的資産」としてのPHP戦略について、俺の視点で解説する。
技術遍歴と「敗北」の歴史
まず、俺の悲しい歴史を紹介するぜ。
PerlのCGI時代を経て、PHPの簡便さに触れ、その後は型安全とパフォーマンスを求めて旅に出た。
Javaの冗長さに絶望し、KotlinのSyntax Sugarに感動し、最終的には Rust に辿り着いた。「メモリ安全性」と「ゼロコスト抽象化」は、エンジニアとしての美的感覚を極限まで満たしてくれた。
フロントエンドも同様だ。地獄のバニラJSを経て、jQueryをダサく感じ、Reactの宣言的UIに移行し、TypeScriptで型パズルを解くことで昇天する日々。
だが、ある時ふと我に返った。
俺は、インフラの世話をするためにコードを書いているのか?
Docker Imageの軽量化、マルチステージに数時間を費やし、EKS(Kubernetes)のアップグレード計画に悩み、NAT Gatewayの料金に枕を濡らす。
「動けばいい」だけのアプリケーションに、俺は何をしているんだ?
AI時代にコードの定義が変わった
現代の開発フローにおける最大のパラダイムシフトは、 「コーディングの主体がAIになった」 こと。
Claude CLIやGemini CLIにプロンプトを投げれば、コードは一瞬で生成される。
ここでRustの「コンパイラが人間に厳しい」という特性が、逆にボトルネックになる。
AI生成コードにおいて、人間がBorrow Checkerのエラーを修正する時間は無駄だ。動的型付け言語の「ランタイムで動けば正義」という緩さは、AIとのペアプロにおいて圧倒的なスピードを生む。
だからこそ、 PHP なのだ(爆)
なぜ「PHP + レンタルサーバー」が最強のアーキテクチャなのか
ここでいうPHPは、Laravelとかいう、俺が使ったこともないフレームワークでガチガチに組む話ではない。もっとプリミティブな、あるいは軽量フレームワークを用いたミニマムな構成だ。
1. デプロイパイプラインの極小化 Rsync 祭り
CI/CDパイプライン? Blue/Greenデプロイ?
個人開発の初期フェーズにおいて、それらは過剰だ。
- モダン構成 : Git push -> CI (Test/Build) -> Container Registry -> K8s Rolling Update -> Pod起動待ち(Cold Start含む)
- PHP構成 : AIが書く ->
rsync-> 即反映
よくみたら、モダン構成何してんのかわからんなw
このスピード感。Rsyncなら差分転送で一瞬だ。超原始的だけど。
Dockerコンテナのビルド時間を待つ間に、PHPなら本番環境で動作確認が終わっている。
2. コストパフォーマンスという名の「非機能要件」
AWSやGCPで、まともなRDBMSとロードバランサを用意してごらんなさい。最低でも月額数千円〜数万円が溶ける。
対して、日本の ロリポップ! や エックスサーバー はどうだ。
- PHP-FPMのチューニング済み
- WAF標準装備
- MariaDB 込み!?
- nginx/Apacheの設定不要
これで 月額500円〜1000円 だ。
これをクラウドで再現しようとすれば、VMインスタンスの管理コストだけで赤字になる。彼らは長年の運用で、PHPを動かすことに特化した「究極のマネージドサービス」を提供している。
大丈夫、流行ってからRustに書き直せ😄
「でも、PHPじゃスケーラビリティが……」
おまいらはすぐにそう言う。だが聞きたい。 おまいらの個人サービス、秒間何万リクエスト来るんだ?
- AIにPHPを書かせ、共用サーバーにデプロイ。ランニングコストは月500円。
- サービスが当たり、サーバーが悲鳴を上げ始める。収益が発生する。
- ここで初めて、稼いだ金とAIを使ってRustやGoにフルスクラッチ し、コンテナ化してK8sに移行する。
最初から最終構成で作るのは、YAGNIの原則に反する。
「動くコード」を最速で市場に出すことこそが正義。
まとめ
もし、コンテナホスティングサーバーが月500円で、RDBMS込みで、コールドスタートなしで動くなら、俺だってRustがいい。あいつは最強だ。でも現実はそうじゃない。
今の俺の開発フローはこう。
- AIに要件を伝える。
- PHPコードを出力させる。
- XサーバーにRsyncする。
これ以上に「速く」、そして「安く」仮説検証を回せるアーキテクチャがあるなら教えてほしい。
泣きながら unwrap() を書くのはもうやめよう。我々が必要としているのは、美しい型定義ではなく、 ユーザーに使われるプロダクト なのだから。
ただいま……PHP。いじめてごめんね。