nginx(エンジンエックス)は、2002年にカザフスタン出身でロシア在住のIgor Sysoev(イゴール・シソエフ)が開発したオープンソースのwebサーバです。 2017年4月時点において、大規模なサイトを中心に急速にWebサイトのシェアを伸ばしています。
https://news.netcraft.com/archives/2017/02/27/february-2017-web-server-survey.htmlより引用
上図は、Netcraft社が公開して2017年2月27日に公開した世界のWebサーバのシェアです。 アクティブな全サイトのシェアを示していますが、2008年9月頃から2010年7月までの凡そ2年間で、 シェアの10%まで上昇し、その後緩やかに上昇し2016年12月には、20%まで上昇しています。
https://news.netcraft.com/archives/2017/02/27/february-2017-web-server-survey.htmlより引用
世界のアクセス数の多い100万サイトに限定したシェアの図になります。 nginxは、2017年2月末時点で凡そシェア3割(28%)をしめています。 グラフの勢いを維持した場合には、2017年~2018年内にApacheHttpServerのシェア41%を超える事が予想できます。
nginxがこのように2008年9月頃から急速にシェアを伸ばしてきた背景には、
などの要因で、今まで市場の動向や技術動向の様子を見守っていた月間100億PV以上あるサイトを所有する企業が、 積極的に導入又は、apacheからの切替をしています。 具体的には、facebook、Dropbox、WordPress、hulu、Yahoo! Japanが既に導入しています。
私が1エンジニアとして、イゴール・シソエフ(1975年生まれ)さんが凄いと感じたのは、Webサーバの世界一のシェアになりつつあるnginxを開発した事だけではありません。 イゴールさんは、2002年頃までApacheHttpServerを利用して、更にはApacheのモジュール開発を行っていました。 その経過からApacheHttpServerのアーキテクチャにおける限界を早い段階から理解して、その限界を超えるためにnginxを開発しています。 2011年のnginx ver.1.0をリリースするまでの凡そ9年間1人で!開発している経過にイゴール氏の強い信念、努力、学習量とその質を感じるからです。
2011年夏にNginx. Incが設立され、本格的な開発体制が整いました。 nginxはOSS版とは別に商用版「NGINX Plus」もリリースしました。 2014年6月17日にサイオステクノロジー株式会社が、 日本法人の初の「NGINX Plus」の販売パートナーとなりました。
他の販売パートナーは、https://www.nginx.com/partners/に掲載されています。
違いをみてみると
月間100億PV以上のWebサービスを展開しており、サービスの安定性、堅固性、速度を求められる企業は、 商用版NGINX Plusを導入する流れになっています。 日本で月間1億PV以上のサイトの運用経験が数年あり、ApacheHttpServerの設定ノウハウやハードウェア、ネットワーク、OSに長けたエンジニア1人を 国内、海外問わず企業に招く事がどれだけ大変な事でしょう。 恐らくヘッドハンディングを利用して年収1000万以上やCTOとしての待遇を提示し、三顧の礼で迎えいれるぐらいな事をしてどうかでしょう。 その採用費用、人件費と比較したらNGINX Plusを導入して年間の保守契約を支払った方が安いでしょう。
2017年時点爆速にシェアを伸ばしているnginxですが、nginx.inc及び販売パートナーが気をつける点があります。 ここ10年でマイクロソフト社やOracle社が既に経験している歴史です。
MicrosoftのIISは、当初OSがサーバエディションとの付属サービスとして提供されていました。 IISを利用したり、検証するには高価なOSを購入した企業の限られたエンジニアだけが利用できました。 それに対して、ApacheHttpServerがオープンソースとしてリリースされ、OS、ハードウェアは自由に組み合わせて Webサーバを誰でも自由に無料で利用できました。インターネットには、ApacheHttpServerの設定ノウハウも 多数公開されており、情報(ノウハウ)のオープン性の観点でもApacheHtppServerが優れていました。
それが起因して、2006年には、ApacheHttpServerがシェアの70%を占め、MSはWebサーバ分野で苦戦を強いられるようになりました。 MSは、WindowsVista(2006年末リリース)からIISを付属サービスとしました。 現在MSのOSで主流なWindows10にもIISが附属され、利用できるようになっています。
Oracle社は商用データベースの安定性、堅固性、速度で商用データベースのデファクトスタンダードになりました。 しかしながら、オープンソースのMySQLが商用のOracleとシェアを分割しています。 https://db-engines.com/en/ranking にデータベースのシェアの最新版が掲載されています。 MySQLは、2008年2月26日に旧サン・マイクロシステムズに買収されました。そのサン・マイクロシステムズもOracle社に2010年1月27日に買収されました。 それにより、MySQLの商標権や著作権もOracle社に移管されています。 市場ではオープンソースでフリーで安定したデータベースであるからOracleではなくMySQLを利用しています。 もし、Oracle社がMySQLをサポートではなく商用版としてリリースしMySQLに関する情報をクローズしたら、 一斉にPostgreSQLに利用者は移行するでしょう。
ソフトウェアの独占性や価格とサポート体制の質、情報の量・質・オープン性のバランスが崩れると、 ソフトウェアが如何に良い製品であっても、同等かそれ以上の機能を持ったフリーなオープンソースが必ず出現しています。 それは、ここ20年間のインターネットを取り巻くソフトウェアの歴史が証明しています。
nginx及びnginx Plusが発展するかは、どれだけ多くのエンジニアにノウハウや教育をオープンに公開し、 付加価値と価格のバランスを取れるかかが鍵だと思います。
nginxは、1万以上の同時接続数をさばくために、ノンブロッキングI/Oのアーキテクチャを利用しています。 Webアプリケーションサーバの分野では、日本でシェアを拡大しつつあるサーバサイドJavaScript(Node.js)もノンブロッキングI/Oのアーキテクチャを利用しています。 nginxを学習するメリットは、nginxのノウハウだけでなくノンブロッキングI/Oのアーキテクチャの理解に繋がるため無駄がありません。
まずは、Webサーバとしてnginxをインストールするところから始めていきましょう。