Abstract
Cloud computing is a new computing paradigm that allows users with different computing demands to access a shared pool of configurable computing resources (e.g., servers, network, storage, database, applications and services). Many commercial cloud providers have emerged in the past 6-7 years, and each typically provides its own cloud infrastructure, APIs and application description formats to access the cloud resources, as well as support for service level agreements (SLAs). Such vendor lock-in has seriously limited the flexibility that cloud end users would like to process, when it comes to deploy applications over different infrastructures in different geographic locations, or to migrate a service from one provider's cloud to another. To enable seamless sharing of resources from a pool of cloud providers, efforts have emerged recently to facilitate cloud interoperability, i.e., the ability for multiple cloud providers to work together, from both the industry and academia. In this article, we conduct a comprehensive survey on the state-of-the-art efforts, with a focus on interoperability among different IaaS (infrastructure as a service) cloud platforms. We investigate the existing studies on taxonomies and standardization of cloud interoperability, as well as practical cloud technologies from both the cloud provider's and user's perspectives to enable interoperation. We pose issues and challenges to advance the topic area, and hope to pave a way for the forthcoming research
چکیده
پردازش ابری یک الگوی محاسباتی جدید است که کاربرانی که نیازهای محاسباتی متفاوتی دارند میتوانند از طریق آن به منبع مشترکی از منابع محاسباتی قابل تنظیم، دسترسی داشته باشند (مانند سرورها، شبکه، حافظه، پایگاه داده، اپلیکیشنها و خدمات). بسیاری از فراهم کنندگان ابر تجاری در 6-7 سال گذشته به وجود آمدهاند و هریک معمولاً زیرساختها، APIها و قالبهای توصیف اپلیکیشنِ خاص خود را برای دسترسی به منابع ابر و همچنین پشتیبانی از قراردادهای سطح خدمات (SLAها) ارائه میکند. این محدودیت دیدگاه فروشنده، در زمانی که کاربران نهایی ابر بخواهند اپلیکیشنها را روی زیرساختهای مختلف در موقعیتهای جغرافیایی مختلف مستقر کنند یا یک سرویس را از یک فراهم کنندهی ابر به دیگری منتقل کنند، انعطاف پذیری را به شدت محدود میکند. اخیراً برای اشتراک یکپارچهی منابعِ چند فراهم کنندهی ابر تلاشهایی انجام شده تا همکاری متقابل ابری تسهیل شود، یعنی چند فراهم کنندهی ابر، چه صنعتی و چه دانشگاهی، بتوانند با هم کار کنند. ما در این مقاله، با تمرکز بر قابلیت همکاری بین بسترهای ابری IaaS (زیرساخت به عنوان سرویس) مختلف، تحقیقات اخیر را به صورت جامع بررسی میکنیم. ما تحقیقات موجود درمورد دسته بندی و استانداردسازی همکاری متقابل ابری، و همچنین فناوری هایی عملی ابری را، هم از دیدگاه فراهم کنندگان ابر و هم از دیدگاه کاربران بررسی میکنیم تا همکاری متقابل را امکان پذیر سازیم. ما مشکلات و چالشها را مطرح میکنیم تا این حوزه تحقیقاتی را ارتقا دهیم و امیدواریم مسیر را برای تحقیقات آتی هموار کنیم.
پردازش ابری شباهت زیادی به هتل کالیفرنیا پیدا کرده است: هروقت یک فراهم کننده انتخاب کنید میتوانید در هر زمانی آن را چک کنید- اما هیچگاه نمیتوانید آن را ترک کنید [1].
-1مقدمه
اخیراً پردازش ابری به عنوان یک الگوی جدید محاسبات مطرح شده است تا سرورهای مشترک در مراکز داده را به صورت یک زیرساخت ابری سازماندهی کند و میتواند منابع پردازشی مورد نیاز (مانند CPU، حافظه، شبکه، پایگاه داده، اپلیکیشنها و خدمات) را در هر زمان و مکانی و به صورت پرداخت-به-ازای-استفاده، به کاربران ارائه کند. پردازش ابری با تامین و ارائه سریع منابع، با کمترین تلاش مدیریتی کاربر و کمترین دخالت فراهم کننده ی ابر، روشهای محاسباتی مقیاس پذیر و مقرون به صرفه ای ارائه میکند. طبق تعریف NIST [2]، مدل پردازش ابری پنج ویژگی اصلی دارد: سلف-سرویس برحسب درخواست، دسترسی گسترده به شبکه، اشتراک منابع، آلاستیسیتیِ (قابلیت تغییر) سریع و خدمات اندازه گیری شده، و همچنین سه مدل خدمات دارد: SaaS (نرم افزار به عنوان خدمات)، PaaS (پلتفرم به عنوان خدمات) و IaaS (نرم افزار به عنوان خدمات). ابر برای پشتیبانی انواع اپلیکیشن ها بسیار مفید است، از جمله اپلیکیشن هایی که محاسبات زیادی دارند (محاسبات-محور) [3]، حافظه-محور هستند [4]، و اپلیکیشن های وب که به پهنای باند نیاز دارند [5]…