アプリケーションの1つは多数のEC2インスタンスで実行されており、負荷に基づいてインスタンスを動的に追加/削除します。イメージ全体のパフォーマンスの変動が特定の(構成可能な)範囲内にとどまるようにする必要があります。
さまざまな研究、特に[1]で実証されているように、許容可能な変動が小さい場合、同じタイプのインスタンスを開始するだけでは不十分なことがよくあります。
「スモールインスタンスのCPUとディスクのI/Oパフォーマンスは、長期間の観点から比較的安定していることを示しました。ただし、複数の「同一の」スモールインスタンスのパフォーマンス動作は非常に不均一です。」
その結果、現在、必要な数のインスタンスを開始し、ベンチマークを実行して、パフォーマンスが許容できるインスタンスのみを保持しています。ここでは、ベンチマーク中にインスタンスが適切に実行された場合、そのパフォーマンスは比較的安定していると想定しています。
これは主に、インスタンスが開始されると、停止または終了するまで同じ基盤となるホストにとどまるという事実によるものと思われます([2]などを参照)。ただし、EC2が基盤となるXenインフラストラクチャの一部を変更し、ライブマイグレーションをサポートできるようになったという最近の報告があります(内部的に、つまりユーザーに公開されていません)[3]。
「比較的自信を持って推測できます。つまり、インスタンスがハードウェアから完全に切り離されたため、インスタンスをライブマイグレーションできるようになりました。」
Amazonがホスト間でインスタンスのライブマイグレーションを開始した場合、もちろん、起動時のベンチマークは十分ではありません。したがって、問題は、Amazonが近い将来、「隠れて」インスタンスをライブ移行できる、またはそうなると想定すべきかということです。
ありがとう
アンドリュー
[1]「サービス指向アプリケーションのリソースプロビジョニングのためのEC2パフォーマンス分析」、http://www.globule.org/publi/EPARPSOA_nfpsla2009.pdf