Post on 31-Dec-2020
NGINXアプリケーションプラットフォーム
アプリケーションをシンプルにかつ飛躍的に進化させる
アプリケーションデリバリー
API管理
サービスメッシュ
NGINXはF5と共に進みます
1X height of F5 from right edge
Gradient fill ends 3X width of text on left. Fill remaining space with 100% of PANTONE Neutral Black 4C fill.
2
企業が生き残るには、テクノロジーの力が不可欠私たちの生活は、テクノロジーなしでは成り立ちません。エンターテイメントの世界でも、銀行での手続きひとつにしても、私たちが社会と関わる方法をテクノロジーはすべて変えてきました。規模や業種を問わずあらゆる企業が、顧客を惹きつけ、維持し、満足させるために、効果的なデジタル技術の導入を進めています。
こうしたデジタルの世界において、企業間の競争は激しさを増し、顧客の期待は高まるばかりです。最新の調査によると、動画のバッファリングが4秒遅れるだけで、人はホラー映画を観るのと同じくらいストレスを感じるそうです。顧客は常に最高のデジタル体験を求めています。少しでも満足がいかなければ、すぐにライバル会社へ逃げて行ってしまうでしょう。
これほどの高度な期待にも応えようと、NetflixやAmazonなどの巨大企業は、オープンソースやクラウドネイティブを採用し、適応性、パフォーマンス、拡張性に非常に優れた最先端のテクノロジーを駆使してアプリケーションを開発しています。これらのテクノロジーをいち早く導入するために、NGINXほどユビキタスなツールはありません。
3億7,500万のウェブサイトが、アプリケーションデリバリーにNGINX Open Sourceを利用しています。このテクノロジーを使用すれば、デジタルのデリバリーをシンプルにし、サプライチェーンを最適化して、サービスのロールアウトを加速することができます。NGINXアプリケーションプラットフォームは、アプリケーションのパフォーマンスを高め、デリバリーを自動化し、資本コストと運用コストを削減する統合ツールセットです。
1. https://www.ericsson.com/en/press-releases/2016/2/streaming-delays-mentally-taxing-for-smartphone-users- ericsson-mobility-report
2. https://news.netcraft.com/archives/2019/02/28/february-2019-web-server-survey.html
3
NGINXアプリケーションプラットフォーム
NGINX Plusダイナミックアプリケーションゲートウェイ
NGINX Controller監視と管理を一つに集約
NGINX Unitダイナミックアプリケーションサーバー
Webサーバー
分析 コントロール ポリシー
API管理 サービスメッシュ
アプリケーションデリバリー
多言語によるアプリサーバー
APIゲートウェイ WAF
コンテンツキャッシュ
アプリケーションデリバリー
NGINXアプリケーションプラットフォームは、アプリケーションの開発に必要なすべての機能を集約する、性能、信頼性、セキュリティ、スケーラビリティに優れた製品スイートです。NGINXアプリケーションプラットフォームは、ロードバランシングとアプリケーションデリバリーを行うNGINX Plus、セキュリティを保護するNGINX WAF、アプリケーションコードを実行するNGINX Unit、それら全体の監視と管理を行うNGINX Controllerで構成されています。
NGINX Controller – アプリとAPIを管理制御します。モジュラーソリューションです。
NGINX Plus – ロードバランサー、APIゲートウェイ、サイドカープロキシ、コンテンツキャッ
シュ、ウェブサーバーアーキテクチャをシンプルにし、同時にコストを削減します。
NGINX WAF – SQLインジェクション、LFI、 RFI、およびほぼすべてのレイヤー7攻撃を阻
止します。ModSecurityと連携します。
NGINX Unit – Node.js、Java、Perl、PHP、 Python、Rubyというダイナミックコンフィギュ
レーションAPIにより、アジリティを向上させます。
4
アプリケーションデリバリーの インフラがあまりにも複雑である理由すばらしいデジタル体験を提供するために、企業はさまざまなアプリケーションアーキテクチャを取り入れなくてはなりません。実際、2018年に行ったアンケートでも、モノリシックとマイクロサービスを組み合わせたアプリケーションは、全体の85%を占めることがわかっています。そのようなアプリでは当然ながら、インフラストラクチャは非常に複雑になります。
ほとんどの企業のシステムは、下の図に示すように、アプリの入出力トラフィックを保護し、拡張するために必要な、コンテンツデリバリーネットワーク(CDN)、ウェブアプリケーションファイアウォール(WAF)、ネットワーク(またはL4)ロードバランサー、アプリケーション(またはL7)ロードバランサー、APIゲートウェイをつなぎ合わせて構築されています。コンポーネントの数が増えればそれだけ遅延や負荷が増加し、 費用も高くなります。
また、バックエンドには旧式のアプリに必要なリバースプロキシ(下図のRP)、アプリサーバー、ウェブサーバーを数多く配置し、同時に、新しいマイクロサービスアプリが使用するKubernetes Ingressコントローラ
(下図のK8s IC)、サイドカープロキシ(下図のSP)、さらにマイクロサービス(下図のMS)などを実装しているケースも少なくありません。しかも各コンポーネントは、スキルの異なるさまざまなチームによって管理されているのが現状です。
これらのアプリはそれぞれに専用のツールで管理しなくてはなりません。インフラストラクチャがここまで複雑になると、費用がかさみ、リスクも高くなります。新しいアプリやサービスを短期間で開発し、市場に出すことも難しくなるでしょう。
マイクロサービス
Web
アプリ
管理 管理 管理 管理 管理
コントロールプレーン
データプレーン
サーバー/アプリ
管理
CDN WAF L4LB
L7LB
APIGW
管理
管理
Istio
モノリシックなアプリ
SP MS
SP MS
SP MS
SP MS
L4LB
K8sIC
RP
5
CDN
NGINX Controller
中央管理システム
NGINX Plus
ロードバランサーAPIゲートウェイリバースプロキシWAF
L4LB
13 ソリューションの数
3
管理 管理
マイクロサービス
モノリシックなアプリ
K8s IC
サイドカープロキシ
Webサーバー
NGINX Unitアプリサーバー
L4LB
コントロールプレーン
データプレーン
サーバー/アプリ
コンテナー化されたアプリ
NGINXがアプリケーションインフラの複雑さを軽減NGINXアプリケーションプラットフォームは、アプリケーションの開発とデリバリーに必要なテクノロジーを1つに集約し、アプリケーションインフラの複雑さを軽減する製品です。アプリケーションデリバリー、 API管理、サービスメッシュの機能を備え、NGINXアプリケーションプラットフォームだけでソリューションの数を10も減らせるので、費用を大幅に削減できます。また、アプリケーションのパフォーマンスの改善や、開発者の生産性向上、新しいサービスを市場に出すまでの期間短縮にも効果を発揮します。
下の図は、先と同じアプリケーションインフラの例ですが、NGINX Plusによって、North/Southトラフィックに単一のダイナミックアプリケーションゲートウエイが実装されていることがわかります。また、ロードバランシング、APIゲートウェイ、リバースプロキシ、WAF
の機能を1つのソフトウェア層にまとめることも、 NGINX Plusによって可能になります。同様に、バックエンドにNGINX PlusとNGINX Unitを使用してダイナミックアプリケーションインフラストラクチャを実装すれば、East/Westトラフィックに必要な複数のサーバー、Ingressコントローラ、サイドカープロキシも不要になります。さらに、NGINX Controllerを使用して、これらすべてを直観的なグラフィックインターフェイスで監視および管理することも可能です。
6
NGINXのアプリケーションデリバリーソリューションでは、NGINX Plusをデータプレーンに配備し、 NGINX Controllerのロードバランシングモジュールで管理を行います。
NGINX Plusは完全なソフトウェアベースのロードバランサーです。何億ものウェブサイトを支えているNGINX Open Sourceを基礎として開発されています。インフラチームやDevOpsチームは、NGINX Plusによって驚異的なパフォーマンスを持つシステムを
アジャイルに開発することができます。キャパシティを拡張したり、トラフィックの管理を変更する場合も、わずかな時間で構成を変えられるので、アプリケーション開発のスピードが加速し、市場での競争力が高まると同時に、顧客ロイヤリティの向上にもつながります。ダウンタイムのないオンザフライの再コンフィギュレーションや、アクティブなヘルスチェック、高度なクラスタリング、回復性と信頼性を高めるステート共有など、NGINX Plusにはオープンソースに特有の最先端機能が含まれています。
アプリのデリバリーが進化する、DevOpsにうれしいIngress/Engress層
「次世代のADCに移行するには、データセンターごとに100万ドルを超える費用が必要でした。 NGINX Plusを採用することで、費用を6分の1に抑えながら、サーバーごとのトランザクションを1.5倍に増やすことができました。ハードウェアの追加費用もまったく必要ありません」
– AppNexus社、サイバーセキュリティエンジニアリンング兼 オペレーション担当副社長、Josh Ryder氏
アプリケーションデリバリー
アプリケーションデリバリーコントローラにNGINXを使用する理由
コスト削減 – 費用を抑えながら性能と機能を向上。
アジリティ – ロードバランシング、プロキシ、WAFの各機能を、1つのソフトウェア層に統合できます。
柔軟性 – NGINX PlusとNGINX Controllerは、クラウド、ベアメタル、仮想マシン、コンテナーベースのどの環境にも配備、運用が可能です。
7
特徴:NGINX Plus
(データプレーン):• TCP、UDP、HTTPの健全
性をアクティブにチェックして可用性を向上
• ダウンタイムのないダイナミックな再コンフィギュレーション(プロセスの再ロードなし)
• JWT認証 • Sticky-routeによるセッ
ション維持• マルチクラウドに対応• プログラミング可能(Chef、Puppet、Ansible
と連携)• 高可用性
コントローラアプリデリバリ モジュール(コントロールプレーン):• 高度な管理機能• マルチクラウドに対応• リアルタイムな監視と
アラート• カスタマイズ可能なダッシュ
ボードを搭載 • シンプルなコンフィギュレー
ション管理• ベストプラクティスに基づ
く予測的なアドバイス
ロードバランシングモジュールにより、NGINX Plusの複数のインスタンスを、複数のクラウド環境全体で管理することができます。直観的なウィザードスタイルのインターフェイスを使用して、ロードバランシング、URLルーティング、SSLターミネーションなどの機能を、NGINX Plusのすべてのインスタンスに対して構成することが可能です。NGINX Plusの全インスタンスに対する高度なモニタリング機能とアラート機能は、アプリケーションの可用性、パフォーマンス、信頼性を向上させるのに役立ちます。また重要な指標を詳しく表示したり、ベストプラクティスをもとに予測的なアドバイスを提示することもできるので、インフラチームやDevOpsチームはあらゆるトラブルを早期に検出し、すばやく解決して、パフォーマンスの低下を未然に防ぐことができます。
NGINX Controllerのダッシュボードに表示される概要
8
NGINXのAPI管理ソリューションでは、NGINX PlusのAPIゲートウェイ機能をデータプレーンに実装し、 NGINX ControllerのAPI管理モジュールと組み合わせて使用します。
最高にユビキタスなAPIゲートウェイであるNGINX Plusを使用すると、従来型のモノリシックアプリケーションによるNorth-SouthのAPIトラフィックと、マイクロサービスベースの新しい分散型アプリケーションによるEast-WestのAPIトラフィックを仲介することができます。基盤となるリクエストルーティングの機能に、レート制限や、JSON Webトークン(JWT)を使用するAPI認証などの高度な機能と組み合わせて使用することが可能です。NGINX Plusは、共通するAPI
レスポンスをキャッシュすることでAPIエンドポイントの負荷を減らし、NGINX Open Sourceを基盤のAPI
ゲートウェイとして使用する他の多くのAPI管理ソリューションとは異なり、NGINX Plusでは、サードパーティ製のモジュールを使用してAPIコールを処理する必要がありません。
NGINX Plusは非常に軽量で、柔軟性に優れているため、従来型アプリケーションとマイクロサービスの両方に、APIゲートウェイとして配備することが可能です。マイクロゲートウェイを追加してマイクロサービスを管理する他のソリューションのように、複雑で費用が高額になる心配もありません。
「NGINXのおかげで、1日に120億も処理が実行されるほどアプリケーションを拡張できました。ピーク時に毎秒200万回実行しても、遅延はわずか10~30ミリ秒です」
– Capital One社、ソフトウェアエンジニア主任
API管理従来型アプリとマイクロサービスのための、最も信頼性の高いAPIソリューション
NGINXを使用して、APIのライフサイクル全体を管理する理由
高パフォーマンス – NGINX PlusのAPIゲートウェイなら、サードパーティ製のモジュールが不要。コントロールプレーンに絶えず接続する必要もないため、複雑さと遅延を解消できます
シンプルな管理 – NGINX Controllerの直観的なインターフェイスを使用し、マルチクラウド環境全体ですべてのAPIを定義、発行、保護、監視、分析できます
シンプルなアーキテクチャ – NGINX PlusをAPIゲートウェイとして配備し、運用することにより、従来型アプリと最新式のマイクロサービスの両方でAPIコールを管理できます
9
NGINX ControllerのAPI管理モジュールは、NGINX Plusのパワフルで効率的なAPIゲートウェイ機能に、新しいコントロールプレーン機能を組み合わせた製品です。APIプロダクトマネージャーも、APIの定義、発行、保護、監視、分析を容易に行いながら、効率の良いAPIをデザインすることができます。
NGINXのAPI管理が他とはまったく異なる理由は、その革新的なアーキテクチャにあります。NGINX Plus APIでは、NGINX Controllerに絶えず接続する必要がないため、API実行時のトラフィックをAPI管理のトラフィックから切り離すことができます。これにより、 APIコールへの平均応答時間を短縮でき、パフォーマンスが大幅に向上すると同時に、ゲートウェイのフットプリントや複雑さを最小限に抑えることも可能です。また、データベースをローカルに配置する必要も、コンポーネントを追加する必要もないため、APIゲートウェイをシンプルに保つことができ、遅延や単一障害点も回避できます。
特徴:NGINX Plus
(データプレーン):• リクエストルーティング• キャッシュによるパフォー
マンス向上• グローバルなレート制限• API鍵とJWTを使用した認
証と承認• E/WとN/Sの両方のトラ
フィックを管理• 少ないフットプリント(メモ
リサイズ~2MB)
コントローラアプリデリバリモジュール(コントロールプレーン):• APIの定義と発行• レート制限• アクセスコントロールの
細かい設定が可能• リアルタイムな監視と
アラート• カスタマイズ可能なダッシュ
ボードを搭載 • マルチクラウドに対応(柔
軟でポータブル)
API定義
10
顧客を成功に導くためには、マイクロサービスへの移行が不可欠です。この非常に重要な移行を、Webアプリケーションの開発とデリバリーでサポートしようと、私たちはいくつかの機能に加えて、マイクロサービスベースのシステム構築に、また開発期間を短縮したり、効率化したい場合に、このMRA (Microservices Reference Architectures)をいつでもすぐに参照することができます。マイクロサービス間でのロードバランシング、サービスディスカバリー、アクティブヘルスチェックなどを備える、効果的なトラフィック管理のためのガイドラインとしてお使いください。
このMRAに含まれるソリューションの内、最も良く参照されているのはIngressコントローラの実装です。マイクロサービスを効率的に実行するには、コンテナーが必要です。NGINXはDockerHubでのダウンロード数10億以上を誇る、非常に評価の高いアプリケー ションであり、NGINX Ingress Controller for Kubernetesは、高度なロードバランシング機能を搭載し、多数のマイクロサービスを含む複雑なアプリケーションでのセッション維持、WebSocket、HTTP/2、 gRPCを可能にします。
最も広範に使用されるマイクロサービストラフィック管理ソリューション
サービスメッシュ
「NGINXの技術サポートは対応がすばやく回答も的確で、非常にありがたいです。Kubernetes Ingressコントローラのサポートもすばらしい。しかも、NGINXは高レベルでカスタマイズできます」
– LKQD Technologies社、エンジニアリング担当副社長、Andrew Van Dyk氏
NGINXをサービスメッシュに使用する理由
実証済み – 先進的なトラフィック管理ソリューションと一緒にマイクロサービス環境で使用し、Ingressコントローラとサービスメッシュの両方を実装できます。
実証済みのMRAを、各インフラストラクチャの規模に合わせて(マイクロサービスの数が多くても少なくても)利用でき ます。
信頼性 – 安定性に優れたエンタープライズレベルのIngressコントローラとルーターをKubernetesとOpenShiftを合わせた環境で使用し、本番環境に対応可能なソリューションを実現できます。
11
JWT認証をサポートするSSL/TLSターミネーションは、マイクロサービス環境のセキュリティを確実に保護します。また、構成の自動化により、Kubernetesクラスター内のアプリケーションを、パフォーマンスを損なうことなく、安全かつ確実にデリバリーできます。
NGINXはRed Hat® OpenShift®もサポートします。 OpenShiftは、Kubernetesのコンテナー用に開発された、エンタープライズレベルの広範なアプリケー ションプラットフォームです。OpenShiftルーターとして、
NGINX Open SourceとNGINX PlusはIngressコントローラーとなり、トラフィックをより確実に管理でき、セキュリティがより強力に保護されるため、アプリケーションのレジリエンス、パフォーマンス、信頼性を強化することができます。
マイクロサービスのセキュリティ、信頼性、可観測性を強化することで、NGINX Ingressソリューションを補完します。運用がよりシンプルになるため、サービスメッシュを導入しやすくなり、ハイブリッド環境への移行が促進されます。
アプリPod
サービス 2
アプリPod
サービス 4
アプリPod
サービス 1
アプリPod
サービス 3Ingress
コントローラー
Pod
Pod
Pod
PodOpenShiftルーター
アプリ 4
アプリ 2
アプリ 3
アプリ 1
詳しくは nginx.com をご覧いただくか、 nginx-inquiries@nginx.comまでEメールでお問い合わせください。
NGINXおよびNGINX PlusはNGINX, Inc.の登録商標です。