容易にWebサービスを高速化できるNginxを使いこなすための秘訣とはDocker、HTTP/2、マイクロサービス対応も見据えて(3/3 ページ)

» 2016年03月17日 05時00分 公開
[野本幹彦@IT]
前のページへ 1|2|3       

Webサービスの今後とNginxの使いこなし方

 第3部では「徹底議論! イマドキのWebサービスの作り方」と題されたパネルディスカッションを行った。パネリストに第1部の深谷氏、第2部の村田氏に加え、レッドハット アジア太平洋地域 事業開発戦略本部 OpenShiftソリューションアーキテクトの大溝桂氏を迎え、@IT編集長 内野宏信がモデレータとなってWebアプリケーションの現状と今後について、活発な議論が交わされた。

パネルディスカッションの様子。左から深谷氏、大溝氏、村田氏

イマドキの「Webサービスに求められる要件」

 「Webサービスに求められる要件」について聞かれた村田氏は、「やはり応答速度が重要で、遅延が売上にも影響を与える」と回答。また、「動画で商品紹介や説明を行うことも主流となる中で、高速なWebサーバは重要である」とした。サイオステクノロジーでは、「1日5000万PVで秒間2000PVあるサイトの前段に3台のNginxを置くことで高速化を実現した事例」を持つ他、自社の音楽著作権管理サービス「DirectorsGear」でも、前段にNginxを置くことで利用者の評価が上がった実績を持っている。また、「Nginxをスポーツ系の動画配信プラットフォームとして利用できないか」という相談も受けているという。

 実際にNginxを使っている深谷氏は、「高負荷でも安定して短いレスポンスで応答できることがNginxの優れているところ」と付け加え、大溝氏は「Web系の企業には、HTTP/2などにいち早く対応していることからNginxが注目されている」と話す。

要件に応える3つの選択肢

 「エンタープライズが求める高速性」に応えるWebアーキテクチャを構築するためには、現在のところ仮想化技術(例えば、KVM(Kernel-based Virtual Machine)など)、ミドルウェア(例えば、JBossなど)、Dockerと3つの選択肢のいずれかとNginxと組み合わせることが考えられる。

レッドハット アジア太平洋地域 事業開発戦略本部 OpenShiftソリューションアーキテクトの大溝桂氏「Red Hat Enterprise Linux 6から7への移行に対して、アプリケーション改修、アーキテクチャの標準化などの支援を行っている」

 cybozu.comでKVMを採用した深谷氏は、5年経っても安定していることを明かす一方、「VMの数が増えてしまったため、その管理が課題となっている」と話す。それに対して村田氏は、「ある程度までのVM数ならKVMが有効で、Red Hat Enterprise Virtualizationで管理する事例も多い」と話し、「OpenStackの需要が伸びているため、OpenStackとNginxを組み合わせたプラットフォームも考えていきたい」と付け加える。また、「JBossとNginxは、どちらも高速・軽量で親和性が高く、クラウドで利用できることがポイントだ」という。

 DockerとNginxの組み合わせについては、大溝氏が「コンテナを使ったアプリケーションの実行基盤でNginxを使えば、Nginxの機能でコンテナのパスを書き換えることができる。実際にこうしたニーズでNginxを前段に置くことを検討する例は多い」と述べた。

Nginxが注目されている理由

 一方、「Nginxが注目されている理由」という議題において、NginxとApacheの違いについてあらためて聞かれた深谷氏は、「Nginxの機能がコアな部分に限られていてスピードに特化しているのに対し、Apacheはさまざまなニーズを汲み取れるよう多機能であるため、コードが複雑である」と回答。

 一方、村田氏は、「もともとNginxは、Apacheのクライアントが1万以上になった場合にハングアップしてしまう限界を解決するために開発されたもの。Apacheに比べて10〜1000倍のパフォーマンスを出せる」と、「Nginxの開発者から直接聞いた話」を明かした。大溝氏は、Apacheに比べてNginxの方が設定などが簡単であることをメリットとして挙げている。

Nginx導入の課題

 Nginx導入の課題に話が移ると、大溝氏は、「Red Hat Enterprise Linux 7からDockerに対応して、DockerイメージとしてもNginxを提供している」など、導入のハードルが下がっていることを説明。ユーザーである深谷氏に「Nginx導入に踏み出した一番のきっかけと、導入のハードル」についてあらためて問うと、「パフォーマンスが限界に来ており、コストを掛けずにパフォーマンスを上げる必要性があった」と深谷氏は回答。だが、Nginxの導入については「インフラの構成のバージョン管理などを行いながら、Nginxの理解を深めた上で開発を行えたため、移行はスムーズだった」という。

これからのWebアプリケーション改善の第一歩

 最後の議題「今後のWebアプリケーションの改善の第一歩とは」という質問に対し、村田氏は「何が課題かによってアプローチが変わるが、ロードバランサとしてNginxを使えば、“既存システムを変更することなく”、性能を改善できる点は大きなメリット」とアドバイス。Nginx開発者からは、「ロードバランサの機能は今後強化されていく」とも聞いているという。

@IT編集長 内野宏信

 これに関連して、内野は深谷氏に対し、「機能追加とパフォーマンスのトレードオフは、Webアプリケーションの一つの課題だが、ビジネスニーズに応じて、パフォーマンスを落とすことなく機能拡張/改善を図り続ける上で、今後どのような対応を考えているか」と問い掛けると、深谷氏は「機能拡張でアプリケーションが肥大化することが課題で、マイクロサービスアーキテクチャを採用したり、KVMからDockerなどのコンテナ技術に移行したりすることを検討している」と回答。それに対して大溝氏は、「今はアプリケーションそのものを仮想化してポータビリティを高くすることが求められているが、コンテナベースでアプリケーションを管理運用していくためには、Docker管理機能を持つOpenShiftなどのPaaS製品を使うことが有効である」と付け加えた。

 最後にひと言ずつコメントを求められたパネリストたちは、次のように回答し講演を締めくくった。

 「Nginxは、Apacheの知識があれば、意外と簡単に使えるため、まずは1回使ってベンチマークを試し、その良さを実感してほしい」(村田氏)。

 「使ってみることが重要で、まずは目的を決めて検証してみてほしい。Nginxは、Dockerのコンテナとして配布されているので、簡単に試してみてから本格的に導入することもできる」(大溝氏)。

 「まずは、Nginxがターゲットとしている静的ファイルの配信やリバースプロキシで導入してみて、慣れてきたら難しいところにも挑戦していくのがよいと思う」(深谷氏)。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。