マイクロサービスを一元管理! API活用の可能性を広げる「Kong Gateway」の仕組み
【16-A-2】Kong APIで変わる!アプリのライフサイクル管理
アプリケーションのライフサイクル管理を4ステップで解説
日本における採用事例には、まずLINEヤフーが挙げられる。運用しているAPIの数も、トラフィック量も膨大であることは想像に難くない。同社ではサービス開発と展開のスピードを高めるために、KongのAPIゲートウェイほかメッセージキューイングサービスやFaaSを実装することで、コード作成時間を大幅に短縮できるようになったという。
加えてLINEヤフーではロギングと認証認可をKong GatewayのAPIゲートウェイレイヤに一元化することで運用管理の負担を減らすことにも役立てることができた。またマルチテナント機能を活用することで、サービス開発とプラットフォーム運用を分離し、100を超えるクラウドワークスペース間の相互運用性を実現した。
もう1社はインターネット関連の大手日本企業。大規模有名サイトを運営しており、ピークトラフィック時のレイテンシの長さが課題となっていた。そこでKong Gatewayを導入することで低レイテンシ向けに最適化したカスタムプラグインを開発することで、本番環境で150個のプラグインを使用している状態ですべてのリクエストのレイテンシを4ms未満にできた。
それまでは手動でスケーリングしていたところをCI/CDパイプラインで実施できるようになり、効率的にスケールアウトできるようになったことで100k以上のTPSで処理できるようになった。他にもGUIのKong Manager(運用管理ツール)で運用や設定、性能を可視化できるようになるなど運用面でも改善できた。さらにKongではロギングやメトリクス情報をエクスポートできるため、慣れ親しんだロギング基盤でレイテンシなどを確認できるようになった。全社的にシンプルな運用と保守管理が実現した。
次にアプリケーションのライフサイクル管理の実現について考えて行こう。Shi氏は4つのステップに分解した。1ステップ目はアプリケーションを実装して公開、2ステップ目はオペレーション、3ステップ目はログからトレースを確認、4ステップ目は可視化して分析する。そうしてアプリケーションをアップグレードして実装するというライフサイクルを回していく。
それぞれの段階でKong Gatewayをどのように活用するかも併せて見ていこう。1ステップ目の実装では、シンプルにサービスとルートの登録をするだけでKongで管理できるようになる。外部に公開する時には、Kong Gatewayで決められたポリシーを適用して、複数の方法(HTTPやgRPCなど)で公開できる。
2ステップ目のオペレーションでは、GUIとCLIの2通りで操作できる。人間が操作する時にはGUIで、CI/CDに組み込み自動化する時にはCLIを使うといいだろう。3ステップ目のアクセス情報(ログ)出力では、Prometheusのプラグインでメトリクス情報を出力したり、HTTPでリクエストとレスポンスのログをエンドポイントに出力することもできる。複数のサービスや複数のAPIがあれば、Kongに集約したり、下図のようにFilebeatを使うこともできる。
4ステップ目のログ可視化では、Kong Gatewayのダッシュボードを使うことはもちろん、プラグインを通じて他の基盤(例えばElasticsearch)と連携してログを可視化することもできる。
そうして一周し再び実装する時、つまりアプリケーションをアップグレードする時には、Kongのカナリアリリースのプラグインが有効だ。例えば元のバージョンは70%、新しいバージョンは30%とするなど、ユーザーからの流量を分けるように設定できる。最初は少なめの流量で様子を見て、大丈夫そうなら増やして行くことで安全にアップグレードすることができる。
最後にShi氏はデモを披露した。まずはアプリケーションをKong Gatewayに登録し、人気の流量制限とキャッシングのプラグインを実装、さらにHTTPロギングのプラグインを実装したところで、ダッシュボードでログを確認する。最後に新しいバージョンのアプリケーションをカナリアリリースでアップグレードする様子を披露し、講演を締めた。
Kongについて詳しく知りたい方はこちら!
APIマネジメントプラットフォームのリーディング企業であるKongは、世界中の企業が「APIファースト」企業になることを使命としています。本記事でご関心を持たれた方は、下記メールアドレス宛にお問い合わせください。
Kongに関するお問い合わせはこちら:info-jp@konghq.com
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Developers Summit 2024 セッションレポート連載記事一覧
- この記事の著者
-
加山 恵美(カヤマ エミ)
フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:Kong株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
