業務システム開発と運用とは本質的に思想が異なる件についての考察2011/12/30 16:42


業務システムの開発と、そのシステム運用について2年ほど携わった経験を振り返っての所感。きちんとウラを取ったものではなく、個人的な考えをまとめたドラフトなので、間違っているかもしれない。

なんで、こんな事を考えるようになったかと言うと、本物のミッションクリティカルなシステムについて、たまたま開発と運用の両方をPLとして主管する期間があり、いわゆる想定外の事象(考慮漏れ)と、人為ミスを繰り返してきた過程で、これは実は思想的な問題があるのではないかな、と思った次第。レベル分けすると、以下のような壁で分断されているように思うところである。

想定外の事象 >>>(あり得ない壁)>>> 想定内の稀な事象(一部手運用だが検証済の手順有り) >>>(コストの壁)>>> 想定内の事象(システムが自動リカバリする) >>>(運用と開発の思想の壁)>>> 要求された開発要件にあるエラー処理

※(2011/12/31追記)
ミッションクリティカルにもいろいろあって、止まると自社の業務が停止して、株価に影響が出るとか、最悪つぶれるというものも該当すると思うけれど、ここで言っているものとは違う。社会インフラの一部としての情報システムが停止した場合、社会生活に大きなインパクトがあり、そういった分野では、出来る・出来ないが問題ではなく、常に低リスクを選択しなければならない、というところです。


業務システム開発と運用とは本質的に思想が異なる件についての考察(ドラフト 2011.12.30)

【システム開発】

(思想)
開発は「プロジェクト」つまり、リリース・納品という明確なゴールが存在する。

(基本形)
開発要件を期限内に満たしてリリースするために最善を尽くす。
最善は尽くすけれども、バグを0にすることが不可能であるということと同様に、開発の途上、リリース後に想定外の事象が出るのは当然のこととして考えている。


(非機能要件)
明確に要求仕様で提示されれば、それを満たす要件定義を行うが、要求が無いところに要件はなるべく増やさない(∵やることを増やしたくないので)。

(商用機の取り扱い)
運用中は基本的にNG、運用側の要請が無い限り開発は手出し無用。
ただし、停止を伴うような大規模リリースは開発サイドで主管する。




【システム運用】

(思想)
運用は「プロジェクト」ではなく、ゴールは存在しない。常に改善あるのみ。

(基本形)
安定運行が第一優先。
何事も問題を起こさないために何が出来るか、想定外を想定内に収めるためには何ができるかを考えている。
→そのためには、初めて実行するコマンド、手作業は絶対NG(どうしても必要なときにでも、必ず手順を明らかにして、検証を行った後に実施。)


(非機能要件)
安定運行のために、(レスポンス性能、データ保存期間、状態監視、障害時対応フローなどなど)非機能要件の洗い出しと設計(マニュアル化)を必要とする。開発が意識しない(≒やりたがらない)事項についても注意喚起を行う。



(商用機の取り扱い)
運行業務の主管として、運用作業手順に従った操作を行う。
人為ミス防止への取り組みは重要なテーマ。

想定外の事象が発生した場合、もしくは発生する可能性が高い場合には、仕様だけでなくシステムの実装まで理解している開発スタッフにも臨場をお願いする。


※追記
DevOpsの話も知っていますが、これって開発と運用の違いを理解した上での次のレベルなんだと思うのです。
http://www.publickey1.jp/blog/11/devops.html

日産LEAFに乗ってみた2011/05/05 23:33

電気自動車(EV)である、日産LEAFがレンタカーで借りられるそうなので、昨日(5/4)借りて実際に運転してみた。以下は感想。

(良いところ)
・静かで走りはなめらか、かつ加速力も十分

 見た目は普通の車なので、全く違和感なく乗ることが可能(現に、陪乗した彼女は僕が教えるまでEVであることを全く気づかず)。操作感はガソリン車と比べて全く遜色がないレベルに達していると言える。

 エンジンではないので、モータをふかすというような概念は存在しないけれど、アクセルをちょっと踏み込むとすばらしい加速力。これまでの電気自動車の(せいぜい20km/hしか出ないカート)概念を打ち壊された。
 停止状態~50km/h~100km/hまでの加速も滑らかで、風のような走りと僕はその日形容した。

 もちろん、ポルシェのようなスポーツカーと比べれば全然まだまだ、だけれども、普通車としては高級ガソリン車の域に達している。



(不満なところ)
・航続距離が130km程度とまだまだ短い

 貸し出し時に、「充電から多少時間が経っているので、80%残容量、航続距離120kmくらいですので、途中の公共充電器で充電して下さい。満充電にする必要はありませんが、ほぼ空の状態で返却はやめて下さい」と言われた。

 当日は、東京の木場~神奈川の藤沢までの60km弱の旅程だったんだけれど、これだと帰りは足りない。バッテリーが完全に上がってしまうことを、ガソリン車になぞらえて、EVでは「電欠」と呼ぶらしい。

 しかも、行きの旅程では調子に乗って加速性能とかを試すために、かなりアクティブに走らせてみたところ、バッテリーをみるみる消費してしまう。。。

 ECOモードという節電モードもあるので、切り替えてみると、急に車に元気が無くなってしまう。それでも、軽自動車(CVT)くらいの加速力はあるのだけれど、正直、走る上では全く楽しくない。



・充電に時間がかかる

 自宅でも充電ができるのかな?と思い、トランクの充電器を見てみると、200Vの専用コンセントでないとダメらしい。。。しかも、数時間レベルで時間がかかる。


 急速充電器ならば30分で80%まで充電できる、とのことで、設置されている場所を探してみると、藤沢市役所にあるらしい。電話して行ってみた。

 急速充電器は電源ケーブルが、ガソリンスタンドのホース並に太く、かつ、中身は銅線なので非常に重い。。。女性ではちょっと厳しいかも。装置も物々しいし、「絶縁試験中」ですとのメッセージも出るので、ちょっと一般人には怖いかも。後で調べたところ、400V 100Aでしかも直流(DC)で給電する装置だったらしい。。。交流ならまだマシか、と思っていたところ、直流だとすると、これは何か間違いがあると即死事故が発生しかねないように思える。


・高音周波数は耳に触る

最初は電車と同じだからしょうがないと思っていたけれど、やはり、高音周波数が耳にさわるところがあまり良くない。これはLEAFに限らず、プリウスでもよく言われてはいるけれどね。



(総論)
航続距離の事さえ除けば、既にガソリン車を十分以上越えた存在になっていると思います。

価格面でも、まだまだプレミアム感が強いところではあるけれど、(優遇税制も活用すれば)買えない金額でもない。


航続距離がどうしても限られてしまうので、ルートが限られているような営業車、あるいは近くに買い物にしかしかない人なら十分。

しかし、自動車の最大のメリットである、「どこにでも行ける」がまだガソリン車には及ばないところは、まだまだ電気自動車が主流にはなり得ない所なのかもしれない。
もし、例えば、航続距離が一回の充電で350km以上、一回の充電を10分以内とすることができれば解決すると思うけれど、それにはまだまだいろいろなハードルがある。




LAMPの限界線2010/07/29 01:12

仕事としてコンピュータシステムを管理するようになると、その重要性と相まって、どうしても妥協が許されないポイントに重大なバグが出てしまうシチュエーションがある。

自社CPであれば、ビジネス要件レイヤーや、運用方法で回避できるかもしれないことであっても、請負業務として受託しているとそうは言えないところがある。委任契約のコンサルティングはその点気が楽でいいのかもしれないが(実際はどうだろうか?)。

どうも最近LAMPそれぞれのコンポーネントで、そんな重大なバグ、仕様、そもそも要件を越えた限界線にタッチしているように思える。それがつまるところ、エンタープライズレベルでは、とか、ミッションクリティカルという言葉が意味するところなのかもしれないとしみじみ思う。

ただ、幸いと言うべきか、
LinuxはRedHat、MySQLはOracle(のMySQL BU)があって、プロフェッショナルなサポート、問題解決の手段を持っているところであり、なんとかそれで持たせようとしている。

Apacheは、今のところ問題にぶちあたってはいない。負荷分散はすでにBIG-IPの担当にさせているということもあるが。

PHPは難問である。これまでは良かったけれども、正直、今後大丈夫なのか、と思う。Zendがもっとリーダシップを取れていればまた違うのかもしれないが。

Google
WWW を検索 zak.asablo.jp を検索