1

Azure にはいくつかの異なる役割があります。現在、これらはそれぞれ個別のインスタンスにデプロイされているため、個別にスケーリングできます (本番環境ではこれが必要です) が、テストではこれは無駄に思え、コストを最小限に抑えるためにすべてのロールを単一のインスタンスにデプロイできるようにしたいと考えています。

これはできますか?

4

2 に答える 2

1

David の優れた説明に加えて、物事を一緒に追加し、OnStart または Run オーバーライドを介してそれらを接着することは機能しますが、本当に適切にテストしていますか? 構成値が一緒にマージされ、メモリ使用量、同時実行性などの問題が発生する可能性があります。本番環境に展開するときに同じ製品をテストすることはありません。

より良い方法は、極小のインスタンスを QA 環境にデプロイすることです。たとえば、中規模または大規模のサーバーの数分の一の価格であり、意味のあるテスト プラットフォームを提供します。

于 2012-11-15T13:52:16.360 に答える
1

役割とは、基本的に、一連の Windows Azure VM インスタンス内で実行されるものを定義するものです。定義上、これらには独自のインスタンスがあるため、単一のインスタンス セットをターゲットにすることはできません。

つまり、さまざまなロールのコードを 1 つのロールに結合することを妨げるものは何もありません。スタートアップ スクリプト項目を組み合わせるだけでなく、必要なすべてのタスクを確実に処理する必要がありOnStart()ます。Run()

利点 (既に推測されています): コスト削減、特に少量で実行する場合 (アプリ全体を 2 つのインスタンスで実行できる場合と、ロールごとに分割されたアイドル状態に近いインスタンスをいくつか実行できる場合)。

1 つの潜在的な欠点: 1 つのロールに結合されたすべてのものが一緒にスケーリングされるようになりました。これはあなたにとって問題になる場合とそうでない場合があります。

また、サイズについても考えてください。あなたの Web サイトが Small で完全に満足しているが、XL を必要とするバックグラウンド タスクがあるとします (10GB の RAM などを必要とするレンダラーかもしれません)。また、SLA の目的で、Web サイトの 2 つのインスタンスを常に実行しているとします。これで、ボリュームが非常に少ない場合でも、アプリは 2 つの Small (ウェブ) と 1 つの XL (バックグラウンド) ではなく、2 つの XL インスタンスで構成されます。現在、ほぼアイドル状態のシステムは、個別のロールよりも 1 つのロールを組み合わせた方がコストがかかる可能性があります。これはあなたには当てはまらないかもしれません-組み合わせが意味をなさないかもしれない例を挙げているだけです...

于 2012-11-15T11:51:16.360 に答える