めっちゃシステムな話。
サーバーのバージョンアップ作業の改善案。
一般人は意味プーな内容だと思うので、特に見なくてもよいかと。。
<問題>
顧客が大量にいて、同じシステムを導入しているはずなのに、
サーバーへのデータ移行、バージョンアップ作業に非常に時間とられる。
必要な処理だけど、生産的な作業ではない。はっきりいって。
<改善策>
1.ディレクトリ構成
基本はデータの上書きなのに、データの提供のディレクトリ構成が
サーバーの構成と全然一致していない。サーバーの標準構成をつくり、バージョンアップデータは
それに基本的に上書き+環境の違いはバッチファイルでフォルダ構成を変更すればいい。
2.サーバー環境の違い
こちらは、OSの違い(WinとUnix等)やミドルウェア、DB等の違い。
それぞれに異なるプログラムを作成する必要がある(コマンド、プログラミング言語が異なるから)。
また、顧客の規模によっても異なる。DBやAPサーバーの数。
顧客の環境によっても。親会社のハード入れたい、とか、セキュリティ上他と同じ構成にしたくない、など。
セキュリティで他構成と同じに出来ないのは仕方ないとして(バージョンアップ作業時のトラブルリスクを多く抱えることを
認識しているなら)、それ以外は10程度にパターン化出来ると思われる。
3.差分データ管理方式
差分データ管理とは、出荷したバージョンで更新されたファイルのみをデータとして載せる管理をすること。
Ver1.1だとAファイルがあるが、1.2だとAファイルがない、というような形。
この場合、1.2のみ更新するとAファイルが最新の情報でなくなったりするため、各バージョンのマージ
(整合性を取るために差異を埋めていく)作業が必要。
現在ならDVD-ROMに大量データ詰め込めるし、よっぽど大きなシステムのファイルでない限り、
それなりの量は管理できるはず。
それがなくても、バージョンの幅を選択するだけでマージしてくれるようなツールがあってもいい。
(出来るだろう)
4.例外作業の存在
新しい仕組みになったために、ファイル構成の変更、参照データの変更等が現れ、そのために
お客さんの環境に沿った環境設定(変数の入力)が必要になる。
基本、同じ構成にしてしまえば問題ないと思われる。
5.バージョンアップによるデグレード
これはある程度出てくる。ちゃんとしたところならば、すべて修正箇所をソースレベルで文書化でもしている
のかもしれないが、それを全部見てデグレードつぶしも無理だろう。
そもそも、サーバーごと提供してしまえば、上記のようなことをすべて包括したソリューションを提供可能ではないだろうか。。
すでにソフト載っている製品を、サーバーごと売ってしまう。
後は標準のバージョンアップ作業を行うのみ。