Page 1 of 3
1
کنترل پذیرش مبتنی بر SLA برای یک ارائه دهنده نرم افزار بصورت سرویس(اجاره نرم
افزار) در محیط محاسبات ابری
چکیده
نرم افزار بصورت سرویس(SaaS) دسترسی به اپلیکیشن ها را برای کاربر نهایی روی
اینترنت فراهم می کند بدون اینکه کاربر مجبور باشد برای زیرساخت ها و نرم افزار هزینه
بپردازد. برای سرویس دهی به مشتریان ، ارائه دهندگان SaaS از منابع موجود در مراکز
داده داخلی استفاده می کنند و یا منابع را از ارائه دهندگان زیرساخت بعنوان
سرویس(زیرساخت های اجاره ای (IaaS)) اجاره می کنند. میزبانی در خانه 1 می تواند هزینه
های مدیریت و نگهداری را کاهش دهد درحالیکه اجاره کردن از ارائه دهند گان IaaS می
تواند کیفیت سرویس را بعلت عملکرد متغیرش تحت تاثیر قرار دهد. برای غلبه بر این
محدودیت ها، ما الگوریتم های زمانبندی و کنترل پذیرش جدیدی را برای ارائه دهندگان SaaS
معرفی می کنیم تا بطور کارآمد از منابع ابری عمومی استفاده کنند تا هزینه ها حداقل شده و
سطح رضایت مشتری بهبود یابد. بعلاوه، ما یک مطالعه گسترده برای تحلیل اینکه کدام راه حل
برای کدام سناریو بهترین انتخاب است و سود ارائه دهنده SaaS را ماکزیمم می کند، انجام
داده ایم. نتایج شبیه سازی نشان می دهند که الگوریتم هاییشنهادی ما بهبود قابل ملاحظه ای (
تا بیش از 40 درصد صرفه جویی) را ایجاد می کند.
مقدمه
محاسبات ابری یک الگوی جدید برای تحویل ایکیشن ها، پلتفورم ها یا منابع محاسباتی( قدرت
پردازش/ پهنای باند/ حافظه) به مشتریان در یک مدل " فقط برای چیزی که استفاده می کنی
هزینه بپرداز" ، می باشد. مدل ابری از لحاظ هزینه بسیار مقرون به صرفه است چراکه
مشتریان تنها برای استفاده واقعی هزینه می پردازند بدون اینکه هزینه های ابتدایی را متحمل
شوند. مدل ابری همچنین مقیاس پذیر است چرا که می تواند بر اساس نیاز مشتری کم یا زیاد
مورد استفاده قرار بگیرد. با توجه به این مزایا، ابر در حوزه های مختلف بسیار مورد توجه
قرار گرفته است که می توان به بانکداری، تجارت الکترونیک، صنعت خرده فروشی و دانشگاه
[] اشاره کرد. با در نظر گرفتن شناخته شده ترین سرویس دهندگان ابری مانند
Saleforce.com []، ماکروسافت[] و آمازون[] ، سرویس های ابری می توانند به صورت زیر
دسته بندی شوند: اپلیکیشن( SaaS) ، پلتفورم(PaaS ، اجاره پلتفورم) و منابع سخت
افزاری(IaaS).
در این مقاله، ما روی لایه SaaS تمرکز می کنیم که به مشتریان اجازه می دهد تا به اپلیکیشن
های روی اینترنت دسترسی پیدا کنند بدون اینکه مجبور به پرداخت هزینه های مربوط به نرم
افزار(مانند لیسانس نرم افزار و بروزرسانی) باشند. هدف اصلی ارائه دهندگان SaaS ، مینیمم
کردن هزینه ها و ماکزیمم کردن سطح رضایت مشتری(CSL) است. هزینه شامل هزینه های
مربوط به زیرساخت ها ، هزینه مدیریت و هزینه جریمه بعلت تخلفات SLA است. CSL به
میزان برآورده کردن SLA بستگی دارد. بطور کلی، ارائه دهندگان SaaS از منابع داخلی
مراکز داده استفاده می کنند و یا منابع را از ارائه دهندگان SaaS مشخصی اجاره می کنند.
بعنوان مثال، Saleforce.com [] از منابع داخلی استفاده می کند اما Animoo[] منابع را از
Amazin EC2 اجاره می کند[]. میزبانی در خانه می تواند باعث هزینه های مدیریت و
نگهداری شود درحالیکه اجاره کردن از یک ارائه دهنده SaaS می تواند کیفیت سرویس را
تحت تاثیر قرار دهد[].
1 In house hosting
Page 2 of 3
2
برای غلبه بر این محدودیت ها، استفاده از چندین ارائه دهنده و کنترل پذیرش در این مقاله
معرفی شده اند. استفاده از چندین ارائه دهنده مقدار بسیار زیادی از منابع ، طرح هایی با قیمت
های مختلف و عملکرد انعطاف پذیر منابع را برای برآورده کردن اهداف سطح سرویس ، به
دنبال دارد. کنترل پذیرش بعنوان یک مکانیزم کلی برای اجتناب از سرباز منابع و ارضای
توافق سطح سرویس(SLA) مد نظربوده است[]. اما ، ارائه دهندگان SaaS فعلی کنترل
پذیرش ندارند و اینکه چگونه زمانبندی انجام می دهند مشخص و شفاف نیست. بنابراین، وقتی
منابع می توانند گسترش یابد و بر اساس نیاز ارائه شوند :
آیا می توانند یک درخواست جدید را بدون تحت تاثیر قرار دادن درخواست های پذیرفته
شده، قبول کنند؟
چگونه درخواست کاربران مختلف به پارامترهای مختلف در VM ها نگاشت می
شوند؟
چه منابعی باید تخصیص داده شوند؟ یا باید یک VM جدید برای پشتیبانی درخواست
جدید در نظر گرفته شود؟
این مقاله راه حل هایی برای سوالات بالا با ارائه الگوریتم های زمانبندی و کنترل پذیرش فراهم
می کند تا سود ارائه دهندگان SaaS را ماکزیمم کند. راه حل های پیشنهادی ما می توانند تعداد
کاربران پذیرفته شده را از طریق جابجایی موثر و کارآمد درخواست ها روی VM های ایجاد
شده توسط ارائه دهندگان IaaS را افزایش دهد. ما شرایط کیفیت سرویس (QoS) مشتری های
مختلف و نیز همگن بودن زیرساخت ها را نیز در نظر گرفته ایم. کارهای اصلی انجام شده در
این مقاله عبارتند از :
1- ارائه مدل های ریاضی و سیستمی برای ارائه دهندگان SaaS به منظور رضایت
مشتری
2- ارائه الگوریتم های زمانبندی و کنترل پذیرش برای ماکزیمم کردن سود از طریق
کاهش هزینه و افزایش سطح رضایت مشتری.
مابقی مقاله به شکل زیر ارائه شده است. در بخش 2 ، مدل های ریاضی و سیستمی معرفی شده
اند. بعنوان بخشی از سیستم ، ما دو لایه از SLA ها را طراحی کرده ایم، یکی بین کاربران و
ارائه دهندگان SaaS و دیگری بین SaaS و ارائه دهندگان IaaS . در بخش 3، ما سه
الگوریتم زمانبندی و کنترل پذیرش نشان داده شده اند. در بخش 4، ما کارامد بودنه الگوریتم
های پیشنهادی را با توجه به اهداف SLA و ظرفیت الگوریتم ها با توجه به SLA همراه با
تخلفات را نشان می دهیم. نتایج شبیه سازی نشان می دهند که الگوریتم های پیشنهادی در
مقایسه با الگوریتم های مرجع ، سود را افزایش می دهند. کارهای مرتبط انجام شده در این
زمینه در بخش 5 مورد مقایسه قرار می گیرند. در نهایت ، در بخش 6 ما با خلاصه ای از
نتایج و مقایسه ها ، نتیجه گیری می کنیم.
نتیجه گیری
ما الگوریتم های زمانبندی و کنترل پذیرش را برای تخصیص کارآمد منابع معرفی کرده ایم تا
سود و سطح رضایت مشتری را برای ارائه دهندگان SaaS ماکزیمم کنیم. با استفاده از شبیه
سازی ما نشان دادیم که الگوریتم های پیشنهادی در تعداد زیادی از سناریوها خوب عمل می
کنند. نتایج شبیه سازی نشان می دهند که بطور میانگین الگوریتم profPD ، ماکزیمم سود (
بطور میانگین صرفه جویی 40 درصدی در هزینه های VM ) را با انواع مختلف
پارامترهای QoS ، در مقایسه با سایر الگوریتم ها برمی گرداند. اگر درخواست یک کاربر
نیازمند پاسخگویی سریع باشد، ProfRS و ProfminVM را می توان با توجه به سناریو
انتخاب کرد. خلاصه الگوریتم ها و توانایی آنها برای کار با سناریوهای مختلف در جدول 2
نشان داده شده اند.
Page 3 of 3
3
در این مقاله، ما فرض کرده ایم که زمان سرویس تخمین زده شده درست هستند چراکه روش
های تخمین عملکرد موجود( مانند مدل سازی تحلیلی[]، روش های تجربی و داده های قبلی[])
می توانند برای پیش بینی زمان سرویس برای انواع مختلف VM بکار روند. اما هنوز زمان
سرویس تخمینی همراه با خطا است[] که این خطاها ناشی از عملکرد متغیر VM در ابر است.
تاثیر خطا را می توان با دو استراتژی کم کرد: اولا، استفاده از جبران جریمه در SLA هایی
با ارائه دهنده IaaS و تاکید بر تخلف و SLA دوما ، اضافه کردن زمان تاخیر به زمانبندی
برای جلوگیری از ریسک.
در آینده، ما قدرت الگوریتم های پیشنهادی را با مدیریت خطاها ، افزایش خواهیم داد. بعلاوه،
بعلت کاهش کارایی که ناشی از خطا است ما مذاکرات SLA را در محیط های محاسبات ابری
در نظر خواهیم گرفت تا قدرت الگوریتم ها را بهبود بخشد. ما همچنین انواع مختلف سرویس
ها و استراتژی های قیمت گذاری را برای افزایش سود سرویس دهندگان را اضافه خواهیم
کرد. بعلاوه، بررسی زمانبندی و کنترل پذیرش برای ماکزیمم کردن سود ارائه دهندگان
SaaS یکی دیگر از اهداف ما در آینده است تا پیچیدگی زمانی الگوریتم بهبود یابد