2011年2月26日土曜日

クラウドの活用とテスト自動化

#もともとここは自分用のメモだけど、
 今回はさらに自分だけが対象。
 愚痴っていうか宣言というか。

最近、システム運用は実はすごく大変なんだよって
話をよく聞く。会社でもネットでもどこでも聞く。

ふざけるなよ、と。バカかと。

「お客様は神様じゃない」とか、「急な仕様変更」は受けないとか
「無理な注文には値上げ要求するべき」とか。
言ってることはよくわかる。でも

あのね、よく考えなよ。

私たちSEってなんなんだ?
「お客様の課題をIT活用で解決します」でしょ。
自分らの課題もITで解決できないのに、顧客相手に商売できるの?

システム運用が大変って話しも一周したでしょ。
そろそろ、前向いてどうやって解決するのか考えよう。

解決手段は2つ。
クラウド化とテスト自動化。

本気で24時間365日サービス提供しようと思うと、
開発はともかく、サーバ運用が大変なことになる。
常に人を張り付かせて昼夜問わずピーピーなる
ワーニングメッセージにしょぼしょぼしながら対応する。
深夜にHDDが壊れたとかなったら
タクシーで現場に駆けつけて対応だ。
私はそういうシーンがすごく好きでワクワクするんだけど、
それを長年続けると欝やモチベーション低下でチームが崩壊していく。

一挙にこれを解決するのがクラウドの活用だ。
サーバの設置不要でスケールアウトもボタンひとつ。
監視も肩代わりしてくれるどころか自動復旧までしてくれる。
まだセキュリティが甘いとか(SLA的な意味での)稼働率が不安とか
言っている人は情報が遅い。半年もしないうちに解消する。

うちの会社含め自前のクラウドを用意できていない会社は
サーバ管理は素直に諦めたほうが良い。
クラウド業界は今後は規模の勝負になる。
ノウハウもないのに下手にプライベートクラウドとか作ると痛い目みるし、
他社の方が圧倒的なサービスを提供できるのであっという間に顧客が
そちらに流れることうけあい。
てか、サーバ運用を主にやっていてい未だにパブリッククラウドを
提供する体制になっていないような会社は真面目に仕事してないだろ。

というわけで、今後はアプリ開発が主戦場になると思う。
で、テストの自動化が必要になる。

ネットサービスの台頭で今まで以上にスピードが求められてる。
それはSIerも同じ。早く出来れば安くできるから。

そして上の議論にもどるけど、急な仕様変更とか無理な注文で
テスト後戻りとかケースが増大するとかわめくバカが多い。
そして実際、障害をドカンと起こして「顧客の無理な要求で」、
とか言って、顧客も会社も自分も納得させんな。

テストの自動化をすれば解決できる。
テストのスピードアップもそうだし、
テストファーストによるテストケースを
作成してからの開発っていうシステム開発の
大前提を守ることができる。
リリース直前の仕様変更があっても高品質のテストが
数分でできれば何の問題もない。

と、いうわけで社内でテスト自動化を推していきたい。
まずはSeleniumRC導入して布教していこうと思う。
理解者もいるので、なんとか会社を盛り上げたい。