タイトルに意味はありませんwww沙耶です。
鯖って書いたらつい食い物になっちゃっただけです。
鯖。じゃなかった、サーバ。
サーバの構築。そして、構築したサーバの運用。この二つは、それぞれ別々の物に思われがちなんでしょうか?
作った戦闘機のメンテナンスは作ったトコが普通やります。当たり前です。
サーバも同じです。普通は。ごくまれに例外的に、運用はうちでやるけどめんどくさいから構築だけやって?とかいう案件もありますけど、他人の構築した環境を運用するほどワケ分からなくなることはありません。
Windowsだとすべての設定がレジストリに集約され、ブラックボックス化しているのでWindows Serverだと誰が構築して誰が運用しようがさして変わりません。かなり画一的な運用ができます。
しかし、世の中IISが大ッ嫌いでゲイツの顔にパイを投げつけるのが人生の目標なんてヒトもいるわけです。犯罪者ですね。
さて。LinuxをはじめとするUNIX環境は、その設定などをすべてかなり柔軟に設計できるようになっています。
何せ、設定ファイルはぶっちゃけドコにあってもかまいません。その中身もテキストですしね。
実行ファイルもドコにあってもかまいません。
ライブラリも、別に慣例的にここにしとこうぜってのはありますが、どこにあろうが問題ありません。
唯一ここにないと困る、なんてのは多分ブートストラップローダの絡みくらいじゃないんですかね。
とはいえ、これもMBRをいじればいい話になってしまうのですが。
と、いうわけで、UNIXの環境って(有る程度慣例とか通例とか普通ここに置くだろ見たいなのはありますが)かなりヒトによって違います。
apacheの設定ファイルひとつとっても、ヒトや環境によってぜんぜん違います。
この辺はプログラマの書くコードが同じプログラムでも違うのと同じですね。
どういうコードが見やすいか、ってセオリーはある程度ありますが、その上にプログラマの好みってもんがあります。
そこで、この好みの部分が出てしまうことを抑えるのがコーディング規約と呼ばれる記述ルールですね。
しかし、まあコーディング規約でもアルゴリズムの好みを制御することはできませんが。
さて、UNIXのサーバの構築ってのはこのようにかなり自由度が高く、なおかつコーディング規約に相当する部分があまり明文化されていません。
なぜなら、この部分こそがディストリビューションの差異の一部になってしまっているからで、RedHatなんかはこれの共通化を訴えていますが、なかなか上手くはいってませんね。
なぜ上手くいかないのか、というと
この自由度の高さこそが、次の運用をどうするか、って部分とものすごく密接になってくるからです。
運用においては管理する人間が”より直感的に分かりやすい”構成であればあるほど安定度は増します。
構築と運用は別々の物でありながら、ひとつの結合されたスキルでもあるわけです。
逆にいってしまえば、優れた運用方法を知ってる人間は、多くの場合それに適した構築方法を知っています。
しかし、構築ができるからといって、運用ができるとは限りません。
“Linux インストール”とか”Linux 構築”とかでググればノウハウはいくらでも出てきます。
しかし、運用はそうは行きません。テキストはたくさんありますが、どのテキストも「自分の環境とよく見比べて常にチェックするのが大事だ」みたいな内容しかありません。
いわゆるHowToにあたるようなものはマズ見つからないでしょうって言うか環境ごとで全部異なるのにかけるか馬鹿やろうwwwww
つまり、僕らの感覚からすると
運用>>>>>(越えられない壁)>>>>>構築
です。そもそも構築は運用をどうするかを見据えて案件を定義するので、運用ポリシーが決まってないサーバの構築なんてCDのインストーラーに全部やらせてそれ以上何をしろと。と言い返したくなるわけですよ。構築なんて馬鹿でもできます。CD入れるだけです。あとはWebでもみりゃいくらでも情報は転がってます。
セキュリティセキュリティ!って叫ぶ客や営業は多いですが、セキュリティの根幹は構築ではなく運用が担うものです。安全なサーバを構築してくれ、とか抜かしたらぼてくり回したくもなります。
穴だらけの設計をするならともかく、普通に最低限これっくらいは、見たいなとこさえ抑えてしまえば、あとは設計構築の問題ではありません。
安全になるかならないかは構築ではなく、運用過程をドコまで高いレベルで維持できるか、そこにドコまでのコストをかけるか、という問題だからです。
家のドアに鍵をつけない家を設計したらタダのアホですが、家のドアに鍵をつける設計をしさえすれば。
あとは家に泥棒が入るかはいらないかは普段家のヒトが”鍵をかけるかかけないか”という点に集約されます。
#例外侵入はとりあえずおいておいて。
家の建築の段階で鍵をつけるかつけないかは設計の問題。
家のヒトが鍵を使うか使わないか、ってのが運用の問題。
この例だと運用のヒトは設計構築はできないように感じるかもしれませんが、鍵に問題があったときに、その鍵を別の鍵に変えたり、そもそもドアごと作り直したり、鍵をもっといっぱいつけたり、ダミーの家を別に用意して騙したり、といった部分も実は運用の仕事です。で、この仕事には設計構築の技術が不可欠です。
そのため、ぶっちゃけこの二つは本来不可分。
さて。昨日ちょっと会議がありましてね。営業のボスが言いました。
「~~君は構築能力が高いから、ログ読みなんかの運用なんか他のヒトにでもやらせて構築でスキルを発揮してくれないかなぁ」
…えーっと。要約すると「お前は能無し」ってことですね?
喧嘩売ってるんですよね、これ?
世の中は
運用 <<<<<(越えられない壁)<<<<< 構築
ですか。運用できるってことは構築できるんですけど。さすがに超凹んだ…。