ServiceNowの導入を検討している方に向けて、システムアーキテクチャまわりでよく聞かれることをまとめます。
SaaSなの?PaaSなの?
ServiceNowは自らの提供するサービスをApplication Platform as a Service(aPaaS)と位置付けており、提供するアプリ開発プラットフォームをNowPlatformと呼んでいます。しかし、ServiceNowはクラウドのアプリ開発プラットフォームに加え、自社でもそのプラットフォーム上ですぐに使えるアプリ(SaaS)を提供しているため、PaaS事業者であり、SaaS事業者でもあると思っておけばよいです。
- aPaaS(NowPlatform) … DB、外部ツール連携するためのコネクタ、ワークフロー、ナレッジ、CMDB、サービスカタログ、モバイルUI、各種開発ツールなどを持つアプリケーション開発プラットフォーム
- SaaS … ITSM、ITBM、HRSDなど、NowPlatform上ですぐに使える形で提供されているソリューション群
NowPlatformの全体像を表す図として、よく見る図だと、次のような区分けになっています。
(参考: ServiceNow Overview Workflow)
![](https://servicenow-lab.com/wp-content/uploads/2023/01/image-1024x557.png)
クラウド or オンプレ
クラウド版とオンプレ版が存在する製品もありますが、ServiceNowは原則クラウド版しかありません。
一応オンプレの選択肢はありますが、他のどちらでも動く一般的な製品のようにオンプレ用のセットアップ手順がドキュメントに書かれていてそれに従う、といったものではなく、情報がほぼ公開されていないため、ServiceNowのサポートとやり取りした上で行う必要があります。また、オンプレ版を選びたくなる理由は「クラウドにデータを保管したくない」であることがほとんどだと思います。この観点では、後述のように日本にデータセンタがあること、データ暗号化のオプションが用意されていますし、情報セキュリティに厳しい分野である政府系や金融系での採用実績もあるため、クラウド版で問題なるケースはまずないでしょう。
クラウド版を使っているとしてもオンプレにサーバを立てることがある
ServiceNowでは、オンプレシステムとシステム連携を行う場合に、MID Serverと呼ばれるいうオンプレサーバを立てる必要がある可能性があります。具体的に必要となるケースも含め下記の記事にまとめているので、併せて参照ください。
データセンター・DR
ServiceNowは日本に東京、大阪2拠点のデータセンタを持っており、アプリケーションはActive-Activeで冗長化され、データはリアルタイム同期されています。
なお、ServiceNowは世界中にデータセンターを持っていて、東京・大阪のように2拠点一組のペアになっています。そして、ある顧客のインスタンスはいずれかのペアで冗長化されて運用されています。
![](https://servicenow-lab.com/wp-content/uploads/2023/01/image-1-1024x641.png)
(参考: Advanced High Availability Architecture)
シングルテナント or マルチテナント
ServiceNowはシングルテナントです。厳密には、ServiceNow社はシングルテナントではなくmulti-instance architectureと呼んでいて、インスタンスごとに論理的に分割されたデータベースとAppNode(AppNodeの詳細はわかりませんが、APサーバ、もしくはAPコンテナと考えてよいと思われます)が存在するとのことです。このアーキテクチャによって、異なる顧客のインスタンスはもちろん、同じ顧客に割り当てられた異なるインスタンス間でもが互いの環境に影響を及ぼすことはないとのことです。
![](https://servicenow-lab.com/wp-content/uploads/2023/01/image-2.png)
(参考: Advanced High Availability Architecture)
インスタンスについては下記の記事で詳しく説明していますので併せて参照ください。
セキュリティ関連
データ暗号化
データの暗号化についてまず知っておくべきことは、標準ではパスワードなどの暗号化対象のデータ型が指定されているデータ以外は平文でデータベースに保存されるという点です。
その上で、暗号化を行う様々な有料の暗号化オプションが用意されています。最もよく使われているのが、データベースレイヤで暗号化を行うDatabase Encryption(データベース暗号化)というオプションです。データベース暗号化では、ServiceNowのアプリレイヤでデータを扱う際には復号されるため、システムの動作に影響を与えることはありません。
データを徹底的に保護したい企業に向けては、Edge Enctyptionという、ユーザ企業のオンプレに暗号化プロキシを用意し、ServiceNowのクラウドにデータが送られる前に暗号化するというオプションも用意されています。しかし、ServiceNow側でデータの内容を使ったビジネスロジックを作成できなくなるなど制約も大きいため、慎重に検討すべきです。私が知る限りでは、何度か検討されましたが、採用に至ったケースはありません。
その他の暗号化オプションも含め詳細は下記ホワイトペーパーを参照ください。
(参考: ServiceNow Platform Encryption)
ネットワーク暗号化
当然ですが通信はTLSで暗号化されます。
http”s”が付いているサイトは、通信を行う際に内容が暗号化されます。暗号化通信にどのプロトコルを使うかはクライアント(ブラウザ)側とサーバ(ServiceNow)側で調停の上決定されるため、セキュリティ強度の低いプロトコルがサーバ側で許可されていると、クライアント次第でそのプロトコルが選択できてしまいます。しかし、ServiceNowではセキュリティ強化のため、現在セキュアだと言われているTLS1.2が強制されています。
(参考: SSL/TLS encryption on instances, Retiring TLS1.0 and 1.1)
アクセス制御
ServiceNowではIPアドレス、権限、(モバイルアプリの場合のみ)デバイスに基づくアクセス制御が可能です。詳細は下記の記事にまとめていますので、併せて参照ください。
認証
ServiceNowでは、ServiceNowプラットフォーム自体に含まれる認証機能(以下、ローカル認証と呼ぶ)と、Oktaなどの外部の認証基盤を用いた外部認証が可能です。外部認証を用いる場合であっても、管理者ユーザのみローカル認証を許可するなど、併用するパターンも多いです。
ローカル認証
ID・パスワードを用いた認証機能が存在します。必要に応じてOTP(ワンタイムパスワード)方式の二要素認証を行うこともできます。
ローカル認証については下記の記事で記載していますので、併せて参照ください。
外部認証
Okta等のID管理クラウド(IDaaS)のSSO機能とSAML連携したSSO認証や、ADと連携した認証など、外部の認証基盤との連携が可能です。
認可
認可についてはServiceNowの中で設定を行います。SaaSの場合は、製品ごとに標準で権限(ロール)が存在しているため、それをユーザに割り当てるだけです。
aPaaSとして使う場合は権限を一から設計する必要があります。
バージョンアップグレード・パッチ適用など
ServiceNowは半年に一度メジャーバージョンが、約1ヶ月に一度パッチがリリースされます。
詳細はこちらを参照ください。
Automation Engine – 外部システムと連携を行うためのコネクタ
NowPlatformのウリの一つが様々な外部システムと連携するためのコネクタ群である、Automation Engineです。下記の記事で紹介されている図がわかりやすく、Automation Engineは前からあったIntegration Hubに、2022年のSan Diegoバージョンから登場したRPA Hubが合わさったものです。
Automation Engineはノーコードでワークフローを作成するツールであるFlow Designerとの親和性が高く、ノーコードで簡単に外部システムと連携したワークフローを作成することができます。
- Integration Hub … 主にWebAPI(REST、SOAP)を用いた外部システムを行うための機能
- RPA Hub … WebAPIを持たないレガシーシステムとの連携のためにRPAを用いた外部システム連携を行うための機能
![](https://servicenow-lab.com/wp-content/uploads/cocoon-resources/blog-card-cache/69e2e2f8a411f9d4c6ec8e823c63e751.jpg)
以上です。追記してほしい観点があればコメントやお問い合わせよりお願いします。
その他ServiceNowの導入検討・製品比較時に参考になる情報は下記の記事にまとめています。
コメント