(一応)休日で休んでいると、お仕事を一緒にしているお客様のサービスシステムから監視のエラーの報告が… 24時間365日稼働が必要なサービスなのですが、どうやらエラーが発生した模様。
早速、サーバにログインして確認をしてみると…
Segmentation fault…
やってしまいました。アプリケーションが腐って誤動作している模様。
でも、ここ最近は問題が無く、原因を確認しても、サーバは正常に動作。おかしなところは見あたりません。もしかして… と思い、PHPでかかれたアプリケーションを確認。
(ごにょごにょと20分くらい)
…見つけました。
開発筐体には入っていないソースコードが本番環境にあり、そのソースコードも手書きでなおした模様。そのロジックがおかしくプログラムがエラーになっていました。
あれほど「本番環境をおもちゃにするんじゃない」と言っておいたのに…orz
すぐにバックアップに書き戻して、動作を安定させて、それから誰が作業したのかを調査。
調べてみたら、いつも注意をしているスタッフであることが判明。
再三注意をしているのですが、どうもサービスが稼働している本番環境の重みが分かってもらえていないようです。
報告書を書いて、明日 朝一番で開発の打ち合わせをしなくては…。
開発環境があるのに、本番環境をいじりたがるし、そのソースコードの品質も悪いし、俗に言う「ポカ」も多い。開発のリリースの方法を考え直して、本番環境でリリースする方式を変更しないといけないですね。
コンパイルの必要が無い PHP や perl などが流行ってから、上記のように「ちょっといじって」しまうという行動が目立つようになりました。直しやすいから直してしまうんでしょうけど、その重要性や責任の重さをもっと伝えていかないといけないのですかね…