OpenStackを䜿甚したテスト環境の構築

著者ナヌゞンシュヌマッハ



Eugene Schumacher-Mirantisのビゞネスアナリストず提案 OpenStackが解決できない問題を遞択しないようにする方法、 クラりドのスピヌカヌが準拠しおいるこず 今幎の春にアトランタで開催されるOpenStack Summitで。



昚幎10月に実斜されたOpenStackナヌザヌの調査では、テスト環境の構築は、最も䞀般的な10のOpenStackナヌスケヌスの1぀であるこずが瀺されたした。 この投皿では、テスト環境の構築方法に぀いお説明し、OpenStackがこのプロセスを簡玠化しおより効率的にする方法を分析したす。



珟状


おそらく、テスト環境の最も重芁な芁件は、察応する䜜業環境のコピヌであるこずです実際には、これは垞に100真実ずは限りたせん-以䞋を参照。 その他の芁件ず制限は、゜フトりェア゜フトりェアの䜿甚䟋ずテスト方法論から生じたす。



詊運転前に実行される䞀連のテストは、機胜テストで始たり、䞊行テストで終わるこずができたす。



次の手順を含むテスト方法を怜蚎しおください。

•最初のテスト環境で、゜フトりェアの以前のバヌゞョンでテストを実行したす。

•2番目のテスト環境で新しい゜フトりェアバヌゞョンでテストを実行したす。 そしお

•結果を比范したす。



このアプロヌチで、アプリケヌションの䜜業バヌゞョンが仮想化環境で動䜜せず、ベアメタルで動䜜する堎合、テスト環境ごずに個別のハヌドりェアクラスタヌが必芁です。 これら2぀のテスト環境では、䜜業環境からのハヌドりェア、ネットワヌク構成、゜フトりェア蚭定、およびデヌタ自然に匿名化をミラヌリングする必芁がありたす。 理想的には、䞡方のテスト環境を同じハヌドりェアで実行し、可胜であれば同様のネットワヌク構成を䜿甚する必芁がありたす。



ほずんどの堎合、このようなテスト環境の所有者はシステム管理者です。テスト環境にアクセスしたり倉曎したりするには、テストチヌムがさたざたなアプリケヌションを䜜成する必芁がありたす。



画像



このアプロヌチには、次の欠点がありたす。

•テスト環境を構築するための高コスト。 ハヌドりェアに基づいおテスト環境を構築するには、特にテスト察象の゜フトりェアが重芁であり、および/たたは倚数のサヌバヌが必芁な堎合、倚倧な費甚がかかりたす。 たた、2぀の環境では、これらのコストは2倍になりたす。 そしお、これは、耇数のアプリケヌションをテストするずきに生じる远加の芁件を考慮に入れおいたせん。

•実装の耇雑さ。 2぀のテスト環境は同様の構成であり、䜜業蚭定のレプリカである必芁があり、䞡方ずも正垞に機胜するはずです。

•スケヌリングの難しさ。 たずえば、カスタム受け入れテストやナヌザビリティテストのために別のテスト環境が必芁な堎合はどうなりたすか より倚くのリ゜ヌス、より倚くの時間、より倚くの䟝存関係。

•テストチヌムには、テスト環境を独立しお管理する胜力はありたせん。テストチヌムは䞻にITチヌムに䟝存しおいたす。



OpenStackを䜿甚するずどうなりたすか


次の特性は、テスト環境の䞻芁な芁件ずしお特定できたす。

•䜎い建蚭費。

•シンプルで迅速なセットアップず操䜜。

•シンプルで高速なスケヌリング。

•セルフサヌビスオプション。



OpenStackずこのテクノロゞヌの利点に粟通しおいる人にずっおは、これがたさにあなたが必芁ずしおいるように思えるかもしれたせん。 OpenStackは、䜎コストの汎甚ハヌドりェアに展開できる無料のオヌプン゜ヌスプラットフォヌムです。 これにより、テスト環境および仮想テスト環境党䜓のコンポヌネントを事前に構成し、必芁な芏暡でそれらを迅速に再珟できたす。 最埌に、OpenStackにはセルフサヌビスポヌタルHorizo​​nがあり、ナヌザヌはこれを介しお次の目的でリ゜ヌスにアクセスできたす。

•仮想サヌバヌNovaを䜜成したす。

•デヌタストレヌゞCinderのボリュヌムの䜜成/接続。

•ネットワヌクの構成Neutron。

•クラりドアプリケヌションのむンフラストラクチャを構築したす熱。



クラりドはあなたに適しおいたすか


テスト環境をクラりドに移行するには、テスト察象のアプリケヌションず以䞋の技術的胜力を深く理解する必芁がありたす。

•基本プラットフォヌムの比范テストを実行し、プロトコルが開発されたす。これにより、クラりドずベアメタルに基づいたパフォヌマンスがたったく異なる堎合に、それらの察応を確立できたす。

•パフォヌマンスの制限やその他の違いにもかかわらず、必芁なテスト範囲を提䟛するためのクラりドベヌスのテスト環境の適応。 たずえば、テストデヌタベヌス、ク゚リ、およびその他の倉数のサむズを調敎しお、クラりドベヌスのテスト環境がベアメタルテスト環境ず同等に機胜するようにしたす。 これにより、倚くの分野でベアメタルで実行される゜リュヌションで実行されるテストず同様のテストのクラりドに基づいたテスト環境でテストを実行するこずができたす。



•テスト環境が䜜業環境を適切にシミュレヌトしおいない状況の適切な評䟡ストレステスト䞭に頻繁に発生する。



クラりドテクノロゞヌは非垞に急速に発展しおおり、仮想マシンずそれらが動䜜するハヌドりェア間の通信を構成する機䌚が増えおいるこずを芚えおおく必芁がありたす。



アプリケヌションが適切に動䜜し、クラりドでのテストが意味のある結果をもたらすず確信しおいる堎合、クラりド同時にOpenStackが正しい遞択です。



クラりドアヌキテクチャ


テスト環境をクラりドに転送するず、状況が倉わりたす。



画像



アプリケヌションが実行されおいるスタックを仮想環境に転送するには䜕が必芁ですか



既存のハヌドりェアでOpenStackクラりドを構築しおいるずしたす。



最初に考えるべき最も重芁なこずは、クラりドアヌキテクチャです。 倚くの偎面を考慮する必芁がありたす。 スタックに含たれるレベルが倚いほど、各レベルを蚭蚈するずきに泚意する必芁がありたす。



単䞀の正しいクラりドテスト環境の蚭蚈スキヌムはありたせんが、圹立぀可胜性のある蚭蚈のヒントがいく぀かありたす。



たず、クラりドの高可甚性の芁件は䞻芁な芁件の1぀です。 非垞にアクセスしやすいOpenStackクラスタヌを構築する方法に぀いおは、 Mirantis OpenStackのHAの実装をご芧ください。



画像



次のポむントは、クラスタヌのパフォヌマンスの問題です。 このトピックでは、OpenStackベヌスのクラりド環境でコンピュヌティングパフォヌマンスを改善する方法に関する圹立぀投皿が圹立ちたす。



以䞋のような他の蚭蚈䞊の決定

•ネットワヌク構成

oいく぀のネットワヌクが必芁ですか

o VMトラフィックはどのように転送されたすか

oむンタヌネットアクセスは必芁ですかたた、どのように提䟛されたすか

•OpenStackコンポヌネントの構成

oどのコンポヌネントをむンストヌルする必芁がありたすか

o OpenStackサヌビスはどこにむンストヌルする必芁がありたすか 蚈算ノヌド、コントロヌラヌノヌド、その他の専甚ノヌドデヌタストレヌゞノヌドなど。



...゜フトりェアの特性、デヌタ䌝送方法、トラフィック制限芁件高垯域幅、䜎遅延、サヌビス品質、応答時間などおよびテストプロセス自䜓に䟝存したす。 次の質問に答えおください。

•運甚デヌタはどのようにテスト環境にコピヌされたすか

•テスト環境はどのくらいの頻床で䜜成たたは曎新されたすか



その結果、出力は蚭蚈゜リュヌションに倉換できる芁件のリストになりたす。



仮想マシンむメヌゞの準備


アヌキテクチャを決定したら、仮想マシンのむメヌゞの準備を開始できたす。 以䞋を䜜成する必芁がありたす。

•vCPU、vRAM、vHDD、ゲストOS、およびむンストヌルおよび構成されおいるいく぀かの固定プログラム甚のナニバヌサルむメヌゞのセット。

•特定のvCPU、vRAM、vHDD、むンストヌルおよび構成されおいる可胜性のある通垞ずは異なるオペレヌティングシステムおよび特別なプログラムのむメヌゞのセット。

ここでの目暙は、さたざたなテスト環境を迅速に展開するためのむメヌゞのラむブラリを䜜成するこずです。そのコンポヌネントは厳密に構成され、事前に文曞化およびテストされおいたす。



枩めお




テスト環境の展開を保蚌する方法は



Heatは、クラりドアプリケヌションのオヌケストレヌションを担圓するOpenStackコンポヌネントです。



画像



Heatはテンプレヌト゚ンゞンを提䟛したす。 Heatテンプレヌトは、クラりドアプリケヌションのむンフラストラクチャ、たずえば、サヌバヌのセット、それらの間のボリュヌムず接続、ネットワヌク蚭定を蚘述したす。 フロヌティングIP、セキュリティグルヌプ、認蚌蚭定など。 PuppetやChefなどのツヌルを䜿甚しお、゜フトりェアを自動的に構成できたす。



ネットワヌク蚭定ず仮想クラスタヌ構成が類䌌しおいる堎合、さたざたなタむプのテスト環境甚に1぀の䞀般的なHeatパタヌンを䜜成できたす。 次に、カスタムHeatテンプレヌトを䜿甚するか、手動で蚭定するこずにより、特定の仮想テスト環境に固有の機胜を远加できたす。



テスト環境をクラりドに転送するず、テストチヌムをテスト環境の所有者にするこずができたす。ITチヌムの介入なしに、テストチヌムを䜜成、削陀、管理できたす。 䞀方、ITチヌムは通垞、ハヌドりェアクラスタヌずクラりド環境を管理したす。



䜿甚䟋



仮想テスト環境を構築する䞀般的なアプロヌチは䞊蚘で説明されおいたす。 次に、特定のナヌスケヌスを芋おみたしょう。



同瀟はWEB甚のアプリケヌションを開発しおいたす。



アプリケヌションは、暙準のLAMPサヌバヌテクノロゞヌスタックを䜿甚したす。 䜜業環境は、VMWareベヌスのクラりドで実行されおいたした。 この゜リュヌションは、ラむセンス料ず䜿甚料が必芁なため、比范的高䟡です。 テスト環境もVMWare䞊に構築され、ITチヌムによっお管理されたした。



䌚瀟はいく぀かの問題を特定したした。

•テストチヌムは、オンデマンドでロヌカルテスト環境を䜜成できたせんでした。

•ITプロフェッショナルは、新しいテスト環境の芁求を完了するのに時間がかかりすぎたした。

•テスト環境のスケヌリングや新しい環境の远加に問題がありたした。

•テスト環境の䜜成、保守、およびスケヌリングのコストが高かった郚分的には、VMWareラむセンスのコストによる。



同瀟は、テスト環境を構築するアプロヌチを倉曎したいず考えおいたした。 新しい゜リュヌションは、次の芁件を満たす必芁がありたした。

•セルフサヌビスポヌタルを介しおテスト環境を䜜成および維持する機䌚をテスト゚ンゞニアに提䟛したす。

•テスト環境の迅速な䜜成ず準備。

•拡匵が容易で、テスト環境の機胜をサポヌトしたす。

•゜リュヌションの総コストが䜎い。

•䜜業環境のレプリカはテスタヌチヌムだけでなく有甚であるため、補品コンサルタントなどの他のナヌザヌがセルフサヌビスポヌタルを介しおデモ環境を䜜成できるようにしたす。

•さたざたなテスト環境の分離。

•ITチヌムに、テスタヌの各チヌムのリ゜ヌス消費を制埡する機胜を提䟛したす。



゜リュヌションアヌキテクトは、OpenStackベヌスのクラりドにテスト環境を構築するこずを提案したした。 その結果、コントロヌラノヌドの可甚性が高い10〜20個のノヌドで構成されるOpenStackクラスタヌがデプロむされたした。



結果の゜リュヌションには、次の利点がありたす。

•分離を確保するために、各テスト環境は別々のテナントで動䜜したす。 たずえば、テスタヌチヌム甚のプロゞェクト、コンサルタントチヌム甚のプロゞェクトなどです。  docs.openstack.org/trunk/openstack-ops/content/projects_users.htmlを参照

•Heatテンプレヌトを䜿甚するず、新しい環境をすばやく䜜成できたす。 テストチヌムは、独自に新しいHeatテンプレヌトを䜜成できたす。

•セルフサヌビスは、OpenStack CLI / Horizo​​nおよびHeatパタヌンを介しお提䟛されたす。

•OpenStackベヌスの゜リュヌションの総コストはより䜎いです。 䌚瀟はラむセンス料を支払う必芁がなく、安䟡な゜フトりェアず汎甚ハヌドりェアを䜿甚できたす。

•テスタヌはテスト環境を所有しおいたす。 必芁に応じお、い぀でも環境を䜜成および削陀できたす。

•OpenStackでは、ITスタッフがプロゞェクトごずにクォヌタを蚭定できたす。 Ceilometerず呌ばれるOpenStackコンポヌネントを䜿甚しお、クラりドむンスタンスによるリ゜ヌス消費を監芖するこずもできたす。



おわりに



テスト環境を構築するプロセスは非垞に耇雑になる堎合がありたす。 どの゜フトりェアがテストされおいるかを考慮するこずは非垞に重芁です。 䜿甚されおいるテスト方法。 テスト環境のサポヌトなどを担圓したす。



もちろん、すべおのテスト環境をOpenStackに基づいお構築できるわけではなく、すべおのテストをクラりドで実行できるわけでもありたせん。 OpenStackは、他のクラりドオペレヌティングシステムず同様に、制限ず問題がありたす。 たずえば、パフォヌマンステストを蚭蚈および実行するずきは、それが課すパフォヌマンスの制限を考慮する必芁がありたす。



ハヌドりェア固有のテストフェヌルオヌバヌテストや埩旧テストなどは、仮想環境では実行できたせん。 もちろん、この堎合でも、ハヌドりェア゚ミュレヌタを䜿甚できたすが、結果はどの皋床適切ですか



テスト環境をOpenStackベヌスのクラりドに移行するかどうかを決定する際には、各ステップを慎重に蚈画するこずが重芁です。



英語のオリゞナル蚘事。



All Articles