本連載では運用管理の一要素である「バッチジョブ管理」に着目し、より効率よいバッチジョブ管理を実現するためのツールであるオープンソースの「JobScheduler」について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
サーバ仮想化やクラウドの浸透により、システム環境はますます複雑化しています。このような中、近年では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標準の機能を使用するといくつかの制約や課題が出てきます。例えば、
これらの課題を解決するために、メインフレーム時代から多種多様なジョブの運用自動化ツールが生まれ、使われています。この連載ではその中から、高機能かつ効率よいジョブ運用自動化を実現するオープンソースの「JobScheduler」について解説します。
Copyright © ITmedia, Inc. All Rights Reserved.