APIの定義、APIゲートウェイとメリット

APIs header

APIs header

APIは基本的に、複数のソフトウェアシステムのバックエンドを仲介する役割を果たし、それらが「相互に会話」できるようにして、カスタムITアーキテクチャを構築するためのビルディングブロックのように連携させます。APIは、企業や非営利団体のデジタルトランスフォーメーションにおいて、マイクロサービスやヘッドレスアプローチとともに使用されている最新のテクノロジーソリューションの一例です。

APIとはApplication Programming Interfaceの略ですが、具体的には何を意味し、APIはどのように機能するのでしょうか。APIファーストの戦略は、アジャイルなテクノロジースタックの構築にどのように役立つのでしょうか?いつ、なぜ、APIゲートウェイが必要なのか?どのAPIゲートウェイが最適なのか?そして、なぜCFOやBODはAPIを好むのか?これらの疑問に対する答えを見つけるためにお読みください。

A. APIの仕組みとは?

APIがどのように機能するかを理解するためには、APIが何のために使われるのか、そしてその理由を知る必要がある。APIは、異なるテクノロジーアプリケーション間の通信に使用され、あるアプリケーションが別のアプリケーションの機能を使用する許可を与えるものです。

APIは、あるアプリが厳密に制約された関数コール(特定のアクションを要求するメッセージの一種)を送信することで、他のアプリと会話することができます。

B. APIの例

このアプリケーション・プログラミング・インターフェースの使用例として、Google MapsのAPIを利用したアプリがあります。例えば、あなたの家の玄関まで夕食を届けるために、あなたの位置情報を知る必要があるフードデリバリーアプリがあったとします。このアプリは、独自の位置情報サービスやワールドマップ、ルートプランナーを使用するのではなく、Google Mapsのような既存のサービスの技術的な機能を利用した方がはるかに簡単です。

アプリは、コール関数の形で、GoogleサーバーのAPIに「Use location services and wayfinder planning」というタイプの命令を送信します。APIはこれをGoogle Mapsへのコマンドに変換し、Google Mapsはその情報をフードデリバリーアプリに返します。

C. APIとSDKとEDIの違い

APIの使用は、社内外の異なるアプリケーション間で通信するための一つの方法に過ぎません。他のアプリケーションからのリクエストを処理するための一般的な技術的ソリューションには、(APIが発明される前に)ソフトウェア開発キット(SDK)や電子データ交換(EDI)があります。

  • SDK ソフトウェア開発キットとは、他のプラットフォームからのシステムコールを処理するために特別にコーディングされたソフトウェアプログラムを作成するために使用される一連のツールのことである。SDKはAPIよりも広い用語で、ドキュメント、サンプル、ツール、さらにはAPIのようなインターフェイスまでをも包含しています。APIを直接使用せずにSDKを使用する理由は、SDKがほとんど誰でも簡単にコーディングでき、さまざまな目的に使用できるソリューションであるのに対し、APIは専門の開発者による綿密で専門的なコーディングを必要とする、より具体的で狭い機能を持つが、必要とされるシステムコールの複雑さに応じてより強力な機能を持つことがあるからである。
  • EDI:Electronic Data Interchange(電子データ交換)は、よりシンプルな概念で、あるビジネス組織のアプリケーションから別のビジネス組織へ、人手を介さずに情報を転送するものです。EDIは主に、請求書や発注書をビジネスパートナーに送るなど、紙ベースでなければできない文書の一方的な送信に使用されます。EDIはポイント・ツー・ポイント接続や付加価値ネットワークを使って送信者から受信者へ自動的に移動する文書であるのに対し、APIはあるアプリケーションから別のアプリケーションへ特定のタスクを実行するために呼び出すものであり、APIの代わりにEDIを使うことはできない。

D. マイクロサービスのためのAPIゲートウェイ

APIゲートウェイは、コマンド&コントロールセンターのように機能するAPIの管理ツールで、APIの作成と管理を行います。APIゲートウェイを使用すると、APIのコーディング、公開、送信、監視に加えて、外部APIからの受信リクエストを管理することができます。

APIゲートウェイがマイクロサービスに必要なのは、様々な社内およびサードパーティのアプリケーションを使用している企業が、スタック内のサイロ化された各技術間のすべてのコマンドとリクエストを、単一の中央ロケーションで実行できるようにするためです。また、企業のプログラマーにとっても、APIをコーディングするためのベースとなります。APIは、Python、PHP、R、JavaScript、Golang、SQL、JSONなどを使ってコーディングすることができるが、既製のツールを使ってコーディングせずにAPIを構築することも可能である。

Amazon Web Services(AWS)Microsoft AzureRed HatGoogle Cloud Platform(GCP)など、人気の高いクラウドサービスは、いずれも独自のAPIゲートウェイを備えています。

マイクロサービスに最適なAPIゲートウェイは、自社のスタックにどのようなマイクロサービス技術があり、それをどのように使用するかによって異なります。

E. CFOと経営陣がAPIを愛する5つの理由

企業のデジタル・トランスフォーメーション・プロジェクトを実施しようとする場合、APIファーストのアプローチを取ることが賢明かもしれません。これは、APIを介して相互作用するマイクロサービスの観点から新しいテクノロジー・スタックを設計することを意味します。デジタルトランスフォーメーションにAPIファーストの設計を採用することで、以下のようなメリットがあります。

1. 必要なものだけを必要なときに購入できる

APIは、組織のオペレーティングシステムを構成するさまざまなマイクロサービスやアプリケーション間の通信に使用されるため、マイクロサービスを新しく改良されたものに交換する際にのみ、APIを更新して再プログラミングする必要があります。

つまり、新しいモノリス・テクノロジー・スタックに大きな投資をする必要はなく、自分たちに合ったペースと予算で、カスタマイズしたソフトウェア・ネットワークを少しずつ構築していくことができるのです。

“MACHテクノロジー(マイクロサービス、API、クラウド、ヘッドレス)は、すべてのコンポーネントがプラグイン可能、スケーラブル、交換可能で、進化するビジネス要件に合わせてアジャイル開発で継続的に改善できるコンポーザブル・エンタープライズをサポートします」。

2. 導入期間の短縮

デジタルトランスフォーメーションのプロジェクトをより小さな塊に分割できるだけでなく、APIはデジタルトランスフォーメーションの各フェーズをより短く、より低コストで実現します。このようにデジタルトランスフォーメーションを段階的に進めることで、マイクロサービスとAPIファーストのアプローチに基づくプロジェクトの各段階を終えるまでの時間は、企業全体の技術スタックを一度に再構築しようとする場合よりもはるかに短くなります。

このように、APIベースのプロジェクトでは、継続的インテグレーションと継続的開発の理念に基づいて、迅速なターンアラウンドを実現しており、DevOps部門にとっては夢のようなプロジェクトです。もちろん、導入期間が短くなれば、計画や展開にかける費用も少なくて済むので、CFOも満足するだろう。

3. APIは古くならない

APIはデジタルトランスフォーメーションの最終ゴールではなく、そこに到達するための手段に過ぎないことを忘れてはならない。例えば、オンラインストアに柔軟なPOSシステムを導入したいと思うかもしれません。また、顧客データプラットフォームを追加して、ターゲットとなる顧客を個々のユーザーにセグメント化することもできます。どのようなアプリケーションを導入するにしても、5年以内には時代遅れになってしまい、次の新しいものに入れ替える必要があるでしょう。

APIの良いところは、古いアプリケーションを何度でも新しいアプリケーションに入れ替えることができ、いつまでも市場での競争力を保つことができることです。APIは、数年後に交換が必要になる技術を1つ増やすだけではなく、他の技術を簡単に交換できるようにしてくれます。それは、あなたの会社の未来への投資なのです。

4. 技術スタック変更のリスクを最小限に抑える

APIベースのデジタルトランスフォーメーションでは、組織への継続的な変更を安価かつ迅速に行うことができるだけでなく、運用ソフトウェアの重要な部分を変更するリスクを最小限に抑えることができます。アプリケーションを1つずつゆっくりと変更していくことで、運用チームは、アプリケーションの変更が成功したのか、それともロールバックする必要があるのかを評価することができます。

これは、APIゲートウェイを使用している場合に特に効果的です。APIゲートウェイでは、ライブのWebトラフィックを新旧問わず特定の環境に移行させる量を選択することができるため、真にリスク管理されたリリースのためにカナリアやブルーグリーンのデプロイを行うことができます。これにより、最悪の事態が発生し、何か問題が発生して元に戻さなければならなくなっても、その変更は取り返しがつかないものではなく、そのためのコストもそれほどかかりません。

5. 社内の技術とサービスプロバイダーの組み合わせ

最後に、APIを利用することで、社内で処理するアプリケーションと、サードパーティの「サービス・プロバイダー」に委託するアプリケーションを、より柔軟に選択できるようになることを、経営幹部は実感している。アマゾンやグーグルのような企業でない限り、自社で使用しているサイロ化したテクノロジーをすべて所有し、管理することは不可能です。しかし、業界に特化したアプリや、自社で開発したアプリなど、競合他社に差をつけるためには、社内でホストしなければならないものもあるでしょう。

APIを利用することで、社内で開発・運用するアプリと、マネージド・サービス・プロバイダに任せるアプリの選択の自由度が格段に高まります。また、この構成は、CEO、CIO、CTOがビジネスプロセスを最大限にコントロールできるように、また、CFOが会社の予算を安心して管理できるように、いつでもカスタマイズして変更することができます。

SmartOSCがAPI、マイクロサービス、その他の最先端技術を用いてどのようにブランドのデジタルトランスフォーメーションを実現しているかについては、お電話またはお手紙にてお問い合わせください

►►►サービスについて