30歳独身女性です。私の可能性を教えて下さい。

http://q.hatena.ne.jp/1151314535
もうすぐ三十路の私にとっても、重い質問だった。
「資格を取るとよい」「趣味に没頭すると良い」という回答は、それなりに説得力があるけど、あまりにゼロベースすぎて、自分の生活に組み込むのは難しいなあ、というのが正直なところ。結局、30歳を過ぎてしまうと、それまでのキャリアを完全にリセットして何かを始めるのは難しい、っていうところが実情みたい。
多分、今の仕事、今のプライベートをいきなりゼロにしようとするから無理が出るのだろう。まずは、今の仕事・プライベートが10だったところを8にして、興味のある仕事・プライベートを2にする、といったような形で徐々にシフトしていくのが、大人の対応、というところか。

システム運用の世界は、障害と隣り合わせ

http://itpro.nikkeibp.co.jp/article/OPINION/20060621/241421/
最近、現場オペレーションでひいひい言っている中で読んだ記事。あまり結論らしい結論が出ていない、ダメ記事と斬って捨てる人も多そうな記事だけど、それだけに印象に残った。
一般に、システム障害の原因は、大きく3つに大別される。1つは、ソフトウェアのバグ。もう1つは、ハードウェアの故障。あとは、人間による運用ミス。細かく調べると他にもあると思うけど、大まかに分けるとこんなところだ。最近のシステム障害、というとソフトウェアのバグがよくニュースになるけど、東証のシステム障害(みずほ証券じゃない方)みたいに、人間による運用ミスが原因のシステム障害も、実は結構ある(ようだ)。
高額な費用をかけて作る(時には数億、数十億かける)コンピュータシステムなのに、たかだか運用ミス(大半はコマンド入力レベルでのミス)でシステムに障害が起きるのは何故だろうか。
私は、システムの柔軟性と、運用手順のシンプルさにトレードオフが存在するため、大規模なシステムでは、運用手順が複雑になってしまうからではないか、と考えている。ここでいうシステムの柔軟性とは、アプリケーションパラメータの調整、といったミクロなレベルから、システム全体の拡張性、といったマクロなレベルまで含む。要は、後からでも色々設定したり書き換えたり出来る、ということを指す。
どんなシステムであっても、それが「生きたシステム」として稼動するためには、実際には色々と面倒な条件がついて回る。「22時になった時に誰も操作している人がいなければシャットダウンする」必要があったり、「監視システムからの確認メッセージに対して、必ず応答する」必要があったり、細かいところまでローカルルールがついて回る。実際にシステムが搭載されるオペレーティングシステムとかハードウェア、ミドルウェアなんかは、そのことが織り込み済みで、細かく設定を変更することが可能だ。
細かいパラメータまで設定できるのは良いのだけど、実際にシステムとして動かすためには、設定しっぱなし、というわけにもいかない。他のパラメータとの絡みや、各ソフトウェアとの絡みといった、まさに「システム上のしがらみ」が沢山あるのだ。そのしがらみが増えるほど、コマンドの入力順、ソフトウェアの起動順、ファイルの置き場所、設定ファイルの記述方法などで、守るべきルールが増えてしまう。ミスするとシステム影響が出る操作項目が、増えていってしまうのだ。
「ミスったらまずい、という細かい手順をいちいち作るなら、そういった部分も管理用システムとしてまとめてしまえばよいではないか」という意見もあると思うし、一つの有効な方策にはなりうると思う。ただ、その方法を採用すると、確実にシステムの柔軟性が低下する。管理用システムの機能を満たさない形で、システムを改修する場合、管理用システムも同時に改修する必要が出てくるからだ。現実問題として、コストや開発期間をより潤沢に確保する必要が出て来てしまう。多くのシステムでは、そういったアプローチはとれないのではないだろうか。
システムの柔軟性と運用手順のシンプルさのトレードオフを解消するのが難しい以上、結局負担と責任は末端のオペレータと操作手順作成者にかかる、ということになってしまうのが現状だと思う。工夫している/できる現場はいいんだろうけど、開発の世界と違って、あまりノウハウが共有されていないように思う。このままではいけないんじゃないかなあ・・・。
この話を書いていてふと思ったんだけど、ITILなんかを読むと、そのあたりの解決策とかガイドラインが書いてあったりするのかな。せっかくなので今度、調べてみるとしよう。