クラウドサービスが普及する中で、アプリケーションおよびサービス開発における性能や可用性、そしてアジリティ(俊敏性)を追求する手法として、マイクロサービスやサーバレスといった、新たなアーキテクチャーが注目されています。
マイクロサービス アーキテクチャーとは、規模の小さなサービス同士を組み合わせ、連係させることで、ひとつの大きなアプリケーションやサイトの構築を行う手法です。アプリケーションのスケーリングを容易にし、開発期間を短縮(スピードアップ)するといった効果をもたらします。
サーバレス アーキテクチャーとは、その名の通りサーバレスでシステムを構築し、アプリケーションの実行に必要なクラウドリソースを動的に割り当てる手法です。といっても、どこにもサーバがないわけではなく、「AWS Lambda」「Google Cloud Functions」「Azure Functions」などクラウド事業者が提供するサービスを利用することで、自社でサーバなどのハードウェア運用、保守を行うことなく、必要な時に必要なリソースや機能だけを活用。サーバ管理のための人的リソースや時間、そしてコストの削減効果をもたらします。
こうした手法は、サービスやアプリケーション開発において前述のようなメリットをもたらす一方で、ITシステム管理においては、次のような新たなニーズを生み出します。
これまでよりも小さな単位でスピーディに開発されたサービスが利用されるようになるため、オンプレミス環境にある既存業務システムとクラウドサービスを組み合わせたハイブリッドな業務連携はもちろん、複数環境にまたがる業務全体の実行状況を効率的に把握できることが必要です。さらに、頻繁に行われるサービス改善のための仕様変更にも迅速に対応していく必要があります。
こうした環境変化を踏まえて、業務フロー開発と実行に求められる要件としては、以下が挙げられます。
クラウドでは、同一クラウド間の連携(業務フロー作成)は、比較的容易に実行できます。しかし、他のクラウド(マルチクラウド)や、特にオンプレミスとのハイブリッドな業務連携となると、連携のための作りこみが必要になるなど業務開発のハードルが高くなります。
また、クラウドで動かす業務は集約、分岐などのフローは組めますが、柔軟なエラーハンドリングを行う業務フローを実現するには実行結果を判定して、その後に実行する処理を切り替えるための作りこみが必要となるケースが多くなります。そして、イベント契機で動かす、いわゆるイベントドリブン型の動きが基本であり、スケジュール、カレンダーなどはcronなどで実装すれば最低限の動作は可能であるものの、「休日の前日に動かす」といった振替動作には対応できません。
次に、業務の実行状況把握に求められる要件としては、以下が挙げられます。
クラウドでは、GUIベースで状況を確認するとなると、サービスの実行単位で結果を確認することが多くなり、複数のサービスの実行状況を統合的にGUIから確認したり、将来の予定を確認したりすることはできません。
また、クラウドでは業務が異常終了した場合、通常先頭から再実行(頭からやり直し)することになります。業務フローの中の一連の処理が途中で異常終了した場合、終了した処理から再開する方が効率的に運用できますが、そのような運用を行いたい場合は、データベースに状況を書き込み、実行済みの処理をスキップするといった業務フローの設計や、複雑な作りこみが必要になります。
統合システム運用管理 JP1は、マイクロサービスやサーバレスなどの新たなアーキテクチャーの活用で高度化、複雑化する業務システムにおいても、これまで通りの安定運用が可能となるよう、さまざまなオートメーション機能を提供しています。
JP1は、複雑な業務フロー開発もローコードで行え、オンプレミスで実行する業務やクラウドサービス、SaaSなどで実行するサーバレス業務を連携し、自動実行します。
オンプレミスで稼働する業務の連携が容易に実現できることはもちろん、今回のバージョンアップでAWS(Amazon Web Services)やMicrosoft Azure、Google Cloud、OCI(Oracle Cloud Infrastructure)などのクラウドプラットフォーム、SAP S4/HANA CloudなどのSaaS/Webサービス、その他の各種クラウドサービスとの連携も強化。
オンプレミス−マルチクラウド間の業務連携を、容易に実現します。
JP1では、AWS LambdaやAWS Batchなど、よく利用される業務連携のための部品(サンプルコンテンツ)を提供。さらに、連携部品はGUI画面からローコードで作成可能であり、これまでのようにスクリプトを使用しての連携部品開発が不要です。
使いたいサービスがあれば、新たに部品を作って簡単に連携でき、ベンダー側のエンハンスやサポートを待たずに対応できます。
クラウドサービスとの連携部分をスクリプト開発で実現している場合、サービス側の仕様変更があると、該当するスクリプトをすべて改修するなどの開発が必要になります。
JP1ではクラウドと連携するための「認証情報」「接続情報」、クラウドサービスを実行するための「実行情報」をJP1のジョブ定義から分離して一元的に管理。個々の業務フローを変更することなく、GUIからクラウドサービスの設定内容だけを一括、もしくは部分的に更新することで、オプション追加などの頻繁なサービスの仕様変更に対応できます。
ジョブを実行する際に、JP1で定義した連携情報を取得してクラウドサービスと連携するため、サービス側に仕様変更が発生しても、ジョブ側に変更を加えることなく、最新の情報でサービスと連携する運用を実現できます。
これにより、企業ルールなどの要因で利用サービスのオプション変更などを行う場合も、運用しているジョブ側に影響を与えず(運用を止めることなく)、すぐに自社の運用に合わせて利用するサービスの変更を柔軟に反映できるようになります。
このようにJP1では複雑な環境においてもシンプルに業務フロー開発ができるため、オンプレミスとクラウドが混在するハイブリッドな環境においても、視認性と運用性を向上させた業務運用が可能となります。
JP1では、複数のサービスで行う処理が終了するのを待ち合わせて次の処理を開始する、戻り値(処理結果)によって次に行う処理を切り替える(リトライ、リカバリージョブの実行)、といった条件が複雑な業務フローも、確実に設計・自動実行できます。
ファイルの作成や更新、メール受信や業務を実行してから一定時間が経過したなどのイベント発生を契機に業務を自動的に実行します。
さらに、営業日・休業日を基本としたカレンダーをベースに、月次、週次、特定日、休業日振り替えなど、企業のカレンダーや業務のスケジュールに合わせた実行制御も可能です。
続いては、業務全体の可視化と把握、迅速な対処に関する機能および、活用効果を解説します。
JP1は、オンプレミスで実行する業務やクラウドサービス、SaaSなどで実行するサーバレスの業務も含め、業務全体の進捗度、正常終了や異常終了、遅延など状態別の実行件数、業務ごとの実行状況などを、1画面で統合的に確認、把握できます。
イベントドリブンやカレンダーで制御する業務の実行実績と未来の実行予定も把握できます。マンスリースケジュールは月単位で業務の実行実績と未来の実行予定を、デイリースケジュールは当日の業務実行状況をリアルタイムで、それぞれ確認できます。
そして、業務においては見える化と状況把握のみならず、障害発生時の迅速な対処も、重要なポイントです。
JP1では、当日の実行状況からどこで問題が発生しているかを容易に特定できるだけでなく、リカバリ機能を利用して同一画面上で、業務フローの途中から業務を再開することができます。
クラウドでは、基本的に業務が異常終了した場合は先頭から再実行(頭からやり直し)となりますが、JP1ではエラー個所の容易な特定に加えて、業務途中から再実行などの操作が可能。業務の実行状況に応じて、保留、保留解除、中断、強制終了、再実行といったきめ細かな操作ができます。
いかがでしょうか。この記事では、「マイクロサービス」「サーバレス」といった新たなアーキテクチャーがもたらすメリットと、それらが生み出す新たな運用業務ニーズ、そして、それらの要件に応えてITシステム運用管理のさらなる効率化と安定稼働を実現する、JP1 Version 13 および JP1 Cloud Serviceのオートメーションについて、解説しました。
まとめると、以下のようになります。
アプリケーションおよびサービス開発における性能や可用性、そしてアジリティ(俊敏性)を実現する一方で、オンプレミスとクラウドサービスをつなぐ、ハイブリッドな業務連携の実現や、サービス含めた業務全体の実行状況の把握が必要となる
JP1は、今回ご紹介した「高度・複雑化したITシステムの安定運用を実現するオートメーション」について、新たに機能強化した以下の製品・サービスを提供しています。
JP1のオートメーションについてさらに詳しくお知りになりたい方は、ぜひお気軽に、下記お問い合わせフォームにてご相談ください。