ソフトウェア開発・保守の委託で失敗した例を昨日ブログに書きました。
問題はPHP4からPHP5にアップグレードする際、委託した先が勝手にオブジェクトキャッシュを外していたというものです。その結果、MySQLサーバへの負荷が増えて、ちょっと重たいページをアクセスするとすぐにパンクするようになってしまったのです。
委託先の担当者の技術力が無かった(アホだった)ということではありますが、よく考えてみるとRuby on RailsだとデフォルトでSQLをキャッシュするので(Rails 2.0以降)、何も考えていないアホ担当者をつかまされたとしてもMySQLサーバへの負荷は増えないんですよね。
(アホ,アホって繰り返しますが、どんなに優れたソフトハウスでも必ず担当者ごとの能力のばらつきがあります。悲劇はアホ担当者をつかまされたクライアントです。実績が立派な会社でも必ずアホはいますし、むしろ規模が大きい会社ほどアホはいますので、実績だけで外注先を選ぶと、こういうアホにあたります。)
Ruby on Railsだと非常に優れたフレームワークが既にあるので、独自に書くソースコードが圧倒的に少なくてすみます。自分が書いたPHPを一年ぶりに見ましたが、たいしたことをやっていない割には本当にソースコードが多いと感じました。それもRuby on Railsだとフレームワークがやってくれることがほとんど。今回問題になっているキャッシュもRuby on Railsなら全部フレームワークがやってくれます。
他人や他の会社に保守してもらう可能性があるのであれば、PHPはやめた方が良さそうですね。Ruby on Railsで行きましょう。
しかもRuby on Railsをやっている人は、一通りフレームワークの勉強をしているでしょうし、新しい開発手法に興味のある勉強家でしょうから、キャッシュの有効性を知らないなんてアホなことはないでしょう。
まだ怒りが静まらなくて、他の仕事に影響が出てしまっています。