モノからコトへと人々の価値観が変化、多様化していく中で、自社の発想だけでのユーザー囲い込みは、よほどの強力な製品やプラットフォームがなければ生き残り続けるのは厳しい。コストもかかる。多くの企業はビジネスのアジリティを高めるために、従来のモノリシックなシステム構造から脱却し、クライアントからのデータアクセスをAPIで提供している。そして、APIはマネタイズ(収益化)するための重要な企業戦略になる可能性を秘めている。APIは「Application Programming Interface」の略だが、「A Profit Increase」だという解釈もあるようにAPIは利益を生み出すのだ。
日々、約3兆のリクエストをインターネットで処理しているアカマイ・テクノロジーズのデータによると、APIトラフィックは既にHTMLトラフィックを上回っている。ウェブクライアントがブラウザやエレクトロニクス製品から、モバイルアプリケーション、IoT(モノのインターネット)に進化する上でサービス提供側はますますAPI指向にシフトし、このトレンドは今後さらに加速化していくと見られている。APIトラフィックが増加していく中で、スケーラブルかつセキュアに、また高速化して、信頼性を保ちながら配信するのは簡単なことではない。しかし、エッジを使った全体アーキテクチャをデザインすることによって、API開発者の負荷を減らし、運用コストを最小化できる。本稿ではAPIをエッジで制御する意味について解説する。
APIやエッジによるコンピューティングの世界
クライアント視点で見れば、エッジはクライアントに近い方が良い。サーバサイドの運用面で見れば、サーバに近い方が管理は楽だ。コンテンツ・デリバリー・ネットワーク(CDN)はその中間に位置する。クライアントデバイスが多様化したり、ネットワークが固定していなかったりする場合は、クラウドで対応するのが理にかなっている。いずれにせよ、インターネットを介し、クライアントデバイスとAPIサーバを直接接続すると、遅延や可用性の低下、サーバへの一極集中といった問題が生じるため、中間に位置するエッジが重要となる。APIサーバのアクセス制御の機能だけでもエッジにオフロードすれば、オリジンサーバへの負荷はかなり削減できる。エッジで認可ができれば、エッジでキャッシュも有効に使える可能性もあり、さらにAPIサーバへの負荷を削減できる。
エッジがグローバルに分散していれば、国内だけでなくグローバル市場にもスケールすることができる。最初からグローバルを意識した設計思想にしていれば、国内と海外向けにシステムを変える必要もない。実際にグローバルを視野に入れて提供されたアプリは多数あるが、APIコンシューマー(エンドユーザーやクライアントデバイス)とAPIサーバの距離が離れるとインターネットの遅延の問題は深刻になってくる。エッジに接続やキャッシュの機能を持たせることにより距離の問題を緩和することができる。