NGINX Sprint 2022では、F5は、NGINXオープンソースプロジェクトの管理方法と自社コミュニティとの関わり方を最新化することをお約束しました。このお約束の一環として、NGINX Agentを近日中にリリースすることを発表しました。これは、コンパニオンソフトウェアとして個々のNGINX導入を管理し、可観測性と構成APIを提供するデーモンです。本日、Apache 2ライセンスの下でNGINX Agentをリリースし、このお約束を実現化できたことを誇りに思います。
F5 NGINXのビジョンは、アプリケーションの導入と管理のあらゆる側面をカバーするエコシステムを構築することです。NGINX Agentは、NGINXインスタンスを構成、モニタリング、および管理するために、きめ細かな制御と追加機能をDevelopment(開発)およびPlatform Ops( プラットフォーム運用)の両チームに提供し、そのビジョンにおける極めて重要な役割を果たします。
NGINX Agentの使命とは
NGINX Agentは、NGINX Open SourceやNGINX Plusインスタンスと一緒に導入できる軽量のデーモンで、NGINX Open Sourceでは提供されない多くの機能を以下のように実現します。
- NGINXインスタンスのレポート作成とモニタリング
NGINX Agentは、インフラストラクチャの問題を検出、調査、修正するために使用可能な拡張されたメトリクスのセットにより、NGINX Open SourceおよびNGINX Plusインスタンスをより広範囲に可視化します。NGINX Agentは、オペレーティングシステムのメトリクスに加えて、NGINXのアクセスとエラーのログからメトリクスを自動収集します。NGINX Plusインスタンスの場合は、RESTful NGINX Plus APIからのメトリクスも収集します。また、NGINX Agentは、NGINXインスタンスで発生している重要なイベントセットについても報告します。 その結果、NGINXインスタンスのパフォーマンス、健全性、使用状況を詳細に把握でき、これをPrometheus形式でエクスポートして、Grafanaなどのサードパーティツールで視覚化できます。 - リモートNGINX構成管理
NGINX Agentは、NGINX構成をNGINXインスタンスにリモートで適用するためにHTTP(REST)およびHTTP/2(gRPC)のインタフェースを提供します。また、 APIを使用してインスタンス構成をリモート管理することもできます。NGINX構成の自動化とリモート導入は、特に多数のインスタンスを管理する場合、運用のオーバーヘッドを大幅に軽減し、時間節約にも貢献します。 - 管理プレーンの統合
ビジネスの規模が拡大するにつれ、インフラストラクチャの導入と管理はさらに複雑化します。F5では、NGINXコミュニティがスケーリングと配信の課題を躊躇せずに、共有していることを嬉しく思います。NGINX Agentロードマップは、これらの課題に対処することを目的としています。NGINX Agentを使用すると、環境内でNGINXを制御・管理するための高度なメカニズムを開発できます。これには、NGINXインスタンスとインタフェースする独自の管理ソリューションと、エンタープライズクラスのデータプレーン管理機能を備えたNGINX Management Suiteの両方が含まれます。
NGINX Agentの機能とは
NGINX Agentは、NGINXインスタンスと共に実行され、コントロールプレーンと管理プレーンの両方からインスタンスとリモートでやり取りできるようにRESTとgRPCインタフェースの両方を公開します。これにより、高度なモニタリングと自動化機能の構築が実現します。
NGINX Agentをオープンソース化する理由とは
NGINX Agentのオープンソース化には、いくつかの目標があります。
NGINXオープンソースの補完
F5では、コミュニティがより多くのユースケースでより柔軟に NGINXオープンソースを使用できるようにしたいと考えています。NGINX Agentのオープンソース化は、NGINX Open Sourceの現在の機能上のギャップを埋めるのに役立ち、NGINX Open Sourceを拡張し、コミュニティに機能をより迅速に提供するためのまったく新しい道を開きます。NGINX Open Sourceインスタンスと一緒にインストールすることで、RESTまたはgRPCインタフェースによるNGINX構成の管理ができ、NGINXのイベントやメトリクスからの高度な視覚化を開発できます。
透明性の確保
F5では、業界をリードするオープンソースソフトウェアをコミュニティに提供し、お客様のビジネスを強化する高度かつスケーラブルで弾力性のあるインフラストラクチャを構築することにプライドを掛けています。この成功の中核をなす柱の1つは、オープンソースコミュニティがNGINXソフトウェアに寄せる信頼です。NGINX Agentの設計理念は、NGINXインフラストラクチャでどのようなデータにどのようにアクセスするかについて完全にオープンで透過的であることです。コミュニティに完全な透明性を、そして、お客様に喜んでいただける機能を提供することが、私たちのオープンソースビジョンの実現に向けた重要な要素であると考えています。
開発者にとって使い勝手がよいNGIMNXに
Sprintでのもう1つの約束(開発者エクスペリエンスの最適化)に忠実であり続けるために、NGINX Agentは、NGINXをより多くの採用者にとってより魅力的であるように制御と機能を提供し、NGINX製品の「価値実現までの時間」を短縮します。NGINX Agentはきめ細かい制御を実現するため、開発者は環境内でのNGINXの管理、導入、および構成について賢明な決定を下せます。F5の目標は、開発者が制御と管理の面でNGINXの製品スイートと統合したり、独自の製品を導入したりできるようにすることで、開発者のニーズに応えることです。
NGINX Agentのご紹介
NGINX Agentは、当初はNGINX Management Suite Instance Manager が使用するエージェントとして開発されました。この機能は今後も提供されますが、バージョン2.17.0でオープンソース化したことにより、より広範なNGINXオープンソースコミュニティにとって有用なものとして独立した道を歩み始めています。このような経緯から、NGINX Agentが成長するために必要な方法はたくさんあると考えられます。是非、GitHubのNGINX Agentのリポジトリにアクセスし、貢献、提案、問題の報告の方法についてご確認ください。