NGINX.COM
Web Server Load Balancing with NGINX Plus
本社:
テルアビブ(イスラエル)
設立:
2006年
事例:
ソリューション:
会社概要

Wix.comは、クラウドベースの開発プラットフォームを提供。

課題

独自に開発したサーバーへの変更のデプロイを自動化し、ヘルスチェックを改善する、より効率的な方法。

成果

ヘルスチェックでダウンタイムを削減

自動構成により時間を節約

新機能のデプロイを高速化

概要

Wix.comは、市場をリードするクラウドベースの開発プラットフォームであり、小規模企業がオンラインビジネスを運営できるようにします。Wix.comのプラットフォームを使用して、何百万もの企業、組織、専門家、個人がビジネス、ブランド、ワークフローをオンラインで展開しています。

課題

Wixが提供するクラウドベースのWeb開発プラットフォームを使用すると、ユーザーはコーディングしなくても、Webサイトやアプリをすばやく簡単に構築することができます。すでに190か国の1億1,000万人を超えるユーザーが無料サービスを利用しており、毎日4万5,000人の新規ユーザーが登録しています。WixはWebサイトとアプリを無料でホスティングします。同社の報告によると、毎日平均1万5,000個のアプリが新規にインストールされています。

ユーザーサイトで高いパフォーマンスと可用性を実現することが、Wixのシステムチームのメインの役割です。チームメンバーは、3つの仮想データセンターと2つの物理データセンターで、すべての本番サーバー、ステージングサーバー、開発サーバーをデプロイおよび管理しています。また、CDNやロードバランシングを含め、内部および外部のすべてのトラフィックを管理し、コードもデプロイします。

Wixは革新的なマイクロサービスアーキテクチャーを使用しています。そこには多数の相互通信プロセスが含まれ、サービス間で大量の「水平方向」の内部トラフィックが発生しますが、これはユーザーサイト向けの外部トラフィックよりも大規模です。最近まで、チームはサービス間トラフィックを管理するために独自に開発したサーバーを使用していましたが、その維持がますます困難になっていました。スタッフは、ネットワークとCプログラミングに関する専門知識を求められ、カスタムコードの内部を理解する必要がありました。この状況を改善するため、Wixは変更のデプロイを簡単に自動化し、ヘルスチェック機能を改善する方法を必要としていました。そこで、古いソリューションにカスタムコードをさらに実装するのではなく、より効率的なものに移行する道を模索しました。

Wixでシステムチームの責任者を務めるディミトリ・クラソボスキー氏は、次のように述べています。「ハードウェアソリューションについてもいろいろ検討しましたが、ハードウェアのロードバランサーには柔軟な構成APIがみあたらず、また非常に高価でした。チームメンバーの一部はNGINXを使用した経験を持ち、NGINXが安定し成熟した製品であると考えていたため、NGINX Plusの採用に至りました」

ソリューション

NGINX Plusは、10年にわたり強化されてきたソフトウェアに基づき、世界最大のWebサイトで実証されているインテリジェントなトラフィックゲートウェイを提供します。NGINX Plusは、上流のサーバーグループ間でトラフィックを分散するさまざまなロードバランシング手法をサポートします。また、ヘルスチェックセッションの永続性充実したステータスレポート、およびロードバランシングによるサーバーグループの動的再構成も提供します。

最初のプロジェクトで、Wixはアプリケーションサーバー間の内部トラフィック用のリモートプロシージャーコール(RPC)ルーターとしてNGINX Plusを使用しました。NGINX Plusへの移行により、Wixは構成ファイルの管理を自動化し、ヘルスチェックを強化し、耐障害性を高めてアプリケーションパフォーマンスを高い状態で維持できました。内部トラフィックをNGINX Plusに移行した後は、外部トラフィックの移行も開始しました。WixによるNGINX Plusのデプロイメントでは、各データセンターに含まれる複数のインスタンスが高可用性(HA)ペア(内部トラフィック用のペアと外部トラフィック用のペアを含む)として動作します。レイヤー4のロードバランサーがフロントに配置され、NGINX Plusのペアの間でトラフィックを分散します。

クラソボスキー氏は次のように述べています。「NGINX Plusは当社に必要なすべての機能を備えており、レガシーシステムを維持するよりも移行する方がはるかに容易でした。また、専門性の高いNGINXサポートチームから大きな支援も受けることができました。知識豊富なNGINXのエンジニアと直接連携できたので、デプロイにかける時間を短縮でき、迅速にスタートすることができました」

Image Wix Editor for Wix NGINX Plus Case Study

成果

ヘルスチェックによりダウンタイムとエラー率が大幅に低減

Wixはアプリケーションのヘルスチェックにより、本番環境でのダウンタイムを大幅に削減することができました。NGINX Plusは、ローカルデータセンター内でサーバーの状態をアクティブに監視することができます。トラフィックの負荷の増大やDDoS攻撃などが原因でローカルサーバーの状態が正常でない場合、NGINX Plusは自動的にリクエストを別のデータセンター内に定義された一連のバックアップサーバーにリダイレクトします。NGINX Plusを使用することで、Wixはローカルサーバーの障害によるダウンタイムを防ぎ、自社サイトと顧客サイトの継続的な稼働を保証できています。

NGINX Plusのスロースタート機能もエラーの排除に役立っています。Wixのバックエンドで稼働する、Javaで記述された一部のサーバーでは、起動直後に処理するトラフィックの量が制限されることがあり、トラフィックが過剰に多い場合にエラーが発生する傾向があります。Wixは、NGINX Plusのスロースタート機能を利用してサーバーを保護することで、エラーを実質的に排除しました。ロードバランシング対象グループにサーバーが再指定されると、NGINX Plusはサーバーに向けられた負荷をゆっくりと増加させるので、アプリケーションが「ウォーミングアップ」(キャッシュの読み込み、ジャストインタイムコンパイルの実行、データベース接続の確立など)する時間をとることができます。

Wixのシステムチームのマネージャーであるグレゴリー・マン氏は、次のように評価します。「スロースタート機能は特に気に入っています。スロースタートによって、Javaサーバーをサーバープールに再導入するときに発生していたエラーの急増を緩和できました。NGINX Plusのスロースタート機能を利用することで、起動が原因のエラーが発生しなくなりました」

自動化による時間の節約

これまで、Wixのシステムチームは、新しいサービスをプッシュして提供するために、ロードバランサーの構成を手動で変更する必要がありました。NGINX Plusをデプロイしたことで、社内のWix開発者が新しいサービスを自ら容易にデプロイできるシステムが構築され、構成が完全に自動化されています。

このシステムでは、開発者は外部ユーザーに公開するドメインとパスに関するメタデータを指定するだけで、これがNGINX Plusで自動的に構成されデプロイされます。

Wixは毎日多くの新しいサービスを追加しているため、NGINX Plusの構成の自動化によって、システムチームが機能のデプロイに費やす手動タスクが大幅に削減されました。

Man氏は次のように語っています。「本番環境では150のサービスが提供され、その数は毎日増加しています。したがって、NGINX Plusによってかなりの時間を節約できます。「構成テンプレートを使用することで、1か月あたり数十時間を節約し、新機能をより迅速にデプロイできています。自動化を実現した現在、システムチームがボトルネックになることはありません。NGINX Plusによって自動化をデプロイメントシステムに拡張できるようになったのは、素晴らしい成果です」

今後の展望

今後Wixは、すべてのユーザートラフィックをNGINX Plusに移行する予定です。内部のインフラ環境で実証されたヘルスチェックの向上と自動化によるメリットを、すべてのユーザートラフィックへと拡張する予定です。同社は、ユーザー向けの大量のセルフサービスSSL/TLS証明書の機能でもNGINX Plusを活用することを検討しています。

NGINX Plusによって、現在必要な機能すべてを利用でき、今後の成長に必要な拡張性と柔軟性も手に入れることができました。企業の成長とともに、キャパシティを高めていくことも可能になっています。
– Wix、システムチーム責任者、ディミトリ・クラソボスキー氏

Wix Working Space 05 Image for NGINX Plus Case Study

Wixについて

Wixは、全世界で6,900万人を超える登録ユーザーを抱える、市場をリードするクラウドベースのWeb開発プラットフォームです。Wixは、誰もがインターネットにアクセスして開発、創造、貢献できるようにするという信念に基づいて設立されました。Wixの無料サブスクリプションとプレミアムサブスクリプションを通じて、何百万もの企業、組織、専門家、個人はビジネス、ブランド、ワークフローをオンラインで展開しています。Wixエディタと厳選されたApp Marketにより、ユーザーは完全に統合された動的なデジタルプレゼンスを構築して管理できます。Wixはテルアビブ(イスラエル)に本社を構え、サンフランシスコ、ニューヨーク、ビルニュス(リトアニア)、ドニプロ(ウクライナ)に拠点を置いています。詳細は、www.wix.comをご覧ください。