تولیدکنندگان نرم افزار با ایدههای نو و ابتکاری برای سرویسهای جدید اینترنت، دیگر نیازی نیست که سرمایهی زیادی را در تهیهی سختافزار و استخدام نیروی انسانی برای راهاندازی سرویسهای خود هزینه کنند. دیگر نیازی نیست که نگران فراهم آوردن بیش از نیاز منابع برای سرویسهایی که محبوبیت آنها به اندازهای که پیشبینی شده بود نرسیده است، که نتیجهی آن به هدر رفتن منابع گران قیمت، و یا فراهم آوردن کمتر از حد نیاز منابع برای سرویسهایی که بسیار محبوب شدهاند که نتیجتا موجب از دست دادن مشتریهای بالقوه و درآمد میشود، باشند. این ویژگی مزیت عمدهای برای شرکتهای IT به حساب میآید، زیرا با آزادسازی آنها از کارهای سطح پایین از جمله آمادهسازی سخت افزار پایه (سرورها) و زیرساختهای نرم افزاری، توانایی تمرکز بیشتر بر روی نوآوری و ساخت ارزشهای تجاری را برای آنها به ارمغان میآورد. علاوه بر این، شرکتهایی با کارهای دستهای بزرگ از آنجایی که استفاده از هزار سرور برای یک ساعت هزینهای بیش از استفاده از یک سرور برای هزار ساعت ندارد، میتوانند به همان سرعتی که برنامهها مقیاس پیدا میکنند، نتایج را دریافت کنند.[Cal2009, Arm2009]
از نقطه نظر سخت افزاری و از دید فراهم آورندگان سرویس، سه جنبه در محاسبات ابری جدید هستند:
۱. تصور منابع محاسباتی نامحدود که به مجرد تقاضا در دسترس خواهند بود؛ که در نتیجه نیاز به اینکه کاربران برای فراهم آوردن منابع در آینده طرحریزی کنند را از بین میبرد.
۲. از بین بردن یک تعهد پیشاپیش به وسیلهی کاربران ابر؛ و در نتیجه به شرکتها اجازه میدهد که به صورت کوچک شروع به کار کرده و منابع سختافزاری، تنها زمانی که نیاز به آنها وجود دارد، افزایش یابند.
۳. قابلیت پرداخت برای استفاده از منابع محاسباتی بر پایهی مدت کوتاهی که مورد نیاز هستند و آزادسازی آنها در صورت عدم نیاز؛ که به وسیلهی اجازه دادن به ماشینها و منابع ذخیرهسازی برای خارج شدن از سیستم هنگامی که دیگر نیازی به آنها نیست، موجب صرفهجویی و سودمندی در استفاده از منابع میشود.[Arm2009]
در حقیقت ابر مانند یک مخزن بسیار بزرگ از ماشینهای مجازی میباشد که کاربران ابر از آنها استفاده میکنند. ابر، ماشینهای مجازی درون خود را در اختیار کاربرانش قرار میدهد و آنها نیز برنامهی خود را که میتواند از هر نوعی (محاسباتی تا وب سرور) باشد بر روی آن ماشینهای مجازی راهاندازی میکنند. ابرها قابلیت توسعهپذیری خودکار را به کاربران خود میدهند، به این معنی که منابع (ماشینهای مجازی) بنا به درخواست کاربر در اختیار وی قرار داده میشوند. این قابلیت در کنترل شرایط بحرانی به عنوان مثال زمانی که بار یک وب سایت در حال افزایش است، بسیار مفید خواهد بود.
همانطور که از مطالب گفته شده نتیجه میشود، مجازیسازی یک تکنولوژی پایهای در ابر به حساب میآید. در واقع مجازیسازی در ابر امکان جداسازی برنامهها و سرویسها را از سخت افزار فیزیکی فراهم میآورد، همچنین همانطور که اشاره شد موجب افزایش نرخ بهرهوری نیز میشود. در نتیجهی مجازیسازی، در یک لحظه چندین ماشین مجازی به صورت همزمان بر روی یک ماشین فیزیکی در حال اجرا میباشند و از ظرفیتهای آن (پردازشی، حافظه و شبکه) استفاده میکنند. فراهم آورندهی ابر سعی میکند تا بیشترین تعداد ممکن ماشین مجازی را بر روی یک ماشین فیزیکی قرار دهد تا با این کار هم نرخ بهرهوری منابع خود را افزایش دهد و هم توانایی سرویسدهی به کاربران بیشتری را داشته باشد. از طرف دیگر، فراهم آورندهی ابر باید به مفاد قراردادی که با کاربران خود بسته است پایبند باشد و از نقض آنها جلوگیری به عمل آورد. قرارداد در این سطح میتواند شامل مواردی مانند نرخ غیرفعال بودن ماشین مجازی، نرخ نقض منبع مورد نیاز (هنگامی اتفاق میافتد که یک ماشین مجازی نیاز به منبع بیشتری دارد ولی به دلیل فزونی تعهد ، ماشین فیزیکی قادر به تخصیص مقدار منبع مورد نیاز به آن نباشد) و زمان پاسخ گویی (برای سرویسهای وب که البته قرار دادن آن در این سطح چندان مناسب نیست) باشد. دو پارامتر ذکر شده یعنی فشردهسازی هرچه بیشتر و رعایت مفاد قرارداد در مقابل یکدیگر قرار دارند و بایستی یک تعادل قابل قبول در میان آنها برقرار گردد. لازم به ذکر است که به دلیل اندازهی بسیار بزرگ ابر و همچنین بار غیر قابل پیشبینی ماشینهای مجازی، نمیتوان به طور کامل از نقض قرارداد جلوگیری به عمل آورد و تعداد کمی نقض قرارداد معمول میباشد. آنچه در اینجا به عنوان قرارداد بر روی آن متمرکز میشود نرخ غیرفعال بودن ماشین مجازی به دلیل انجام اعمال مدیریتی و نرخ نقض منبع مورد نیاز خواهد بود. در چنین سیستمی دو تصمیم پایهای باید گرفته شود، اول اینکه برنامهی کاربر به چه نوع ماشینهای مجازی و به چه تعداد از هر نوع نیاز خواهد داشت. این تصمیم را میتوان با طراحی یک سیستم به صورت خودکار و مطابق با قرارداد سطح سرویس میان کاربر نهایی، برنامهی کاربر ابر و کاربر ابر اتخاذ نمود و یا در اختیار کاربر ابر قرار داد تا آنها را مشخص کند. دومین تصمیم، چگونگی نگاشت ماشینهای مجازی به ماشینهای فیزیکی میباشد که غالبا علاوه بر پارامترهای ذکر شده با توجه به سیاستهای دیگر فراهم آورندهی ابر مانند کمینه کردن تعداد ماشینهای فیزیکی فعال گرفته میشود.

فهرست مطالب
۱ مقدمه ۱
۱-۱ ابر و محاسبات ابری ۱
۱-۲ معماری ابر ۶
۱-۳ مدیریت ماشینهای مجازی ۸
۲ مروری بر کارهای گذشته ۱۲
۲-۱ روش Bobroff [Bob2007] 13
2-2 روش Hermenier [Her2009] 16
2-3 روش Van [Van2009] 18
2-4 روش [Bre2010] Breitgand 20
2-5 روش [Woo2007] Sandpiper 22
2-6 روش [Kha2006] Khanna 24
2-7 روش [And2009] Mauro 25
پ فهرست منابع ۲۹