連載
» 2013年10月17日 18時00分 公開

OSS「JobScheduler」で実現するこれからの運用自動化(1):JobSchedulerの機能と設定〜基礎編 (1/2)

本連載では運用管理の一要素である「バッチジョブ管理」に着目し、より効率よいバッチジョブ管理を実現するためのツールであるオープンソースの「JobScheduler」について解説します。

[秋穂賢(TIS株式会社),@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

はじめに

 サーバ仮想化やクラウドの浸透により、システム環境はますます複雑化しています。このような中、近年ではDevOpsに代表されるとおり、迅速にサービス提供を実施するために効率よい開発や運用を実施することが求められています。

 本連載では運用管理の一要素である「バッチジョブ管理」に着目し、効率よいバッチジョブ管理を実現するためのツールであるオープンソースのソフトウェア「JobScheduler」について解説します。

※以降、本編の中で記載する「ジョブ」は「バッチ形式で実行するジョブ」を指します。

これまでのジョブ管理

 バッチジョブというと、モダンなアプリケーションとは縁遠いもの、と感じる人がいるかもしれません。しかし現在もなお、特にエンタープライズ環境においてはなくてはならない仕組みでもあります。

 バッチジョブは、黎明期からコンピュータと深いかかわりを持ってきました。最も古くから使われているコンピュータであるメインフレームは1950年代に登場しましたが、そのころから1台で大量のバッチジョブを制御していました。1977年にはメインフレームコンピュータのジョブ運用自動化ツールの草分けともいえる「A-AUTO」が販売されています。このようにジョブ運用自動化の重要性は、コンピュータが登場した当初から認識されていたのです。

 1990年代になると、UNIXなどの登場によってシステムの分散化が進み、複数台の分散環境で稼働するジョブを管理する必要が生じてきました。このようなニーズに対応すべく、国産の運用自動化ツールとして有名な「JP1シリーズ」もこのころに登場しています。

 そして2000年代後半になると、前述のようにサーバの仮想化・クラウド化が進みました。管理するサーバ台数も桁違いに増え、数十台〜数百台、時には数千台といった大規模環境になっています。

【関連記事】

Hadoopの現実解「バッチ処理」の常識をAsakusaで体得

http://www.atmarkit.co.jp/ait/articles/1205/28/news126.html

バッチ処理はJavaでバッチリ? その現状とこれから

http://www.atmarkit.co.jp/fjava/column/andoh/andoh37.html


クラウド/仮想化時代に必要なジョブ運用の自動化

 このように、仮想化やクラウドの登場によって、システム管理者には大量のサーバの管理が求められています。一方でITシステムに求められる要件はこれまで以上に多様化・複雑化し、処理するデータ量は膨大になっています。このような状況において、システムの運用を人手で行うことは現実的ではありません。

 こういった運用の課題に対応すべく、さまざまな運用自動化ツールが登場してきました。

 ジョブの運用自動化ツールも例外ではありません。ジョブの運用自動化は、OSに標準で搭載している機能(Windows環境であれば「タスクスケジューラ」、Linuxであれば「cron」など)でも実施することはできます。しかし、OS標準の機能を使用するといくつかの制約や課題が出てきます。例えば、

  • どのサーバにどのジョブが実装されているのか収拾がつかなくなり、管理が煩雑になる
  • 標準機能ではジョブ実行時間や実行ログなどの履歴管理ができず、独自実装が必要となる
  • 先行後続制御や排他制御などの複雑な処理構成が必要な場合、独自実装が必要となる
  • OSに依存したジョブ実装を行う必要がある

 これらの課題を解決するために、メインフレーム時代から多種多様なジョブの運用自動化ツールが生まれ、使われています。この連載ではその中から、高機能かつ効率よいジョブ運用自動化を実現するオープンソースの「JobScheduler」について解説します。

オープンソースの運用自動化ツール「JobScheduler」

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。