توليدکنندگان نرم افزار با ايدههاي نو و ابتکاري براي سرويسهاي جديد اينترنت، ديگر نيازي نيست که سرمايهي زيادي را در تهیهی سختافزار و استخدام نيروي انساني براي راهاندازي سرويسهاي خود هزينه کنند. ديگر نيازي نيست که نگران فراهم آوردن بيش از نياز منابع براي سرويسهايي که محبوبيت آنها به اندازهاي که پيشبيني شده بود نرسيده است، که نتيجهي آن به هدر رفتن منابع گران قيمت، و يا فراهم آوردن کمتر از حد نياز منابع براي سرويسهايي که بسيار محبوب شدهاند که نتيجتا موجب از دست دادن مشتريهاي بالقوه و درآمد ميشود، باشند. اين ویژگی مزيت عمدهاي براي شرکتهاي IT به حساب میآید، زيرا با آزادسازي آنها از کارهاي سطح پايين از جمله آمادهسازي سخت افزار پايه (سرورها) و زيرساختهاي نرم افزاري، توانايي تمرکز بيشتر بر روي نوآوري و ساخت ارزشهاي تجاري را براي آنها به ارمغان ميآورد. علاوه بر اين، شرکتهايي با کارهاي دستهاي بزرگ از آنجايي که استفاده از هزار سرور براي يک ساعت هزينهاي بيش از استفاده از يک سرور براي هزار ساعت ندارد، ميتوانند به همان سرعتي که برنامهها مقياس پيدا ميکنند، نتايج را دريافت کنند.[Cal2009, Arm2009]
از نقطه نظر سخت افزاري و از دید فراهم آورندگان سرویس، سه جنبه در محاسبات ابري جديد هستند:
1. تصور منابع محاسباتي نامحدود که به مجرد تقاضا در دسترس خواهند بود؛ که در نتيجه نياز به اينکه کاربران براي فراهم آوردن منابع در آينده طرحريزي کنند را از بين ميبرد.
2. از بين بردن يک تعهد پيشاپيش به وسيلهي کاربران ابر؛ و در نتيجه به شرکتها اجازه ميدهد که به صورت کوچک شروع به کار کرده و منابع سختافزاري، تنها زماني که نياز به آنها وجود دارد، افزايش يابند.
3. قابليت پرداخت براي استفاده از منابع محاسباتي بر پايهي مدت کوتاهي که مورد نياز هستند و آزادسازي آنها در صورت عدم نياز؛ که به وسيلهي اجازه دادن به ماشينها و منابع ذخيرهسازي براي خارج شدن از سيستم هنگامی که ديگر نيازي به آنها نيست، موجب صرفهجويي و سودمندي در استفاده از منابع ميشود.[Arm2009]
در حقیقت ابر مانند یک مخزن بسیار بزرگ از ماشینهای مجازی میباشد که کاربران ابر از آنها استفاده میکنند. ابر، ماشینهای مجازی درون خود را در اختیار کاربرانش قرار میدهد و آنها نیز برنامهی خود را که میتواند از هر نوعی (محاسباتی تا وب سرور) باشد بر روی آن ماشینهای مجازی راهاندازی میکنند. ابرها قابلیت توسعهپذیری خودکار را به کاربران خود میدهند، به این معنی که منابع (ماشینهای مجازی) بنا به درخواست کاربر در اختیار وی قرار داده میشوند. این قابلیت در کنترل شرایط بحرانی به عنوان مثال زمانی که بار یک وب سایت در حال افزایش است، بسیار مفید خواهد بود.
همانطور که از مطالب گفته شده نتیجه میشود، مجازیسازی یک تکنولوژی پایهای در ابر به حساب میآید. در واقع مجازیسازی در ابر امکان جداسازی برنامهها و سرویسها را از سخت افزار فیزیکی فراهم میآورد، همچنین همانطور که اشاره شد موجب افزایش نرخ بهرهوری نیز میشود. در نتیجهی مجازیسازی، در یک لحظه چندین ماشین مجازی به صورت همزمان بر روی یک ماشین فیزیکی در حال اجرا میباشند و از ظرفیتهای آن (پردازشی، حافظه و شبکه) استفاده میکنند. فراهم آورندهی ابر سعی میکند تا بیشترین تعداد ممکن ماشین مجازی را بر روی یک ماشین فیزیکی قرار دهد تا با این کار هم نرخ بهرهوری منابع خود را افزایش دهد و هم توانایی سرویسدهی به کاربران بیشتری را داشته باشد. از طرف دیگر، فراهم آورندهی ابر باید به مفاد قراردادی که با کاربران خود بسته است پایبند باشد و از نقض آنها جلوگیری به عمل آورد. قرارداد در این سطح میتواند شامل مواردی مانند نرخ غیرفعال بودن ماشین مجازی، نرخ نقض منبع مورد نیاز (هنگامی اتفاق میافتد که یک ماشین مجازی نیاز به منبع بیشتری دارد ولی به دلیل فزونی تعهد ، ماشین فیزیکی قادر به تخصیص مقدار منبع مورد نیاز به آن نباشد) و زمان پاسخ گویی (برای سرویسهای وب که البته قرار دادن آن در این سطح چندان مناسب نیست) باشد. دو پارامتر ذکر شده یعنی فشردهسازی هرچه بیشتر و رعایت مفاد قرارداد در مقابل یکدیگر قرار دارند و بایستی یک تعادل قابل قبول در میان آنها برقرار گردد. لازم به ذکر است که به دلیل اندازهی بسیار بزرگ ابر و همچنین بار غیر قابل پیشبینی ماشینهای مجازی، نمیتوان به طور کامل از نقض قرارداد جلوگیری به عمل آورد و تعداد کمی نقض قرارداد معمول میباشد. آنچه در اینجا به عنوان قرارداد بر روی آن متمرکز میشود نرخ غیرفعال بودن ماشین مجازی به دلیل انجام اعمال مدیریتی و نرخ نقض منبع مورد نیاز خواهد بود. در چنین سیستمی دو تصمیم پایهای باید گرفته شود، اول اینکه برنامهی کاربر به چه نوع ماشینهای مجازی و به چه تعداد از هر نوع نیاز خواهد داشت. این تصمیم را میتوان با طراحی یک سیستم به صورت خودکار و مطابق با قرارداد سطح سرویس میان کاربر نهایی، برنامهی کاربر ابر و کاربر ابر اتخاذ نمود و یا در اختیار کاربر ابر قرار داد تا آنها را مشخص کند. دومین تصمیم، چگونگی نگاشت ماشینهای مجازی به ماشینهای فیزیکی میباشد که غالبا علاوه بر پارامترهای ذکر شده با توجه به سیاستهای دیگر فراهم آورندهی ابر مانند کمینه کردن تعداد ماشینهای فیزیکی فعال گرفته میشود.
فهرست مطالب
1 مقدمه 1
1-1 ابر و محاسبات ابری 1
1-2 معماری ابر 6
1-3 مدیریت ماشینهای مجازی 8
2 مروری بر کارهای گذشته 12
2-1 روش 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
پ فهرست منابع 29