OpenStack Cloud:神話と現実

OpenStackプロジェクトは、2つのメーカーのイニシアチブから生まれ、製品を組み合わせました-RackspaceオブジェクトストレージとNASAハイパーバイザー管理システム。 「OpenStackは、組織が標準ハードウェアで実行されるクラウドコンピューティングリソースを提供できるように設計されています」とベンダーは言います。 この資料では、これが実際にそうであるかどうかを把握しようとします。



今日のOpenstack



OpenStackの最初のリリースは2010年10月にリリースされました。そのため、Rackspaceは別のIaaSクラウドプロバイダーであるAmazon Web Services(AWS)に最も近いライバルの1つになりました。 本質的に、OpenStackはAWSのコピーです。これらのプラットフォーム上の多くのサービスとプロセスは同じであり、相互に互換性さえあります。



IaaS:OpenStack vs. アマゾンウェブサービス











OpenStackは、サービスカタログを介して相互作用する複数のモジュールで構成されています。 現在、プラットフォームには以下が含まれています。



近い将来、オンデマンドでの物理機器の提供や、Hadoopクラスターの展開などの機能を実現する予定です。



神話について



OpenStackは未来のテクノロジーですか? 知る方法。 おそらく、これは90年代前半のLinuxと同じ未知のKlondikeであり、そのことを知っている人はほとんどおらず、見た人はほとんどいませんでした。 OpenStackには大きな可能性がありますが、今日では完成品と呼ぶことは困難です。 そして、ここに理由があります。



ソリューションの機能は絶えず変換、補完されており、ドキュメントは常にこれらの変更に対応しているわけではありません。 多くの場合、新しいリリースでは、製品の指示に反映されない機会があります。



通常、OpenStackはエラーに対応して数キロバイトのスタックトレースを生成するため、トラブルシューティングは非常に困難です。 失敗の原因を特定するためだけに多くの時間と労力を費やす必要があります。



OpenStackの実装には、プログラマーによる重大な作業が必要です。 この製品に基づいてクラウドサービスを販売する場合(自社のフレームワーク内であっても)、その製品で利用できる機能は明らかに不十分です。 たとえば、1つの仮想マシンのネットワークトラフィックを制限して、他の仮想マシンに干渉しないようにすることはできません。 OpenStackの基本機能では、消費されるリソースをスムーズに調整できず、仮想マシンを別のホストに移行することさえできません。 アクセシビリティ用の監視ツールもありません。 最後に、製品としてのOpenStackの準備の良い例は、ハイパーバイザーでノードを追加および削除する手順です。 特定の手順で追加されますが、計算ノードを削除するための特別なコマンドはありません。 特別なMySQLテーブルに移動して、手動で実行する必要があります。



mysql> delete from compute_nodes where hypervisor_hostname='nova4'; Query OK, 1 row affected (0.00 sec) mysql> delete from services where host='nova4'; Query OK, 1 row affected (0.00 sec) mysql>
      
      





無償、つまり、無料で? OpenStackは完全無料でダウンロードできます。 しかし、製品が利用できないため、その「無料」の結果、洗練に関して深刻な人件費が発生します。



無料のコミュニティによって開発されましたか? OpenStack Webサイトでは、統計情報を見ることができます:ソリューションコードの開発に誰がどの程度参加したか。



OpenStack全体











Rackspaceは最も優れた企業であり、ユーザーにサービスとしてインフラストラクチャを提供することで収益を上げています。 次は、OpenStackソリューションを販売、実装、サポートするRed Hatです。 次に、OpenStackベースのクラウドサービスを提供するHPとIBM。 ご覧のように、無料の熱心なプログラマー(OpenStack Foundation)の割合は最小限であり、ユーザー数の観点では、4年間すべてで5〜10人です。



Junoリリース(2014年10月)









2014年後半を見ると、状況は少し変わっていますが、リーダーはほぼ同じです。 さらに、新しいプレーヤーが登場しました-Mirantisは、OpenStack(インストールとサポート)とSUSEのみを販売しています。 メーカーはリストを閉じますが、それぞれに独自の目標があります。 NECは、OpenStackを実行している機器のサポートを提供しています。 VMwareは、OpenStackとESXiの互換性の実装を「リード」することで、エコシステムを保護しようとしています。



OpenStackで自分のAmazonを所有できますか? このテクノロジーはクラウドプロバイダーにとって重要な成功要因ですか? いいえ、そうではありません。 これは、ガートナーのマジッククアドラントに明確に見られます。 大多数の企業は、あまり人気のないKVMであるVMwareを使用しています。 しかし、Xenプラットフォームは、IBM、富士通、GoGrid、およびAmazonの明確なリーダーの両方に好まれていました。 これがハイパーバイザーではないことは明らかです。











従来の仮想マシンをクラウド型の仮想マシンに置き換えることはできますか? 仮想化に対する2つのアプローチの機能は、比較表に反映されています(Red Hatに感謝します)。



従来のVM(ESXi、RHEV) クラウドVM(OpenStack、AWS)
大きなもの。 データはVM内に保存されます 小さなもの。 データはVMの外部に保存されます
1つのアプリケーション-1つのVM 1つのアプリケーション-多くのVM
VMライフサイクル-年 VMライフサイクル-数時間から数か月(アプリケーションはVMの内部ではなく、外部にあります)
アプリケーションで特定のVMをホストのサイズまで増やすことができます ユーザー数の増加/減少により、VMを動的に作成/削除できます
垂直スケーリング(VMパフォーマンスの向上) 水平スケーリング(VMの数を増やす)
アプリケーションは内部にあり、VMクラッシュ、つまり 耐障害性を確保することが重要です VMに障害が発生した場合、クラウドアプリケーションは、VMを最初から作成しますが、動作を維持します
SLAでは、ライブマイグレーション、HA、およびその他の同様の機能によるアプリケーションの可用性が必要です SLAには、アプリケーションの可用性を維持するためにVMインスタンスを追加/削除する機能が必要です


操作。 OpenStackには、高可用性ツールやその実装のための具体的な計画はありません。 VM用のバックアップシステムもありません。 仮想化サーバーに障害が発生すると、仮想マシンが失われます。新しい仮想マシンを作成する必要があります(これは正常です)。



OpenStackはすべてのハイパーバイザーで機能することが宣伝されていますが、そうではありません。 製品開発とテストの主な管理システムはKVMです。 残りは完全にテストされていない(Microsoft Hyper-V、VMwareハイパーバイザー、Citrix XenServer 6.2など)か、まったくテストされていない(Baremetal、Docker、libvirtを介したLXC、libvirtを介したXen)か、OpenStackでの動作を保証できません。 後者の場合、起動すると、「libvirtドライバーはOpenStackプロジェクトによってxen / x86_64でテストされていないため、品質を保証できません。」などのメッセージが表示されます。



同時に、ライブマイグレーション(ライブマイグレーション)の可能性、つまり サービスを停止せずに1つの物理サーバーから別の物理サーバーにVMを転送することは、OpenStackではデフォルトで無効になっています。 この機能はメインハイパーバイザー(KVM)でサポートされていますが、



OpenStackアプリケーション



示された機能と欠点にもかかわらず、OpenStackプラットフォームはさまざまなタスクに使用できます。 オプションの1つ:既に何らかのクラウド環境(たとえば、同じAmazonやRackspace)がありますが、自宅にクラウドサービスを展開して移動したい場合。



別のシナリオ:クラウドプロバイダーになることを計画しており、スタートアップ、十分な資金、プログラマー、仕事への意欲、そして最も重要なこととして、このクラウド環境に展開するいくつかのノウハウがあります。 つまり 2つ目のGoogleやFacebookを作成するのではなく、まったく新しいものを作成します。 この場合、OpenStackは、さらに開発できる基盤となる製品です。



テストを定期的に行う必要がある場合、または新しいアプリケーションを開発するためにクラウドプラットフォームが必要な場合は、OpenStackに注意を払うことも理にかなっています。 または、いくつかの別個のOpenStackモジュールのみを使用できます。 たとえば、複数のプログラマの作業を使用して、Swiftに基づいた企業のDropboxのようなものを作成して実装します。



All Articles