Microsoft Azureクラウドを使用するソリューション会社(ISV)について引き続き話します。 この号では、Dockerコンテナの高度なオーケストレーションをサポートするDevOps PaaSを開発しているJelasticがこれをどのように行っているかというストーリーを紹介します。 Jelasticのビジネス開発ディレクター、Dmitry Lazarenkoは言います。
こんにちは
Jelasticは、PaaS(サービスとしてのプラットフォーム)とIaaS(サービスとしてのインフラストラクチャ)を使用する機能を組み合わせたユニバーサルクラウドプラットフォームです。 Jelasticを使用すると、数分でJava、Ruby、Python、PHPおよび/またはNode.JSの環境を設定し、Eclipse、NetBeansまたはIDEAのプラグインを使用してこの環境にプロジェクトを配置することにより、クラウドサービスの開発を大幅に簡素化できます。 昨年、フラッグシップのマイクロソフト/ビルドカンファレンスで、Microsoft AzureプラットフォームリソースでのJelastic PaaSのサポートが発表されました。 それがどうであったか、何につながったのか、すべてが技術的および技術的側面からどのように機能するのかについては、カットの下で読みます
現時点では、技術ソリューションの一部におけるJelasticとAzureの「結合」は次のとおりです。プラットフォームはAzureと2つの方法で相互作用します。
- Azure IaaSに完全にインストールして、独自のプライベートクラウドを取得できます。 同時に、Azureの仮想マシン、仮想ネットワーク、高性能ストレージシステムを使用します。
- Azureのさまざまな地域のコンピューティングリソースを、独自のデータセンターにデプロイされたプライベートJelasticクラウドに接続して、ハイブリッドクラウドを取得できます。 このシナリオは、顧客に十分な社内コンピューティングリソースがなく、データセンターに一定の容量を追加することが負荷プロファイルが変化するため実用的でない場合に必要です。 たとえば、新年のセールや「Habraeffect」は数日間しか続きませんが、その後はおさまります。 この場合、Azureから新しい仮想マシンを動的に接続し、それらを使用してアプリケーションをスケーリングします。 コンテナ化された仮想化テクノロジーを使用することにより、Jelasticはアプリケーションを停止することなくライブモードでプライベートクラウドとAzureリージョン間でアプリケーションを移行できます。 このテクノロジーにより、データセンター間でアプリケーションを転送するプロセスが大幅に簡素化され、完全に透過的かつ安全になります。
上記の両方のソリューションは、Microsoft Azureユーザーが利用できるアフィリエイトソリューションストアであるAzure Marketplaceから自動的にインストールできます。
Azureパブリッククラウドへの自動スケーリングの歴史は、大規模なお客様の間でも非常に重要です。 世界中の多くの国で利用可能なAzureクラウドを使用すると、クライアントのプライベートデータセンターにできるだけ近い場所に必要なリソースを割り当てることができるため、ネットワークの遅延とデータ転送にかかる時間を最小限に抑えることができます。 さらに、Azure Traffic Managerを統合して、高度にアクセス可能なジオバランシングを可能にしました。
では、技術的なコンポーネントを見てみましょう。 ソリューションのアーキテクチャは次のとおりです。Jelasticには、Javaで記述された一連の管理サービスが含まれます。 これらのサービスには、オーケストレーター、セキュリティシステム、メトリック収集システム、請求、テンプレートプール管理などが含まれます。 リバースNginxプロキシサーバーとバインドドメインネームサーバーで構成される分散エントリポイントもあります。 エンドユーザーアプリケーションへのHTTPまたはTCP要求は、このエントリポイントを通過し、特定のアプリケーションに配信されます。
Jelasticユーザーは通常、次のようなアーキテクチャの環境を作成します。
- 負荷分散のための2つのNginxサーバー
- 2-4 Javaアプリケーションサーバー(Glassfish / Tomcat / Jboss)とHTTPセッションデータレプリケーション
- レプリケーションを備えたSQL DBMS(PostgreSQL、MariaDB、Percona)
- レプリケーションを備えたNoSQL DBMS(MongoDB、Redis、Cassandra、Neo4j)
展開プロセスでは、一般に問題なく展開が行われたという事実にもかかわらず、いくつかの方法で確立されたアプリケーションアーキテクチャをいくつかの方法でAzureの仕様に適合させる必要がありました。 最初に、いくつかの問題が発生しました。
- Linux上のAzure Premium Storageのパフォーマンスが遅い。 これは、デフォルトで使用されているファイルシステムのブロックサイズが正しくないためであることが判明しました。 ブロックサイズを63から4096に変更した後、Azure Premium Storageディスクサブシステムのパフォーマンスは数桁向上しました。
- 仮想ネットワークのネットワークパケットの強力なフィルタリング。 この問題は、私たちにとって重要です。なぜなら、 複数のAzure仮想マシンに分散された仮想コンテナーを使用します。実際、Jelasticはコンテナーの内部ネットワークを独立して管理します。 この問題は、ルールに従って機能するオーバーレイネットワークを作成することで解決しました。
- 単一の仮想マシンに割り当てることができる外部IPアドレスの数の制限。 現時点では、1つのVMに設定できる外部IPアドレスは2つまでです。 なぜなら 複数の仮想コンテナーが1つのAzure VMで機能する場合、3つ以上のIPアドレスが必要になる場合があります。 この問題は、予約済みIP(予約済みIP)を使用して解決されました。
Microsoft Azureとやり取りし、Azure Marketplaceを介してプラットフォームを提供することにより、いくつかの目標があります。
- PaaS for JavaやMicrosoft Azure上のその他のオープンソーステクノロジーに関心を持つ大規模な顧客の数を増やす
- JelasticとMicrosoftは、国際市場を含む法人顧客への共同販売を開始します
現時点では、すでにいくつかの優れた結果があります。
- 複数の国際企業がAzureのソリューションに関心を持っています
- 当社のソリューションは、Go-to-Marketアクセラレータスタートアップサポートプログラムの一部として推進されました。 特に、このプログラムには、ブログとMicrosoft Twitterによるプロモーション、Microsoftリソースの成功事例、広告キャンペーンの助成金が含まれていました。 ラテンアメリカのある大手石油およびガス会社は、Azureベースのソリューションに興味を持ちました。 これに先立ち、ブラジルのマイクロソフトとの多くのコラボレーションが行われました。
プラットフォームは、エンドユーザー向けのJelasticのインストールを大幅に簡素化および高速化する機会を与えてくれたため、Azureの使用にはプラスの側面があります。 以前は、このプロセスには数日かかり、展開エンジニアの関与が必要でした。 現在、Azure Marketplaceの助けを借りて、クライアントは独立したJelasticクラスターを独立してデプロイでき、これには30分しかかかりません。 どうやってやったか、どのように動いたかについて話すと、そのような移行はありませんでした。AzureとAzure Marketplaceの助けを借りて、代替オプションを残しながら、製品のインストールを簡素化および加速しました。 Azure Marketplace向けのソリューションを作成するには、開発者と展開エンジニアの作業の約1か月半を要しましたが、これらの費用は3〜4か月後に回収されました。
AzureでJelasticを使用する方法の詳細なガイドは、JelasticのWebサイトで入手できます 。