1. ホーム
  2. UNIRITAマガジン
  3. UNIRITAマガジン一覧
  4. 【新ビジネスコラム】API時代を支えるユニリタのサーバレスアーキテクチャとは ~クラウド、基幹システム、IoT、なんでもつなげてみる~

【新ビジネスコラム】API時代を支えるユニリタのサーバレスアーキテクチャとは ~クラウド、基幹システム、IoT、なんでもつなげてみる~

2020年にはAPIエコノミーがさらに拡大

図1:API・人工知能とデジタル変革
図1:API・人工知能とデジタル変革

APIエコノミーという言葉に耳慣れて久しいですが、IT業界では今もなお、APIはホットな話題です。
昨年から今年にかけて、米国ではAPIマネジメント企業の買収が相次ぎました。また、APIエンジニアの年収は1,000万円を超えているとも言われています。
マイクロソフト創業者のビル・ゲイツは、インフォメーションフロー(情報の流通)は企業の血液のようなものだと言っています。APIによってもたらされるインフォメーションフローは、企業の競争力を短期的に高めるだけではなく、将来、企業の大きな資産となることでしょう。

また、APIは企業内・企業間のデータをつなぎ、人工知能に必要なビッグデータを作り出します。
APIが入り口のテクノロジーであるとすれば、人工知能は出口のテクノロジーであり、この2つはデジタル変革においてコインの表裏の関係にあります。(図1参照)

攻めのITプロジェクトにおける課題

図2:SoE側にデータを移行して複製する方法
図2:SoE側にデータを移行して複製する方法

さて、多くの企業では、売上貢献や顧客満足度の向上に直結する「攻めのITプロジェクト」に投資を行っています。
攻めのITはスピード重視のため、スクラッチで開発するよりもさまざまなサービスを組み合わせてSmall Start Quick Winを実現させようとすることが多くなっています。
そのサービス間の組み合わせにおいて、APIは大いに活躍します。

例えば、ある顧客満足度を向上させるためのサービス(これをSoE:System of Engagementと呼びます)をクラウド上に構築したいと考えたとします。
その時、FacebookやInstagramなどのAPIを連携させて活用し、サービスの充実化を図ろうとするでしょう。
しかしながら、顧客データ、製品データ、受発注データといった重要な情報はオンプレミスの基幹システム(これをSoR:System of Recordと呼びます)に存在しています。

もちろん、それらのデータをSoE側に移行し複製する方法もありますが、セキュリティ面やリアルタイム性での懸念が残ります。(図2参照)

では、SoE側からオンプレミスに存在する基幹システムのデータを、セキュアに、そしてまるでFacebookやInstagramのAPIを使うような感覚で簡単かつスピーディにアクセスするためには、どのような手段を取れば良いのでしょうか。

ポイントは2つです。

  1. どのようにしてアクセスするか
  2. その仕組みをどのように開発するか

SoEとSoRを連携させるために

図3:リバースプロキシ経由でアクセスする方法
図3:リバースプロキシ経由でアクセスする方法

ユニリタでは、API Proxyというサービスに対応しています。

ベースのテクノロジーはいわゆるリバースプロキシであるため、このサービスをオンプレミスのDMZ(非武装地帯)に配置し、SoEからのみのアクセスに限定すれば、アクセス自体はできるでしょう。(図3参照) 

図4:APIのマネジメント基盤
図4:APIのマネジメント基盤

しかしながら、アクセスしたい基幹システムは1つとは限らず、さまざまなバックエンドシステムの存在が考えられます。そしてそれらは、それぞれAPIを持っているのか、持っていたとしてもRESTなのかSOAPなのか、利用しているデータベースはなにか、エラーが返された時のレスポンスはどうなのか、仕様はバラバラであることが考えられます。

これらにアクセスするためにAPI Proxyとそれぞれのバックエンドシステムの間に専用のアプリケーションサーバを立ててそれぞれで開発をしていたら、それだけで時間とお金がかかり、メンテナンス性にも課題が出てきます。
API Proxyは単なるリバースプロキシではなく「APIのマネジメント基盤」です。(図4参照)

SoE開発者はオンプレミスのバックエンドシステムにアクセスする際、その仕様の違いを意識する必要はなく、API Proxyのことだけを考えれば良いことになります。

API Proxyでマネジメントできる項目は以下のとおりで、これは言い方を変えれば、SoE開発者が意識したくない、バックエンドシステムごとにバラバラな仕様の一覧と言えます。

1 認証
バックエンドシステムがどのような認証の仕組みを持っていたとしても、API Proxyとバックエンドシステムの間はすでに認証を済ませているため、SoE開発者はAPI Proxyとの統一された認証メカニズムのみを意識すれば良いことになります。
このメカニズムとしては業界標準のSAML、OpenID、OAuthなどを利用します。
2 認可(アクセス制御)
バックエンドシステムに対するアクセスのコントロールはすでにAPI Proxyに設定済みのため、SoE開発者は特にACLを気にする必要はありません。
3 負荷分散、キューイング
SoE側がコンシューマ向けであれば、バックエンドシステムの負荷も気になるところです。
API Proxyではバックエンドシステムに対して1秒間にアクセスできるリクエスト数などを設定でき、それを超えた場合はキューイングしたり、利用者に特定のメッセージを伝えたりできます。
4 キャッシュ
よくアクセスされるデータはAPI Proxyの中でキャッシュしており、バックエンドシステムに都度問い合わせをする必要はなく、すぐにSoE側に応答できます。
5 IN/OUTのプロトコル
バックエンドシステムがRESTなのかSOAPなのか、APIを持っておらずJDBCのみでのアクセスなのか、などに関わらず、SoE開発者からすればRESTを呼べばJSONで返される、ということのみを意識すれば良いことになります。
6 エラーハンドリング
バックエンドシステムでどのようなエラーが発生したとしても、API Proxyはそれらに応じて統一されたレスポンスコードや画面を返します。

サーバレスアーキテクチャ

サーバレスアーキテクチャという言葉を聞くと、AWS Lambdaなどを真っ先に思い浮かべる方が多いかもしれません。それらとユニリタのサーバレスアーキテクチャの違いは、SoE/SoRのハイブリッド、つまりクラウドとオンプレミスのハイブリッドにあると言えます。

今、Web系システムの重要性は、サーバ開発からフロントエンド開発に移行してきています。

さまざまなAPIやマイクロサービスが提供され、要件の大半を充足できるようになってくると、開発者はスクラッチで開発するより「組み合わせ」によるスピードを重視し、提供したいサービスに対する本質的な設計や、UI/UXのデザインに多くの時間をかけられるようになります。
サーバの事前プロビジョニングや運用コストが必要ないことも大きなメリットです。

API Proxyもサーバレスアーキテクチャを前提として提供されています。つまりSoE開発者は、バックエンドシステムのために何かしらのサーバをプロビジョニングしたりアプリケーション開発をしたりすることは一切せず、必要な時に必要なだけフロントエンドからAPI Proxyに対してRESTを呼び出し、データを取得すれば良いのです。

SoE開発者がバックエンドシステムごとのセキュリティや仕様の違いに頭を悩ませていた多くの時間は、既述したように、設計やUI/UXのデザインにかけていくことになるでしょう。

おわりに

API Proxyというサービスについて、API、サーバレスアーキテクチャ、SoE/SoRという切り口から説明させていただきました。システム運用やデータ活用の分野で長らくご支援させていただいてきたユニリタは、

① 売上貢献や顧客満足度の向上に直結する「攻めのITプロジェクト」を推進したいと考えていらっしゃるお客様 
② そして、雇用環境の多様化により働き方改革の一環としての「ワークプレイス変革」をどう推進すべきかお悩みのお客様

に対しても、クラウドとオンプレミスのハイブリッドというテクノロジーを持って支援できますので、お気軽に相談ください。

担当者紹介

ビジネスイノベーション事業本部
ビジネスフォース部
部長
真木 卓爾