スクリプトの自動実行に必要な概念「OPALLS(オパール)」とは。トイル削減でSREを加速

2022年1月18日

ソフトウェアエンジニアが、システム運用も含めて設計するという意味合いで、システム管理者の役割も担うというのがサイト・リライアビリティ・エンジニアリング(SRE)。サービスの「リリース」と「安定稼働」という重要な業務を、品質と可用性を担保しつつ実現しようとする考え方である。

SREはGoogleが発祥で(SREとは?サイトリライアビリティエンジニアリングを実現するためのキモはトイル対策)、GoogleのSREチームでは、いわゆる「トイル(労苦)」に費やされる時間を勤務時間の 50% 未満にすることを目指しているという。つまり、手作業や繰り返し作業が多ければ多いほど、SREチームが運用に振り向けられる作業時間は限られてくる。

このため、ソフトウェア・エンジニアリングを最大限活用することで、手作業や繰り返し行われる作業「トイル」を減らし、そしてソフトウェアによるコントロールを通じ、可能な限り自動化を駆使しようとしている。

自動化を実現するツールの中でも、スクリプトを対象デバイスに実行するためのジョブスケジューラ/構成管理ツールが、SREチームのトイル削減において、最も大きな役割を担う。

自動化スクリプト作成にあたって非常に重要なのが、「OPALLS(オパール)」という概念である。
ここでは、システム運用の自動化の状況と、ジョブスケジューラ/構成管理ツールで実行される自動化スクリプトに必要な機能を、「OPALLS(オパール)」という概念でまとめてみたい。


自動化ツールの構成

まずは、自動化ツールの現状を俯瞰してみたい。
システム運用の現場では、一般的にサーバーやネットワーク機器、アプリケーションなどの状況を常時監視する「監視ツール」。システムを構成するハードウェアやソフトウェアの構成情報を収集するとともに、スクリプトで返り値の取得や設定の変更を行う「ジョブスケジューラ/構成管理ツール」。そして、障害発生時のインシデント/チケットの情報を登録し、進捗を管理する「ITSM (IT Service Management)ツール」がある。これらがAPIで連携され、自動変更や修正、情報の収集・登録などを有機的に行えるようになっている事例も増えている。

これにワークフローや、AIを装備し予測が可能になるオペレーション分析・管理ツールも新たに加えられるようになった。

自動化ツール
図1:自動化ツール

このようなツールの活用は、SREの推進においては不可欠である。特に、スクリプトによる自動化を行うジョブスケジューラ/構成管理ツールの効果的な活用が鍵を握る。


スクリプト実行に重要な「OPALLS(オパール)」とは

OPALLSはスクリプトの自動化を支援する概念で、O(対象デバイス設定)、P(前後処理)、A(完了通知/アラート)、L(ライブラリ)、L(ログ)、S(スケジュール設定)からなる。

スクリプトの自動化に必要な概念:オパール(OPALLS)
図2:スクリプトの自動化に必要な概念:オパール(OPALLS)

実際に自動化スクリプトを作成する順序で説明してみよう。

1.対象デバイス設定(O)
スクリプトを送り込む対象デバイス(サーバー、ネットワーク機器)を設定するが、ドラッグ&ドロップ等UIで個々のデバイスやグループを簡単に選択できることで、簡単かつ視覚的に設定を行う。

2.ライブラリ(L)
よく利用するファイルやスクリプトを登録しておくことで簡単に呼び出すことができれば、繰り返し作業を排除し、効率化につなげることができる。

3.前後処理(P)
ファイル配布前や配布後など、実行の前後にスクリプトを実行し一連の作業を行えることで、パッチ適用やファイルの導入を1つのタスクとして設定・管理できるようになる。

4.スケジュール設定(S)
スクリプトを実行する日時や、毎週や毎月など周期的な実行をカレンダーや時刻テーブルなどで簡単に設定できることで、作業の効率化が図れる。

5.ログ(L)
スクリプトを実行した結果をダッシュボードに表示し、CSV等で出力できることで結果の保存が可能になる。ISMS等のエビデンスにも利用できる。

6.完了通知/アラート(A)
スクリプト実行後に実行状況をメールやSNSで通知することで、スクリプトの実行結果をタイムリーに入手できる。


OPALLSをウィザード画面で実現したPOLESRAR Automation

システム運用自動化ツールのPOLESTAR Automationは、OPALLSの機能をウィザード画面で実現し、作業手順の大半をマウスだけで実行可能としている。
また、点検や差分チェック、ファイル配布など目的別のウィザードがあるため、必要最低限の情報のみでジョブを作成可能である。図3にファイル配布ジョブのウィザード例を示す。

このため、自動化のためのスクリプトを作成する時間が短時間で済み、SREチームの作業を効率化することができる。

ファイル配布ジョブのウィザード
図3:ファイル配布ジョブのウィザード