新技術

マイクロサービスアーキテクチャの必須知識 API Gateway

マイクロサービスアーキテクチャ

概要

フリーランスエンジニア スリーネクスト

マイクロサービスが普及し始めようとしています。ドメイン駆動開発のように新しい開発手法が増えてきて開発が複雑化してきています。

今回はMicro Service Architectureを使った開発でみられるAPIゲートウェイについて記事にしました。

APIゲートウェイについての疑問

APIゲートウェイって何?

A氏

普通のAPIと何が違うの?

B氏

マイクロサービスって何

C氏

APIゲートウェイとは

Micro Service Architectureでバックエンドサービスを作成するとエンドポイントのベースURLがバラバラになります。

一つのサービスでベースURLが複数あるのはわかりづらいし管理が複雑になります。そこで複数のベースURLのAPIを一つにまとめるサービスができました。

それがAPIゲートウェイです。

マイクロサービスとは

一つの大きなアプリケーションを複数小さなの機能に分離して機能ごとに開発を行います。最終的には一つの大きなアプリケーションとして動かすことができるようになります。

最終的に一つのアプリケーションにする時に使用するのがAPIゲートウェイになります。

マイクロサービスのメリット

一つ一つの機能ごとに作成するので機能の仕様変更が容易にできます。

マイクロサービスのデメリット

障害解析が難しくなります。どこでどのような不具合が発生したのか不透明になります。

APIゲートウェイサービス

  • Amazon API Gateway
  • Google Cloud Endpoints
  • Kong

Amazon API Gateway

フルマネージド型サービスの Amazon API Gateway を利用すれば、開発者は規模にかかわらず簡単に API の作成、公開、保守、モニタリング、保護を行えます。API は、アプリケーションがバックエンドサービスからのデータ、ビジネスロジック、機能にアクセスするための「フロントドア」として機能します。API Gateway を使用すれば、リアルタイム双方向通信アプリケーションを実現する RESTful API および WebSocket API を作成することができます。API Gateway は、コンテナ化されたサーバーレスのワークロードやウェブアプリケーションをサポートします。

API Gateway では、トラフィック管理、CORS サポート、認可とアクセスコントロール、スロットリング、モニタリング、API バージョン管理など、最大数十万規模の同時 API コールの受け入れと処理に伴うすべてのタスクを取り扱います。API Gateway に最低料金や初期費用は発生しません。お支払いいただくのは、受け取った API コールと送出したデータ量の分だけです。また、API Gateway の段階的な料金モデルでは、API の使用量に応じてコストを削減することができます。

Google Cloud Endpoints

Cloud Endpoints で、API の開発、デプロイ、保護、モニタリングを行います。NGINX ベースのプロキシと分散型アーキテクチャにより、卓越したパフォーマンスとスケーラビリティが実現します。Cloud Endpoints は、OpenAPI 仕様または Google の API フレームワークを使用して、API 開発の各フェーズに必要なツールを供給します。また、Cloud Logging、Cloud Monitoring、Cloud Trace による分析情報も提供します。

Kong

Kong は、API ゲートウェイです。つまり、クライアントと API ベースのアプリケーションをつなぐミドルウェアの一種です。 Kong を使うことにより、API の機能を一貫して簡単に拡張できます。Kong で導入できる主な機能には、 認証、セキュリティ、トラフィック制御、 サーバーレス、 アナリティクス & モニタリング、リクエスト/レスポンス変換、および ログなどが挙げられます。

まとめ

今後の流れはマイクロサービス担っていくことを予想しています。ますます大きなシステムが作成されてきますがウォーターフォール型でモノシリックなシステムでは要件定義だけで数年かかます。手戻りを入れると到底作ることはうずかしいです。

マイクロサービスのメリットデメリットを理解しながら作成しそこでAPIゲートウェイの利用もますます増えてくることでしょう。

-新技術
-,