現状の課題
通常のシステム変更(リリース)は毎日少しずつ行われるのではなく、リリース日を決めて計画に沿って行われる。システム変更に伴うジョブ定義も同様にリリース日に一斉に行われる。同時に数百、数千というジョブの追加・変更が行われることもあり、ジョブ定義作業のミスや負荷の増大が課題として挙げられる。
通常、ジョブ定義を変更するとすぐにジョブ定義情報が更新される。そのため、システム日にはシステム変更(リリース)と並行して一斉にジョブ定義の変更作業も行う。リリース日にはさまざまな作業が集中するため、作業負荷が高まり、作業ミス(ヒューマンエラー)も発生しやすくなる。
解決策
システム変更に伴うジョブ定義の変更を事前に予約することにより、リリース日の作業軽減、および障害の防止につながる。同じ定義名でジョブフローを2種類(変更前、変更後)登録し、指定日までは「変更前」の定義でジョブを実行し、指定日後は「変更後」の定義でジョブを実行する。
特別対応として、一定期間だけジョブ定義を変更するケースがある。その場合は「変更後」の定義から「変更前」の定義に自動的に戻す仕組みも必要である。さらに、ミスを予防するには「変更前」と「変更後」の差分をチェックする仕組みがあるとさらによい。
Senju Familyでの実践方法
Senju DevOperation Conductorのジョブスケジュール定義には「定義有効日」という概念がある。定義有効日は「定義有効開始日」と「定義有効終了日」があり、その範囲に一致している場合のみ、定義したジョブスケジュールが有効になる。
ミスを防止する機能としては、「定義有効日」の異なる二つの定義の差分をチェックする仕組みがあり、千手オフライザで自席のPCで確認が可能である。