NGINX(エンジンエックス)|日本公式サイト

NGINXはF5ファミリーの一員となりました。新体制の詳細はこちらを御覧ください。

進化したアプリケーション配信プラットフォームで市場投入を加速

より快適になったアプリケーション配信プラットフォーム

集中型のオーケストレーションおよび分析用プラットフォームとして改良された、NGINXのコアであり中核製品であるNGINX Controllerの次世代バージョンをご紹介します。

この新製品は、以前のバージョンに比べ、劇的な変化を遂げ、改良された新製品となっており、Webサーバー、プロキシ、ロードバランサー、APIゲートウェイ、またはそれらの組み合わせとして機能するNGINX Plusインスタンスの展開、構成、監視を驚くほど簡素化します。

先進的なビジネス改革にすでに取り組んでいる企業でさえ、昨今の最新のアプリケーションのデプロイにはいろんな課題がまだ多いと聞きます。たとえば、スキルのギャップや、自動化における障害などのほか、クラウドの停止やツールの無秩序な拡散など。また、コードをうまく書けたとしても、開発環境から本番環境に移す際に、さらなる困難が生じるなど。アプリケーションはデジタル化のコアであるにもかかわらず、多くの組織にとって、アプリケーションの開発と展開のギャップは、狭まるどころかますます広がっているように見えます。

こうした背景こそが今回の新製品NGINX Controller 3.x誕生の理由です。

NGINX Plusは、トラディショナルなアプリケーションとモダンアプリケーションのどちらにも対応可能で、アプリケーションを高速、スケーラブル、かつセキュアにすることに優れています。そして、NGINX Controller 1.0および2.0では、そのNGINX Plusインスタンス群を大規模に管理することが可能ですが、基本的にインフラストラクチャ中心の手法です。つまり、ユーザーエクスペリエンスのベースは、アプリケーションではなく、基盤となるNGINX Plusインスタンスを中心に管理されます。

NGINXコントローラー3.xの導入により、この状況は大きく変わることになります。

3.xのリリースは、単なる機能の追加ではなく、大幅なプラットフォームのアップグレードを実現します。最初の2つのメジャーリリースから得たあらゆる経験と知識、そしてNGINXと統合する以前からF5が強みとしてきた、アプリケーション・セントリックな概念をもとに新しいユーザーエクスペリエンスをこの最新バージョンでは提供することに成功しました。そしてController 3.xは、F5とNGINXの統合によって新たにもたらされた最初の大きなマイルストーンであり、両社のともに優れた技術力が結集された製品となっています。

アプリケーション・セントリックの重要性

以前は、業界全体においてインフラストラクチャ中心のアプローチが主流でした。ほとんどのアプリケーションサービスは、アプリの前にあるハードウェアおよびソフトウェアプラットフォームに基づいて設計されてきましたが、アプリケーションの設計が、モノリシックな3層アーキテクチャから分散型のマイクロサービスベースのアーキテクチャに移行しつつある今、このアプローチは機能しづらくなってきています。アプリケーションのアーキテクチャは、コンテナ、Kubernetes、RESTful APIなどを用いて進化しています。透過型アプリケーションとAPI配信ソリューションは、既存のインフラストラクチャ中心のアプローチを再パッケージ化することにより、これらの分散アーキテクチャに対応しようとしました。ある企業では、仮想アプライアンスを基盤となる仮想マシン(VM)またはサービスとしてのプラットフォーム(PaaS)ソリューションと統合することで、解決策を模索していますが、DevチームとDevOpsチームが使用するには遅すぎる、複雑すぎる、または難しすぎるという意見が多く聞こえます。

そうした背景の中で、F5とNGINXの統合が実現しました。NGINXを買収する前、F5は根本的に異なるアプリケーションデリバリーコントローラー(ADC)に取り組んでいましたが、2019年5月の買収完了直後に、このプロジェクトに取り組んでいるチームとNGINXコントローラー開発チームが統合されました。それまでのNGINX Controller 1.0および2.0の優れた機能を活かしつつ、さらに、F5が先駆けて強みとしてきたアプリケーションを中心とするユーザーエクスペリエンスを補強することで、今ここに、集大成として、集中型プラットフォームであるNGINX Controller 3.xが登場したのです。

アプリケーションを中核としたアプローチ

異なるチームがそれぞれにアプリケーションを管理および提供するという形態が生まれつつあります。従来、コードを開発するアプリチームと、完成したアプリをリリースして管理する運用チームの間には、それぞれ異なるゴールがあり隔たりがありました。そこで、DevOpsという新しい概念が生まれ、この異なるチームの懸け橋となるべく進化し、多くの組織で開発者の能力を高めることや権限を与える動きが始まりました。そのような背景の中、コードをより速くリリースするという使命を持つアプリ開発(AppDev)チームは、CI / CDワークフローに従い迅速に展開、管理、統合できるソフトウェアベースのインフラを探し求め、NGINX Open SourceやNGINX Plusに行きつきます。

そこで問題になるのが、アプリケーションやデータの保護のため企業として必要なITおよびコンプライアンスの要件について、多くの開発者が先送りしてしまう傾向があるという点です。

そこで登場するのがアプリケーションを中核としたアプローチです。作成するアプリケーションを中心にすべてを展開していくという構想が、今では広く受け入れられています。つまり、それはどのように見えるのか? 以下に、アプリ中心の配信ソリューションの重要な特長を挙げてみます。

  1. 複数のアプリケーションセービスを単一のアプリケーションに統合するモジュラーアーキテクチャ、プログラム可能なプラットフォーム、そして無秩序なツールの増加とコストの削減を統合的に実現することができます
  2. ソリューションの要素を分離して、分散アーキテクチャでパフォーマンスと信頼性を維持しながら独立して拡張できるようにします。
  3. 基盤となるインフラストラクチャから切り離されているため、アプリの成長に応じて自由に移動させることが可能です。
  4. 複数のアプリケーションサービスにわたるエンドツーエンドの可視化を可能にします。そのため、さまざまな異なる監視ツールからのアウトプットを集約する手間や労力をなくし、求められるSLAを満たすための優れた分析を容易に行うことができます。
  5. Blue/GreenデプロイメントやCanaryリリーステスト、証明書管理、CI / CDの統合などDevOpsのワークフローに合理的に組み込むことが可能であるため、NGINXの構成・設定を事細かに把握することから開放されます。
  6. ボトルネックになりがちな、アプリケーションのインテリジェントなスケーリングを自動化します。これにより、アプリ全体にインフラストラクチャをスケーリングする必要がなくなります。
  7. ロールベースアクセス制御でカスタマイズされているため、インフラストラクチャ、DevOps、セキュリティ、およびアプリチームは、業務に必要な方法でアプリサービスを確認できます。
  8. セルフサービスポータル機能の強化により、アプリチームはアジャイルな開発プロセスを維持できるだけでなく、インフラの運用チーム、セキュリティチームもまた、ガバナンスとポリシー設定の可視性と制御性を維持することが可能です。
  9. 制御ポイントを可能な限りアプリのロジックに近づけ、セキュリティ管理者が対応のスピードやパフォーマンスを損なうことがなく、容易に統合されたセキュリティを実現できます。
  10. 多様なエコシステムパートナーとの連携により、ベンダーにロックインすることなく、任意のCI / CD、監視、セキュリティ、分析ツールを使用することができます。

これらの特長は、開発者の生産性と運用コンプライアンスそれぞれのバランスをとることを目的に設計されています。そしてその比重は、アプリケーションをサポートするインフラからアプリケーションそのものを中心すえて考慮されています。新製品Controller 3.xを使用することで、DevOps、NetOps、SecOps、AppDevの各チームそれぞれが独自の役割に関連するタスクを管理しながら、アプリケーションのライフサイクル全体を連携して管理することが可能になります。

同様に、これらの機能を導入することで、新たにクラウドに移行したり、新しいテクノロジーを採用する際、ビジネスがその新しいソリューションとともに成長し続けることができるという点が非常に重要です。このようなアプリケーション中心のソリューションは、最新のアプリケーションの展開を簡素化および加速し、ビジネスの成長を促進します。NGINXとF5のチームが統合して次世代のNGINXコントローラーを再考したとき、私たちが一番重要視したのは、このアプリケーションを中核とするというこの新たな、将来に向けた基本概念でした。

最初のアプリケーション・セントリック配信プラットフォームである、Controller 3.xのご紹介

今回のNGINX Controllerの最新リリースの重要性は、単純な追加リリースの意味合いを超えた重要な役割を備えています。NGINX Plusを使い始めたばかりの方から、すでに先進的で洗練された展開を実施していただいているチームに至るまで、どのようにして従来のアプリケーション、最新のアプリケーションをそれぞれデリバリーし、またAPIを管理するか、従来の考え方を変えるアプリケーション中心のアプローチをControllerを通して得られるようになります。

Controller 3.0には、多くの新しい特長と機能があります。ここではまず、アプリケーション・セントリックを実現するために備えた、主な機能の概要を説明いたします。

異なる複数の役割を一元的にサポート可能にするセルフサービス型コラボレーションポータル
たとえば、AppDevチームが、新しいアプリケーション機能を作成し、Blue/GreenデプロイメントやCanaryリリースなどを行うためにチケットを開く場合を考えてみます。まずDevOpsが、機能を本番環境にデプロイし、別のチケットを開いて実トラフィックを処理するようにWebサーバー、ロードバランサー、およびAPIゲートウェイを構成します。さらに別のチケットが、WAFポリシーを更新するために開かれます。そして、これらのチケットはNetOpsおよびSecOpsチームに割り当てられます。このように複数のチーム間で異なるチケットが発生するため、ボトルネックが発生しやすく、市場投入までの時間が長くなります。

NGINX Controller 3.xは、セルフサービスポータル、ロールベースのアクセス制御(RBAC)、およびモジュール式ワークフローを導入することで、アプリケーションの展開ライフサイクル全体で、複数のチーム間での共同作業を容易にします。その結果、面倒なチケット作成の手間を省略し、生産性が向上し、市場投入までの時間が短縮されます。

新しいAPIコンフィグレーションでDevOpsを最適化
Controller 3.xでは、RESTful APIのコンフィグレーションを実装しています。DevOpsチームは、CI / CDおよび自動化ツールを各NGINX Plusインスタンスに個別に接続する必要なく、ワークフローを管理できるようになっています。それらは一度ControllerのAPIに書き込み、ControllerがデータプレーンでNGINX Plusの複雑さを管理します。

直感的な管理を可能にする、アプリケーション・セントリックな新しいユーザーインターフェイス
大規模で複雑なアプリケーションを管理するチームは、アプリケーションの動作を理解するために、相当なエネルギーを費やす必要があります。アプリケーションのエンドツーエンドのアプリケーションの状態を取得するために、複数のインフラ要素から複数のツールにメトリックを引き出します。 Controller 3.xは、新しいアプリ中心のUIでこの概念を変えます。ログインしてアプリ全体の正常性を即座に確認することができたり、そのコンポーネントをトラブルシューティングしたり、新しいポリシーを定義および実装することも可能です。これらは、基盤となるNGINX Plusインスタンスではなく、アプリの観点から制御することが可能です。これにより、エンドツーエンドのビューをつなぎ合わせる必要がなくなりますが、必要に応じてインフラの詳細ビューにドリルダウンすることもできます。

効率的な新しいSSL証明書の管理機能
アプリケーションの配信では、数千ではないにしても数百のサーバー、プロキシ、ロードバランサー、APIゲートウェイが関連することは珍しくありません。困難なタスクの1つは、このインフラストラクチャ全体で一連のセキュリティ証明書を管理することです。 NGINX Plusでも、このインフラストラクチャを単一のインスタンスプールに統合することができますが、それでもまだ証明書を維持するために複雑なワークフローが残ります。

Controller 3.0には、効率的な新しいSSL証明書の管理機能が導入されています。 これは、セルフサービスポータル、API、アプリ中心のUIと組み合わせて、証明書管理を自動化し、DevOps環境に統合します。Controllerは、インフラストラクチャが準拠していることを確認し、煩雑だったセキュリティのボトルネックを排除します。

Controller 3.0の新機能群は本当にすばらしい大きな変革で、そしてまだこれからもその改良は続きます。今後も、アプリケーション・セントリックの概念のもと新しい機能を定期的にリリースしていく予定です。私たちの目標は、アプリとAPIの配信ライフサイクル全体にわたって、すべてのチーム間のコラボレーションを合理化することです。NGINX PlusをDevOps環境向けにさらに最適化し、開発者の生産性が大幅に向上することで新しいアプリケーションの市場投入までの時間が短縮されることを目指しています。

ぜひ、新製品Controller 3.xを試してみてください!今すぐ無料トライアルをお試しいただけます。

Controllerを使用すれば、DevOpsの世界でアプリやAPIをより適切に提供および管理するのに役立つと確信しています。ぜひお試しになり、その感想をお聞かせいただければ幸いです。皆様からのフィードバックは、継続的に改善につなげてまいります。

関連資料