SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート(AD)

マイクロサービスを一元管理! API活用の可能性を広げる「Kong Gateway」の仕組み

【16-A-2】Kong APIで変わる!アプリのライフサイクル管理

  • このエントリーをはてなブックマークに追加

 APIファーストでマイクロサービスシステムを構築すると、かつてのモノリシックなコードファースト時代の不便さから解放される部分がある。その一方で、細かなサービスが多数絡み合うので関係性を追うのに苦労する、アクセス制御が複雑化するなどの課題も出てくる。この解消に向けて、Kong株式会社のWenhan Shi氏がアプリケーションのライフサイクル管理について解説する。

  • このエントリーをはてなブックマークに追加

API管理を楽にしてくれる「Kong Gateway」の仕組み

 APIファーストのAPIマネジメントプラットフォームについて解説するのはKong株式会社 Wenhan Shi氏。かつては大規模なソフトウェア開発に従事しており、転職後は数種のOSS関連に携わり、今ではKong株式会社でソリューションエンジニアとしてAPIゲートウェイの紹介などをしている。

s
Kong株式会社 Solutions Engineer Wenhan Shi氏

 APIファーストの話に移る前に、コードファーストの時代を振り返ってみよう。Shi氏もLinuxカーネルの開発経験があり、チームをまたいでソースコードをかき集め、コンパイルに3~4時間かかっていたそうだ。

 マイクロサービス化が進み、APIファーストな設計となれば、細かなサービスごとに開発や管理を行い、APIで連携するような形になる。

 とはいえ、APIファーストになると別の課題が出てくる。例えばシンプルなECサイトでもショッピングと会計するだけで大量のマイクロサービスが登場する。問題が起きればどこからデバッグすればいいか探すのに苦労したり、APIごとに細かくアクセス制御したいとか、効率的にログを記録するにはどうするかなどの問題が出てきて、一元管理できる基盤がほしくなってくる。

 こうしたAPIファーストの課題解決に役立つのがKongのAPIゲートウェイとなる「Kong Gateway」だ。もともとAPIゲートウェイとは外部にAPI公開するためのものだが、近年ではモノリシックなアプリケーションを複数のマイクロサービスに分解した環境で、APIを内部で統一的に管理するところで役立てられている(下図の中央)。Shi氏は「APIをAPIゲートウェイに登録して一元的に公開するとか、ロギングや認証認可などの共通業務をすべてゲートウェイレイヤに集約することで自社アプリケーション開発に集中できます」と話す。

API Gatewayのアーキテクチャ
API Gatewayのアーキテクチャ

 サービスメッシュも含めたデザインパターンだと上図の右になる。APIゲートウェイは内外の通信を管理するので南北のつながりとなり、サービスメッシュは内部の通信を管理するので東西のつながりとなる。これらを合わせて東西南北でマイクロサービスを接続するようになる。

 Kong Gatewayでは複数のアプリケーション、複数のサービスを一括管理できるのがメリットだ。

Kong Gatewayにより共通ポリシーを提供
Kong Gatewayにより共通ポリシーを提供

 例えば大きなモノリシックなシステムがあったとする。1つの巨大なロジックからポリシー(認証認可、ロギング、流量制限など)だけを抽出して、APIゲートウェイレイヤに乗せることができる。あるいはAPIをAPIゲートウェイに登録するだけでルーティングやロードバランスのポリシーをAPIゲートウェイレイヤに集約できて、そのための開発をしなくてすむのもメリットとなる。Shi氏は「Kong Gatewayはマイクロサービスだけではなく、サーバーレスの関数やサードパーティーのAPIなど一括して1画面で管理できます」と説明する。

次のページ
馴染みの技術からLLM実装まで! 多様なプラグインを活用可能

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2024 セッションレポート連載記事一覧

もっと読む

この記事の著者

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:Kong株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19169 2024/04/04 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング