マイクロサービスとKongの親和性

現在、多くの既存システムは一枚岩な(モノリシックな)構造になっており、拡張や変更が難しいという課題を抱えています。モノリシックな構造のシステムを、複数の小さい単位のサービス「マイクロサービス」に分解して、拡張や変更、あるいは新技術の取り込みをしやすくするのが「マイクロサービスアーキテクチャ」です。原則的にマイクロサービスの操作はAPIを通じてのみ行われるため、KongのようなAPI管理ソフトウェアによってAPIを一元管理するとともに、認証や利用制限(rate limit)の機能を共通化・標準化することが重要になります。

KongはマイクロサービスのAPI管理を意識して設計されており、特に2018年1月にリリースされた Kong CE 0.12 で提供した サーキットブレーカーとヘルスチェック により、APIのバックエンド、すなわちマイクロサービスの可用性を高めることができます。

サーキットブレーカー

これは、Kongが提供しているAPIバックエンドへのロードバランシング機能と組み合わせて使い、マイクロサービスの稼働状況をチェックし、障害などが発生したサービスを検知してロードバランスの対象から切り離すことで、可用性を高めます。

この他にも、Kongはでマイクロサービスのために有効な機能・特徴を多く持っています。

  • オンプレミス、主要クラウドでの稼働
  • ビルトインされたAPIゲートウェイの高可用性
  • 1インスタンスでも秒あたり数万リクエストを処理できる高性能
  • 認証や利用制限 (rate limit) プラグインによるマイクロサービスの保護
  • ログの集中管理
  • 多くのマイクロサービス関連技術と同様にオープンソースであること

また、マイクロサービス化の課題において、比較・検討されることが多い「サーバーレスコンピューティング」もKongで統合することが可能です。AWS Lambda、OpenWhiskに加えて、最新のリリースではAzure Functionsにも対応しました。

サーb-レス

マイクロサービスに関する技術的なトレンドとして、従来のサービスよりも、より粒度を細かくするためにコンテナー技術を取り入れていく動きがあります。コンテナー技術においてオーケストレーションのための標準となりつつあるのがオープンソースの「Kubernetes」ですが、オープンソースのトレンドに連動しやすいKongははすでに Kubernetes に対応しており、Kong CE or EE on Kubernetes や Kubernetes Ingress Controller for Kong を提供しています。これらについては、また後日ご紹介していきます。ご興味ある方は、弊社にお問い合わせください。