Jelastic 2.5 Cloud Platform Update-その場でスケーリング

画像






Jelasticは、PaaS(サービスとしてのプラットフォーム)とIaaS(サービスとしてのインフラストラクチャ)アーキテクチャを組み合わせたユニバーサルクラウドプラットフォームです。 Jelasticでは、Java、PHP、Ruby、Python、またはNode.JS環境を数分でデプロイし、構成されたアプリケーションを実行して、高負荷に対応できます。 同時に、GIT、SVN、およびIDEA、NetBeans、Eclipseのプラグインを介してデプロイする機能により、デプロイメントにかかる時間をさらに短縮し、開発に費やすことができます。



この記事では、このプラットフォームの最新アップデートの1つである2.5について説明します。2.5には、多くの興味深い機能が追加されています。

画像

スケーラビリティは、クラウドプラットフォームの主要な要件の1つです。 自動化された垂直スケーリング(アプリケーションの現在の要件に応じてクラウドレットの数を増やす)に加えて、Jelasticでは、アプリケーションの必要に応じて、環境内のサーバーの数を増減できます。



Jelastic 2.5のリリースにより、アプリケーションサーバーだけでなく、以下を含む環境内の他のすべてのノードの水平スケーリングが可能になります。





唯一の例外はMavenノード(Javaプロジェクトを構築するためのツール:コンパイル、jarの作成、プログラム配布パッケージの作成、ドキュメントの生成)であり、スケーリングする必要はありません。

画像

同時に、自動水平スケーリングが追加されました-ユーザーはトリガーを設定でき、トリガーされると、新しいノードが自動的に環境に追加されます。 トリガーには2つのタイプがあります。





タイムアウト期間とリソース使用率の上限(上限と下限)をパーセンテージで指定するだけです。 負荷レベルが指定された上限を超えると、トリガーが起動し、カウントダウンが開始されます。 指定した時間内に負荷レベルが指定した制限を下回らない場合、トリガーが起動し、新しいノードが追加されます。 同様に、負荷が軽減されると、アセンブリは取り外されます。



スケーリングプロセスは単純なままです。必要な数のノードを、環境トポロジウィザードの対応するボタンで設定するだけです。







同じタイプのノードの最大利用可能数は異なる場合があります。 通常、この制限は8ノードです。 新しく追加されたすべてのノードはさまざまなサーバーノード上に作成され、さらに高い信頼性と高可用性を提供します。



アプリケーションサーバー



以前のJelastic更新では、アプリケーションサーバーのスケーリングのサポートが既に追加されています。 バージョン2.5では、ノードに新しく追加された各アプリケーションサーバーは既存のものをコピーします。つまり、内部に同じ設定とファイルのセットが含まれます。 すでに異なるコンテンツを持つ複数のインスタンスがあり、もう1つ追加すると、最初のノードが「複製」されます。



ロードバランサー



アプリケーションサーバーインスタンスの数を増やすときに最初に気づく必要があるのは、トポロジに表示される自動的に有効化されるnginx-balancerです。



画像






このサーバーは、実際にはアプリケーションの「最前線」に配置され、環境のエントリポイントになります。 その主な役割は、すべての着信ユーザー要求を処理し、指定された数のアプリケーションサーバー間でそれらを均等に分散することです。 この負荷分散はHTTP分散に基づいていますが、オプションでTCPを構成できます(たとえば、アプリケーションの要件に基づいて)。



アプリケーションの可用性を向上させ、複数のエントリポイントを取得する場合は、nginxバランサーの数を増やすことは理にかなっています。 この場合、各バランサーのパブリックIPアドレスが必要です。



画像






新しく追加されたnginx-balancerノードはそれぞれ、最初のノードをコピーします(上記のアプリケーションサーバーノードの説明と同じ方法で)。



データベース



Jelasticを使用すると、SQLおよびNoSQLデータベースをスケーリングできます。



画像






新しく追加された各データベースノードには、独自のホスト名(DB_name、ノードID、およびホスト環境で構成されます)と管理者アクセスの資格情報があり、ノードの追加後に個別の文字で受け取ります。 アプリケーションサーバーとバランサーを使用したアプローチとは異なり、新しいデータベースノードはデフォルトの状態で、つまりデータと設定をコピーせずにクラスターに追加されます。



ただし、数回クリックするだけで、自動的にマスタースレーブレプリケーションが構成された2つのノードの完全なクラスターを取得することができます。



Memcached



Memcachedの複数のインスタンスをアプリケーション環境に追加すると、フォールトトレランスが向上します。 たとえば、アプリケーションの特定のデータ領域に各ノードの責任を割り当てたり、すべてのノードに同時にキャッシュを保存するようにアプリケーションを構成したりすることもできます。 したがって、各サーバーには完全な重複キャッシュが含まれ、アプリケーションのダウンタイムやキャッシュデータの損失のリスクを排除します。



ソースの水平スケーリングの結果として作成された各新しいmemcachedノードには、設定なしのデータと構成の標準セットが含まれることに留意する必要があります。



画像






さらに、memcachedクラスターを使用してユーザーセッションを保存することもできます。これは、クラスター化された多数のアプリケーションサーバーで作業する場合に特に便利です。 その後、元の(このセッションを最初に処理した)が失敗した場合、クラスター内の任意のアプリケーションサーバーでそれらを取得して再利用できます。 そして、顧客は何も気づかないでしょう。 環境に追加された複数のキャッシュノードを構成して、各ノードにレプリケートされたセッションを格納し、少なくとも1つのMemcachedサーバーが実行されている限り、これらのセッションを使用できるようにします。



Vps



Jelastic Virtual Private Serverの管理がより簡単になりました-複数のVPSを1つの環境に追加できるようになり、それぞれに対して新しい環境を作成する必要がなくなりました。 ただし、各VPSホストは、個々のアプリケーションを実行するための独立したサーバーのままです。



画像






VPSクラスターのノード数を増やすと、デフォルトでベアサーバーが追加されます。 明らかに、各ノードには、対応する電子メールで提供される独自のホスト名と管理者の資格情報、および個別のパブリックIPアドレスがあります。



したがって、上記を要約すると、Jelastic 2.5アップデートの主な特徴である、ノードを水平方向にスケーリングする機能に注目したいと思います。 これにより、アプリケーションの負荷の変化により必要な場合、ユーザーは環境内のアプリケーションサーバーの数を増減できます。 これは、アプリケーションが負荷に適切に対処し、エンドユーザーのフォールトトレランスを向上させることを意味します。



もう1つの興味深い発表:近い将来、Jelasticは.NETプラットフォームのサポートを期待しており、ほとんどすべてのアプリケーションのデプロイに適した、より汎用性の高い環境になります。



All Articles