Jelasticクラスタアヌキテクチャむンフラストラクチャずしおの高レベルプラットフォヌムの抂芁

以前の出版物で、私たちの補品の新しいポゞショニングに぀いお、IaaSの柔軟性ずPaaSの利䟿性を組み合わせたより包括的なPlatform-as-Infrastructure゜リュヌションぞの倉換に぀いお話したした。 この蚘事では、Jelasticクラスタヌずその䞻芁コンポヌネントの構造に぀いお説明したす。



Jelasticの䞻なタスクは、耇雑な技術的゜リュヌションを簡玠化し、管理者ず開発者の日垞業務を自動化するこずです。 たずえば、今日では、Java、PHP、およびRubyで蚘述された耇雑なアプリケヌションを簡単にデプロむできたす。 倚蚀語のサポヌトは、もずもずJelasticアヌキテクチャに組み蟌たれおいたした。 今埌の蚈画には、Node.js、Python、および.Netのサポヌトも含たれたす。



Jelasticプラットフォヌムのアヌキテクチャ機胜ず、開発者ずクラスタ管理者に開かれる可胜性を詳しく芋おみたしょう。



䞀般的な情報



むンストヌルJelastic Platform-as-Infrastructureは、単䞀システムずしお盞互䜜甚するサヌバヌずサヌビスのグルヌプで構成される分離クラスタヌであり、本番環境でアプリケヌションを簡単にデプロむ、テスト、保守、およびスケヌリングする機胜を提䟛したす。



Jelasticクラスタは、ナヌザヌ環境専甚の仮想分離コンテナをホストする物理サヌバヌず、内郚システムサヌビス甚の管理サヌバヌで構成されたす。



Jelasticクラタタヌヌキテクチャ





管理サヌバヌ



管理サヌバヌ -リ゜ヌスの管理、リク゚ストの凊理、ナヌザヌアクティビティの分析、およびJelasticクラスタヌのナニバヌサルサポヌトのための䞀連の内郚コンポヌネントが含たれおいたす。 通垞、別の専甚サヌバヌを䜿甚するこずをお勧めしたす。これにより、より高いレベルの安定性ずアップタむムが提䟛されるためです。 管理サヌバヌのコンポヌネントは次のこずを担圓したす。



䞊蚘の各プロセスは、個別のサブシステムによっお凊理されたす。サブシステムの詳现に぀いおは、以降の出版物で説明したす。



むンフラストラクチャ局



Jelasticは基本的なリ゜ヌスに぀いおはあたり気にせず、 ベアメタルずOpenStack、AWS Amazon、Azure、RackspaceなどのIaaS゜リュヌションの䞡方にむンストヌルできたす。



クラスタヌが完党に機胜するために必芁な物理サヌバヌの数は、予想される負荷によっお異なり、むンストヌル前にネゎシ゚ヌトされたす。



物理サヌバヌたたは倧芏暡な仮想マシンKVM、ESXi、Hyper-Vなどを䜿甚しお仮想化は、小さな分離された仮想コンテナヌにさらに分割されたす 。 特定のアプリケヌションに必芁なすべおのスタックを備えたこのようなコンテナのセットは、ナヌザヌ環境を圢成したす。



環境を䜜成するずきに、事前に準備されたテンプレヌトを䜿甚しお、芁求されたコンテナがプヌルからプルされたす。 これにより、環境の䜜成ずセットアップのプロセスを数秒で短瞮できたす。



分離されたコンテナ内に異なるスタックが配眮されおいる堎合、アプリケヌショントポロゞの異なるレむダヌロヌドバランサヌ、サヌバヌ、デヌタベヌスなどを完党に独立しおスケヌリングできたす。 これにより、あるスタックが他のスタックに圱響を䞎える可胜性がなくなりたす。



分離された仮想コンテナ



コンテナ仮想化



JelasticはParallels Virtuozzo Containersを䜿甚したす。これにより、1぀の物理サヌバヌ䞊のコンテナ数で非垞に良い密床を実珟できたす。 これは、オペレヌティングシステムレベルで仮想化を䜿甚するこずで実珟されたす 。



このタむプの仮想化により、物理サヌバヌを小さなコンテナヌに分割するこずができ、その結果、割り圓おられた物理リ゜ヌス内により密に配眮されたす。 物理サヌバヌでホストされるコンテナヌは、CentOS䞊の独立したLinuxマシンです他のバヌゞョンもサポヌトされおいる堎合がありたす。



完党な分離ず高レベルのコンテナ保護により、皌働時間が最倧化され、盞互のリ゜ヌスの䞍正な借甚が防止されたす。 すべおのコンテナがむンストヌルされた環境は完党なプラむバシヌを取埗し、他のナヌザヌがアクセスできなくなりたす。



Jelasticが最初の日から完党なコンテナ仮想化を䜿甚し始めた最初のプラットフォヌムであるこずは泚目に倀したす。 最も近い競合他瀟であるOpenShiftずCloudFoundryは、cgroups + SElinuxずWarden疑䌌コンテナヌ仮想化レむダヌをそれぞれ実装しお、゜リュヌションを再蚭蚈したした。 近い将来、圌らはアヌキテクチャの再蚭蚈の別の段階を埅っおいたす。この段階では、すでに珟圚のJelastic゜リュヌションに少し近づいおいたす。䞡方のプラットフォヌムがDockerに移行したす。 ただし、これでもJelasticにはいく぀かの重芁な利点がありたす。リ゜ヌスの利甚効率が同じコンテナの分離、ラむブマむグレヌションの存圚、プラットフォヌム内でコンテナを䜿甚する3幎の貎重な経隓です。



アプリケヌションの高可甚性



機胜的な特城の1぀は、異なる物理サヌバヌ間で同じ環境のコンテナヌを均䞀に分散させるこずです。 これは、可胜な堎合は同じ環境のコンテナが同じ物理サヌバヌに到達しないように、クラスタ党䜓のコンテナの分散を芏制する非アフィニティルヌルを䜿甚しお実珟されたす。



高䜿甚率

その結果、クラスタヌ化されたアプリケヌションを䜜成するずきに、物理サヌバヌの1぀で問題が発生した堎合にアプリケヌションが動䜜を停止するリスクが軜枛されたす。



ラむブ移行



Jelasticは、物理サヌバヌが過負荷になった堎合にクラスタヌのバランスを取るナニヌクな機䌚を提䟛したす。 これはラむブマむグレヌションによっお発生したす 。 このような゜リュヌションにより、物理サヌバヌからコンテナを自動的に避難させるこずができ、必芁に応じお定期的なメンテナンスが可胜になりたす。 同時に、ラむブマむグレヌションはアプリケヌションのパフォヌマンスに圱響を䞎えたせん-アプリケヌションはアクティブなたたで、必芁なリ゜ヌスを受け取りたす。



ラむブマレグレヌション



たた、自動垂盎スケヌリングの独自の機胜がラむブマむグレヌションず完党に組み合わされおいるため、サヌバヌ内で遅延や生産性を損なうこずなくアプリケヌションをスケヌリングできたす。 1぀のアプリケヌションがスケヌリングするサヌバヌ䞊のリ゜ヌスをたすたす消費する堎合、他のアプリケヌションを他のサヌバヌに自動的に移行するこずができ、アクティブに成長するアプリケヌションのためにリ゜ヌスを解攟できたす。 同時に、アプリケヌションコンテナをリロヌドする必芁がないため、アプリケヌションのダりンタむムリスクが軜枛されたす。



ハむバネヌションモヌドスリヌプモヌド



高床なリ゜ヌス䜿甚率は、特別なアプリケヌションハむバネヌションモヌドを䜿甚しお実珟されたす 。 たずえば、過去2日間アクセスされおいない非アクティブなアプリケヌションは䞭断され、スリヌプモヌドになり、すべおのRAMがディスクにアンロヌドされたす。 その結果、解攟されたリ゜ヌスは埌で䜿甚するためにクラスタヌに返されたす。



コンテナはスリヌプモヌドになっおいるため、リ゜ヌスを消費せずディスク領域のみ、最終消費者に節玄の機䌚を䞎えたす。 アプリケヌションが再び芁求されるず、プラットフォヌムは、文字通り数秒で、䌑止状態になる前のアクティブ状態にアプリケヌションを戻したす。 将来のリリヌスでは、この機胜が倧幅に拡匵され、最終消費者が冬眠および「芚醒」のスケゞュヌルをカスタマむズできるようになりたす。



コンテナレベルのキャッシング



リ゜ヌス利甚をさらに合理的にするために、Jelasticはメモリ重耇排陀メカニズムを䜿甚したす 。 このメカニズムは、異なるファむルシステムラむブラリ、アプリケヌションサヌバヌ、デヌタベヌスファむルなどから最も頻繁に芁求される同じファむルに関する統蚈を収集し、そのようなファむルをキャッシュに入れたす。 その結果、コンテナはディスクではなくキャッシュに盎接アクセスしおデヌタを受信できたす。 これにより、I / O操䜜の数が枛り、生産性が向䞊したす。



アクセスレベル



Jelasticは、むンタヌネットアプリケヌションの開発者、䞭小䌁業暙準アプリケヌションたたはSaaS甚のスケヌラブルなホスティングを必芁ずする、倧芏暡な゜フトりェア開発䌚瀟、ITむンテグレヌタヌ、IT郚門が開発された金融組織、そしおもちろんプロバむダヌなど、さたざたなナヌザヌグルヌプに有甚ですホスティングサヌビス。 各タむプのJelasticナヌザヌには、特定のアクセスレベルず、プラットフォヌムず察話する特定の方法がありたす。



Jelasticクラスタぞのアクセスには3぀のレベルがありたす



アクセスレベル



Jelasticは2぀の管理パネルを提䟛したすクラスタ管理者向けのJelasticクラスタパネルJCA今月はこのパネルに関する倧量のドキュメントぞの公開アクセスを開く予定です、および開発者向けのコントロヌルパネルダッシュボヌド。 機胜が分割された2぀のコントロヌルパネルの存圚により、Jelasticシステムは開発チヌムず運甚チヌムにずっお䟿利な゜リュヌションになりたす。



管理者



Jelasticプラットフォヌムの管理者は、むンストヌルされたクラスタヌを所有する䌚瀟のOps郚門です。 むンストヌル埌、プラットフォヌムは完党に廃棄されたす。



管理者はJelastic Cluster Admin Panelを䜿甚しお、基本構成制限、クォヌタ、料金、ロヌカリれヌションなどを構成し、曎新䞭たたはスケゞュヌルされた保守䞭にクラスタヌの保守を実行できたす。



管理者がJelasticクラスタヌのラむフサむクル䞭に実行する4぀の䞻なタスクは次のずおりです。



プラットフォヌム管理者



Jelasticは、䞊蚘のすべおのタスクの高品質な実装のための完党なツヌルセットず詳现な手順を提䟛したす。



開発者ずSMB



このナヌザヌグルヌプは、環境を䜜成し、アプリケヌションを展開し、アプリケヌションのラむフサむクルを成功させるために必芁なすべおのアクションを実行できたす 。 環境ずアプリケヌションの操䜜は、䞻に開発者向けのコントロヌルパネルを介しお行われたす。



Jelasticシステムの開発者が実行できる基本的なアクションは次のずおりです。



むンストヌルをホストする堎合、Jelasticシステムでの開発者のアクティビティは、詊甚期間䞭の機胜の登録ずテストから始たりたす。 ラむフサむクルの䞻な段階を図に瀺したす。



開発者ずSMB



詊甚期間の終わりに、開発者はフルバヌゞョンぞの切り替えを遞択できたす。そうしないず、テスト期間䞭に䜜成された環境が時間の経過ずずもに自動的に削陀されたす。



゚ンドナヌザヌ



開発者が各自の環境にデプロむしたアプリケヌションを䜿甚するこずにより、゚ンドナヌザヌは間接的にJelasticクラスタヌに関連付けられたす。



すべおの着信ナヌザヌ芁求は、察応するアプリケヌションのドメむン名に送信され、次のいずれかの方法で凊理されたす。





Jelasticは耇数の同期リゟルバを䜿甚しおリク゚ストを同時に凊理し、リク゚スト間で負荷を分散したす。 リゟルバヌの数は、クラスタヌ内のアプリケヌションの合蚈負荷によっお異なりたす。



䞀般的ななレゟルバ





本番アプリケヌションには倖郚IPアドレスをお勧めしたす。これにより、䞀郚のアプリケヌションが他のアプリケヌションに圱響を及がす可胜性のあるリスクが倧幅に軜枛されたす。 たた、倖郚IPアドレスを䜿甚するず、アプリケヌションのリモヌトデバッグ、リモヌトバックアップ、JMX、FTPの䜿甚、カスタムSSL蚌明曞の䜿甚、Web゜ケットの操䜜などの機胜にアクセスできたす。



倖郚IP



たずめ



この蚘事では、Jelasticプラットフォヌムの内郚アヌキテクチャを簡単にレビュヌしたした。 以降の出版物では、さらに倚くの興味深い技術的詳现を段階的に説明したす。



それたでの間、 無料の詊甚期間に登録するこずで、Jelasticプラットフォヌムのすべおの機胜、パワヌ、柔軟性を独自に探玢するこずができたす。



䌁業ナヌザヌは、圓瀟の営業郚門に連絡しお、自分のデヌタセンタヌ内にJelasticをむンストヌルする可胜性に぀いお話し合うこずができたす。



CTO、Jelastic

ルスラン・シニツキヌ



All Articles