はじめに
今回は、TurbonomicとServiceNowの具体的な連携についてご紹介いたします。
Turbonomicは単体でももちろんご利用いただけますが、ServiceNowとの連携によってどのような運用が実現できるのか、その手順なども含めてご紹介させていただきます。
なぜServiceNowの様なITSM(ITサービスマネジメント)ツールとの連携が便利か?
まず、連携に入る前の前提として、Turbonomicのリソース推奨アクションは、以下の3つのモードで構成できます。
- 推奨モード: Turbonomicはターゲットエンティティに対するアクションを推奨するだけであり、アクションはTurbonomicプラットフォームの外部から実行する必要があります。
- 手動モード: Turbonomicはアクションを推奨し、Turbonomicプラットフォーム内のUIまたはTurbonomic APIを使用して実行できるようにします。
- 自動モード: Turbonomicはアクションを推奨し、自動的に実行します。
これらの設定により、お客様は実際の変更アクションの実行に制限を設けることができます。
ただし、一部のアクションでは仮想マシンの再起動が必要になる場合や、パフォーマンスの問題を解決するためにクラウドへの投資が必要になる場合があります。
このような場合、通常、企業ではシステムの可用性を確保し、コストを管理するために何らかの承認プロセスを経る必要があります。また、すべての変更を一貫した方法で記録する必要もあります。
承認プロセスのフローや全社的な作業記録としての役割を果たすため、Turbonomic単体ではこれらの要件を完全に満たすことができない場合があり、そういった場面ではITSMツールが大きな力を発揮します。
ServiceNow連携の概要
Turbonomicは、ServiceNowとの統合をすぐに利用することができ、変更管理プロセスを活用して推奨されたアクションを実行します。この統合では、次の2つのユースケースがサポートされています。
1) Turbonomicの決定と実行されたアクションの記録を自動的に作成し追跡する
Turbonomic のすべての決定とアクションの記録は ServiceNow で作成され、追跡されます。
DevOps、IT、およびアプリケーション チームにとっては、ServiceNowが、Turbonomic で実行されたアクションをすべて追跡するための単一の記録先となります。
2) Turbonomic を既存の ServiceNow 承認ワークフローにシームレスに統合
Turbonomicのすべての意思決定の記録は、IT、アプリケーション、DevOpsチームによる承認のためにServiceNowでChange Request(CR)として作成されます。
作成されたCRが承認されると、Turbonomicは初めて実際の変更処理を実施します。さらに、スケジュール機能との連携を行うことで、例えば承認された処理を夜間のメンテナンス時間帯に自動的に実施することも可能です。
これにより、Turbonomicのすべての決定とアクションはServiceNowで追跡され、ワークフローの一部となります。
具体的なServiceNow連携の設定手順など
では、実際に連携を設定していきましょう。全体的な流れとして、以下の準備と設定が必要です。
- 有効なServiceNowアカウントの準備
- ServiceNow アカウントにインストールされた「Turbonomic Actions」アプリケーション
- ServiceNow アカウントと連携するTurbonomic のインスタンス。
※公式マニュアルとしてはこちらのページをご参照下さい。
※なお、ServiceNowストアから「Turbonomic Actions」アプリケーションをインストールする手順は、ServiceNowの開発者アカウント(PDI: Personal Developer Instance)では利用できません。PDIでのインストールを試したい場合は、個別にIBM担当者にお問い合わせください。
ステップ 1: Turbonomic Actions アプリケーションをデプロイします。
Turbonomic Actions アプリケーションをインストールするには、ServiceNow ストアに移動し、「Turbonomic Actions」を検索します。
「Turbonomic Actions」ページに移動し、アプリケーションを取得します。
これにより、ServiceNow インスタンスにアプリケーションがインストールされます。アプリケーションがインストールされていることを確認するには、「Turbonomic Actions」ユーザー インターフェイスに移動します。ServiceNow ナビゲーターの検索バーに「Turbonomic」と入力します。これにより、「Turbonomic Actions」メニューが表示されるはずです。
ステップ 2: Turbonomic アクションの設定を構成する
変更管理アプリケーションで「Turbonomic アクション」を使用するには、「Turbonomic アクション」が変更リクエスト (CR) を作成する方法を設定する必要があります。設定を編集するには:
- 「Turbonomic Actions」メニューで「Settings」をクリックすると、設定ビューが表示されます。このビューには、現在の設定を示す単一のレコードがあります。
- [一致する CR タイプ] のフィールド エントリをクリックします。これにより、設定レコードが開き、その値を編集できるようになります。
Turbonomic アクションでは次の設定を行うことができます。
Turbonomic アクション用に生成する CR タイプ。変更管理アプリケーションには 3 つの CR タイプが含まれており、それぞれ動作が異なります。このフィールドを使用して、「Turbonomic Actions」を使用するときに生成するタイプを選択します。次のいずれかになります。
i) 通常 (デフォルト)
ii) 緊急時
iii) 標準
CR タイプの詳細については、ServiceNow のドキュメントを参照してください。
注: ServiceNow で CR を編集できます。いずれの場合も、「Turbonomic Actions」で使用する CR には、スケジュールされた状態が含まれている必要があります。Turbonomic Actions は、CR がこの状態にあることを認識すると、Turbonomic によって実行されるアクションを送信します。
この設定をオンにすると、生成された CR ごとにユーザーまたはグループを指定できるようになります。「検索」アイコンをクリックして、有効なユーザー名とグループ名を検索します。空白の場合、承認先のユーザー・グループが何も割り当てられていないCRが作成されます。(CR毎に管理者が承認者を指定します)
企業が特定のアクションに対する CR を拒否し、Turbonomic がそのアクションを再度推奨する場合、それを無視するか、再度検討するかを選択できます。この設定はTurbonomic Actionアプリケーション全体に影響します。これをオフにすると、「Turbonomic Actions」は拒否したアクションに対して新しい CR を作成しなくなります。
- CR 作成にカスタム ビジネス ルールを使用する:
「Turbonomic Actions」が CR を生成するときにカスタム ルールを使用するには、この設定をオンにします。これをオンにすると、Turbonomic Actions は CR を作成しなくなり、ServiceNow 管理者は、CR を生成するカスタム ビジネス ルールを展開する必要があります。ビジネス ルールは、Turbonomic Action Approval イベント (挿入時に x_turbo_turbonomic_turbonomic_action_approval) に対して定義されます。Turbonomic Actions が保持する承認テーブルへの挿入ごとにトリガーするルールを実装します。また、グローバル UpdateApprovalBasedOnRequestStateChanges ビジネス ルールを実装して、特定の CR が承認されたときに承認レコードを更新する必要もあります。(この辺りはお客様のServiceNow管理者による個別のカスタマイズが必要となります)
なお、それぞれの設定後は必ず「更新」をクリックしてください。
ステップ 3: Turbonomic に ServiceNow ターゲットを追加する
次に、ServiceNow 変更管理アプリケーションで「Turbonomic Actions」を使用するには、ServiceNow アカウントをターゲットとして Turbonomic を構成する必要があります。
i) Turbonomic Web コンソールで、[設定] --> [ターゲット構成] に移動します。
ii) [新しいターゲット] --> [Orchestrator] をクリックします。
iii) ターゲット タイプとして「ServiceNow」を選択します。
iv) 接続の詳細を入力し、「追加」をクリックします。なお、ここで指定するインスタンス名は "ven15xxxx.service-now.com" といったFQDNを指定します。(https://は不要)また、ユーザーとしては ServiceNow側のユーザーを指定する必要があり、Turbpnomic Actionアプリケーションをインストールした際に自動的に作成される "x_turbo_turbonomic.user" のroleを持つユーザーを指定頂く必要があります。(もしくはadminでも差し支えありません)
ステップ 4: 自動化ポリシーを定義する
ServiceNow を管理するように構成したエンティティに対して自動化ポリシーを定義する必要があります。ここでは例として自動化ポリシーを定義してみましょう。
i) [設定] --> [ポリシー] --> [新しい自動化ポリシー] に移動します。
「仮想マシン」ポリシーを定義しましょう。「仮想マシン」をクリックします。ポリシー名を入力し、スコープを追加します。ここでは、このポリシーのスコープとして「Cloud_VM_Group」という名前の VM グループが選択されています。
次に、「オートメーションとオーケストレーション」の下にある「アクションを追加」をクリックします。このポリシーを有効にするアクション タイプを追加します。
次に「アクション生成」をクリックします。「アクションの生成」のデフォルト オプションに加えて、ServiceNow にアクションを送信するための 2 つのオプションが表示されます。
承認ワークフローとして「アクションを生成してオーケストレーターから承認をリクエスト」を選択します。アクションを ServiceNow に記録するだけの場合は、「アクションを生成してオーケストレーターに記録を送信」を選択します。[アクションを生成してオーケストレーターに承認を要求する] オプションを選択したら、ワークフローを選択する必要があります。
「ワークフローを選択」をクリックします。定義されているすべてのワークフローが表示されます。適切なワークフローを選択します。
[実行後] で、[アクション実行結果を Orchestrator に送信] を選択し、ServiceNow でアクション実行結果を記録するワークフローを選択します。
「送信」をクリックし、「ポリシーを保存」をクリックします。
このポリシーの対象となる Turbonomic によって推奨されるアクションにより、ServiceNow に CR が作成されます。
Turbonomic が推奨するアクションを見ると、CR 番号とともに「外部承認待ち」という状態が表示されます。
CR へのリンクをクリックして ServiceNow に直接移動する事も出来ます。
ServiceNow で CR が承認されると、Turbonomic はアクションをすぐに実行するか、自動化ポリシーにスケジュールが添付されている場合は将来の実行をスケジュールします。
アクションの実行後、CR は "Closed" としてで閉じられます。
まとめ:
以上、今回はServiceNow連携の基本的な利用方法をご紹介させて頂きました。
いかがでしょう、ServiceNow上に事前に準備されたアプリケーションを数クリックでインストールし、Turbonomicの通常のGUIから連携設定するだけで、実際の運用状況で必要とされる承認プロセスや作業の記録を、簡単にServiceNow内で構築できます。
Turbonomicの機能でリソースを最適化したいけれど、実際に各環境に対してアクションを実行する際、都度、対象システムの管理者さんの承認を得るのはなかなか大変ですよね。そんな運用でお悩みの場合は、自動化された承認フローを活用してみてはいかがでしょうか?これにより、社内的にも積極的なアクションの提案・実行が可能になりますし、承認プロセスだけでなく、その実施結果も明確に記録されるので、ガバナンスの観点でも役立つと思います :)
#なお、承認者さんが変更を拒否される場合、その理由の記載が必要になりますので、なぜ変更出来ないか?についても履歴を残すことが可能です。
ご参考になれば幸いです!
#AIOps
#AI-IT-Automation
#Turbonomic
#ServiceNow