クラウド環境でのOrchestrator構築とアナリティクス

はじめに
前回は、クラウドのサーバレスのマネージドサービスとOrchestrator APIの連携、ロボットの自動化プロセスからクラウド上の機械学習APIを呼び出すといったクラウドサービスとRPAの連携という観点でユースケースを紹介しました。
今回は、クラウド環境へOrchestratorをホスティングすることに挑戦してみたいと思います。クラウド上にはIaaS、PaaSなど便利で手軽に利用できるサービスが多々ありますが、どのサービスをどのように使用すべきか、アーキテクチャはどのようになるのか、どのように実践すれば良いか等について、その一例を紹介していきます。
また、ロボットの運用台数が増えていくと、実行ログを分析したり、ジョブの稼働状況の統計情報を確認したり、それらのデータを可視化したくなります。そのようなケースへの備えとして、RPAにおけるアナリティクスについても併せて紹介します。
前回はAmazon Web Service(AWS)、Google Cloud Platform(GCP)の各種クラウドサービスを使用してクラウドとRPAを連携しましたが、今回はUiPath社が提供するMicrosoft Azure向けソリューション(UiPath Orchestrator (WebApp with SQL))を利用してOrchestratorを構築します。
UiPath OrchestratorではOrchestrator、ロボット、BI環境までをAzureのマネージドサービスで利用でき、スピーディな環境構築が可能となります。構築後のシステムの相関図は次のようになります。

ロボットとOrchestratorは全てAzureのクラウド環境で稼働し、ロボットの実行ログもクラウドのマネージドサービスであるAzure Cosmos DBに連携されます。そして、ロボットの稼働状況はOrchestratorの永続化レイヤーであるSQL ServerをPower BIで可視化し、ロボットのログもMongoDBのAPIを通して確認できるものとします。
なお、本ソリューション(UiPath Orchestrator (WebApp with SQL))での構築対象は、ロボットが稼働するVirtual MachinesとOrchestorが稼働するApp ServiceとSQL Databaseまでです。Azure Cosmos DBとPower BIは本ソリューションとは別に構築します。
UiPath Orchestratorには、UiPathのエコシステムで必要な要素が全て盛り込まれています。本番運用を見据えた際の検討ポイントは、各ノードを多重化するといった冗長化の考慮となります。
今回実施すること
それでは、Orchestratorの構築とアナリティクスにフォーカスして、クラウドを使用した環境を構築していきましょう。ここで実施する具体的な内容は次の通りです。
- Azure Market Placeを利用してOrchestratorを立ち上げ
- Azure Market Placeを利用してロボットを立ち上げ
- ロボットの実行ログをAzure Cosmos DBへ連携
- Power BI Desktopを利用してSQL Serverを可視化
ロボットの実行ログはSQL Serverへの出力がデフォルトですが、今回のように外部にあるドキュメント型のデータベースへ出力することも可能です。ロボットでは柔軟にログ項目を追加できるので、そのログをこちらで解析するところまでを紹介します。今回はAzure Cosmos DBを使用しますが、ElasticSearchへの出力も可能です(過去の実績としてはElasticSearchとの連携が多数です)。
また、SQL ServerのデータはPower BI以外にTableauやQlikViewでも可視化できます。今回は直接SQL Serverへアクセスしていますが、間に読み取り専用のレプリカやDWHを挟むことでSQL Serverへの負荷を避けるアーキテクチャも可能です。
UiPath Stack
現在、UiPathではAzure向け、AWS向けの2つのクラウド環境において、Orchestratorを構築するためのテンプレートを用意しています。簡単にそれぞれの特徴を表にまとめます。
項目 | Azure向け | AWS向け |
---|---|---|
名称 | UiPath Orchestrator (WebApp with SQL) | UiPath Stack on AWS |
タイプ | PaaS | IaaS |
概要 | PaaSとしてApp Serive上で稼働。データベースはSQL Serverとの互換があるマネージドサービスのSQL Databaseを利用 | IaaSとしてEC2のWindows Server上で稼働。データベースはRDSのSQL Serverを使用し、ロボットのログはElasticsearch Serviceへ格納 |
インストール作業 | Azureのコンソール上からインストール可能 | CloudFormationで使用するインスタンス、マネージドサービスを構築。その中のWindows ServerでUiPathのインストーラを使用してOrchestratorをインストール |
コンフィグ | Orchestratorに関してのみEditorでの設定変更が可能 | Windows Server上、IISやOrchestratorの設定変更が可能 |
利用サービス | AppService, SQL Database | EC2, RDS, Elasticsearch Service |
Azureについては、Azure Market Placeの中にUiPath Orchestrator (WebApp with SQL)が入っています。
上記のテンプレートではPassSやSQL Serverのマネージドサービスを利用していますが、Windows Serverの仮想インスタンスにOrchestratorやSQL Serverを構築するといったプリミティブな構成も可能です。
AzureでのOrchestratorの構築
それでは、実際に作業を進めていきましょう。まずは、OrchestratorをAzure上に構築します。
AzureのコンソールへログインしてMarketplaceのメニューへ遷移し、検索ボックスに「UiPath」と入力します。検索結果に、次のような「UiPath Orchestrator (WebApp with SQL)」が見つかると思います。

画面のとおりに選択し、次の画面で「作成」ボタンをクリックします。

基本設定について、必要事項を入力します。
項目 | 説明 |
---|---|
Orchestrator Name Prefix | Orchestrator名称の接頭語 |
Orchestrator passphrase | App Serviceのパスフレーズ |
Orchestrator Version | Orchestratorバージョン |
Size of Orchestrator based on no. of total roblts connected | インスタンスサイズ |
Number of Orchestrator instances | インスタンス数 |

なお、必要に応じて、リソースグループを新規作成します。

次に、SQL Databaseを設定します。AzureのSQL Serverと互換性があるSQL Databaseを使用します。

概要を確認します。なお、検証には数分の時間を要します。

最後に「作成」ボタンをクリックして完了です。

Azure側での構築作業が全て終了すると、次のように通知されます。

リソースグループより作成されたApp Serviceへ遷移すると、右上に新規で構築したURLが表示されています。

それでは、このURLからOrchestratorのWebコンソールを起動してみましょう。

初期のユーザ名とパスワードを入力します。
Username: admin Password: 890iop
初回ログイン時にはパスワードの更新を求められるので、指示に従ってパスワードを更新します。

次のようにOrchestartorのコンソールへログインできれば成功です。自身のOrchestratorライセンスをアップロードしてアクティベーションを実施しましょう。

連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- チャットアプリとRPAとの連携
- CloudサービスとRPAの連携
- RPAでの大量データ自動化処理の実践開発
- 簡易ブラウザの作成(その2)
- 簡易ブラウザの作成(その3)
- MongoDB Realmを利用したCRUD機能を実装しよう
- MR・AI・量子コンピューティングが重要テクノロジー 〜Microsoft Tech Summit 2017レポート
- PaaSもIaaSもオンプレミスもいいとこ取り!!Windows Azure Virtual Networksで合わせワザ一本!!
- de:code 2019開催。自動運転車からMicrosoft 365、Azure、HoloLens 2までの基調講演まとめ
- Rubyプログラミングの基礎知識