۲-۲-۲-۴ مجازیسازی در سطح هسته لینوکس
سیستم مجازیسازی در سطح هسته لینوکس[۳۱] مثالی از این نوع است که هدف آن اجازه دادن به مدیران برای اجرای چندین محیط عملیاتی کاربردی مستقل بر روی یک کامپیوتر واحد با مزرهای مشخص بین آنهاست. این هدف به میزبانی برنامههای کاربردی و بهبود امنیت سیستم کمک خواهد کرد. یک محیط مجازی شامل گروهی از پردازهها است که هر یک از آنها ریشهی سیستم فایل، init، اسکریپتهای راهانداز خود را دارا هستند. این سیستم اجازه مدیریت محیط مانند تغییر تنظیمات شبکه را از داخل فراهم میکند. همچنین اقدامات کنترل دسترسی پیچیدهتری را ارائه میدهد. برای مثال، این سیستم قادر است کاربری با مجموعهای از حقوق مدیریتی را در درون محیط ایجاد کند. این سیستم از روش جداسازی فضای نام برای پیادهسازی مرزهای محیطی استفاده میکند. تمامی اشیای خاص یک محیط با یک نام مشخص (VE-id) میشوند و الگوریتمهای جستجو به گونهای عمل میکنند که تنها اشیایی را مییابند که شناسه آنها منطبق با شناسه فرایندهای فراخوانی شده باشد. پردازهها تنها قادر به دیدن بستههای IP هستند که به مقصد آدرس IP محیط ارسال شدهاند.
۲-۲-۲-۵ مجازیسازی در سطح زبان برنامهنویسی
یک ماشین سنتی، مجموعه دستورالعملهای تحت پشتیبانی معماری مجموعه دستورالعمل را اجرا میکند. در این نوع انتزاع، سیستمعاملها و برنامههای سطح کاربر همگی بر روی یک ماشین مانند برنامههای کاربردی بر روی ماشین اجرا میشوند. دستکاری سختافزار یا با دستورات مخصوص ورودی/خروجی (ورودی/خروجی نگاشت شده) و یا با نگاشت بخشی از حافظه به ورودی/خروجی و سپس دستکاری حافظهی نگاشت شده سر و کار دارد. بنابراین در نهایت بلوک یا دنبالهای از دستورات برنامهی کاربردی را تشکیل میدهند. سطح جدیدی از انتزاع برای ماشین مجازی با ورود ماشین مجازی جاوا به وجود آمد. هدف ایجاد ماشین مجازی در سطح برنامهی کاربردی است که مثل هر ماشین دیگری، برای مجموعهای از برنامههای کاربردی مانند یک ماشین عمل کند. این ماشین یک مجموعهی جدیدی از دستورات خود-تعریف (کدبایتهای جاوا) را پشتیبانی میکند. این ماشین مجازی تهدید امنیتی کمی برای سیستم دارد در حالی که به کاربر اجازه میدهد با اجرای برنامههای کاربردی روی آن مانند ماشین فیزیکی با آن بازی کند. این ماشین مجازی مانند یک ماشین نرمال باید بتواند یا با میزبانی سیستم عملیاتی تجاری یا به کمک محیط خودش یک محیط عملیاتی برای برنامههای کاربردی خودش ایجاد کند. در ادامه چند مورد از این نوع را آورده شده است.
برای دانلود متن کامل پایان نامه به سایت tinoz.ir مراجعه کنید.
ماشین مجازی جاوا
تمام چیزهایی که در مورد فناوری جاوا میدانید فقط چند سال عمر دارند. انگیزه برای این فناوری برمیگردد به ایده طراحی زبان مستقل از پردازنده که میتواند روی دامنه وسیعی از بسترها اجرا شود. پروژه با زبان جدیدی به نام OaK توسط جیمز گاسلینگ طراحی شده بود شروع شد و بعدها به چیزی توسعه داده شد که امروزه با نام “جاوا” شناخته میشود. جاوا برای اجرای برنامههایش در سیستمعاملهای مختلف نیاز به یک ماشین مجازی جاوا دارد. ماشین مجازی جاوا پشتیبانی کننده از فایل هایی است که با جاوا نوشته میشوند و محیط اجرای آن ها را در سیستمعاملهای مختلف فراهم میکند.
ماشین مجازی جاوا یک ماشین مجازی است که بایت کد جاوا را اجرا میکند. این کد اغلب بوسیله کامپایلرهای جاوا ایجاد میشود، اگرچه ماشین مجازی جاوا هدف کامپایلرهای زبانهای دیگر نیز است. جاوا فایل های با پسوند JAVA را پس از کامپایل به فایل هایی با پسوند CLASSکه فرمت دودویی قابل حمل استاندارد است تبدیل می کند. این فایل ها همان فایلهایی هستند که یا توسط ماشین مجازی جاوا در زمان اجرا خط به خط برای سیستم عامل تفسیر شده و اجرا میشوند. ماشین مجازی جاوا علاوه بر ایجاد مفسر برای مجموعه دستورالعملها، محیط عملیاتی (که سیستم عامل در سیستم محلی ایجاد میکند) را نیز برای کد بایتهای جاوا ایجاد میکند. بنابراین بستری جاوا ترکیبی از ماشین مجازی و محیط عملیاتی است. ماشین مجازی در نهایت روی یک زبان محلی پیادهسازی میشود و میتواند باعث انعطاف بیشتر ماشینهای سنتی شود. در این حالت برای افزودن ویژگیهایی نظیر بازبینی بایت کد[۳۲]، مدیریت ساخت یافته استثناها[۳۳]، جمعآوری زبالهها[۳۴] و غیره، محاسبات اضافی مورد نیاز خواهد بود.
ماشین مجازی جاوا یک معماری مبتنی بر پشته[۳۵] بوده و از نخها[۳۶] پشتیبانی میکند. هر نخ دارای شمارنده برنامه و مجموعه ثبات خیالی (ثباتهایی که ماشین مجازی پشتیبانی میکند) مختص به خود است. این دستورات در زمان اجرا به مجموعهای از دستورات واقعی تبدیل میشوند که به صورت محلی اجرا میشوند. ماشین مجازی جاوا از دستوراتی نظیر بارکردن/ذخیره[۳۷]، حساب[۳۸]، تبدیل نوع[۳۹]، ایجاد/دستکاری شی، فراخوانی/بازگشت و ایجاد استثنا پشتیبانی میکند.
این نوع معماری ماشین مجازی اجازه کنترل جزء به جزء تمامی اعمالی که کد در درون ماشین مجاز به انجام آنهاست را دارد. این حالت موجبات اجرای امن کدهای نامطمئن از منابع راه دور را فراهم میکند، مدلی که اپلت[۴۰]های جاوا به خوبی از آن بهره میگیرند. امنیت، اشکالزدایی آسان، مستقل از بستر بودن ویژگیهای بسیار مهم این نوع مجازیسازی است. با توجه به اینکه همه دستگاههای سختافزاری زیر لایه ماشین مجازی جاوا قرار دارند، این لایه به هر چیزی در سیستم دسترسی داشته و به طور مجازی هر چیزی که یک برنامه کاربردی نرمال میتواند انجام دهد را انجام میدهد. بنابراین برنامههای جاوا در مقایسه با سایر برنامههای نوشته شده با زبانهای سنتی نظیر C و C++ از قدرت یکسانی برخوردارند.
۲-۲-۲-۵ مجازیسازی در سطح کتابخانه
تقریبا در تمام سیستمها، برنامههای کاربردی با بهره گرفتن از مجموعهای از واسطهای برنامهنویسی که از پیادهسازیهای کتابخانهی سطح کاربر استخراج شدهاند برنامهنویسی میشوند. چنین کتابخانههایی برای پنهان کردن جزییات و پیچیدگی ارتباط با سیستمعامل است تا استفاده از آن را برای برنامهنویسان معمولی راحتتر کند که فرصتی جدید برای مجازیسازی است. در اینجا نیز لایه مجازیسازی بالای لایه سیستمعامل قرار گرفته و محیطی مجازی متفاوتی را ایجاد میکند که واسط دودویی متفاوتی را ارائه میدهد. به عبارتی، تکنیکهای مجازیسازی برای پیادهسازی واسطهای دودیی برنامههای کاربردی[۴۱] متفاوت و یا واسط برنامهنویسی برنامه کاربردی مختلف با بهره گرفتن از سیستم زیرین استفاده میشوند. چنین تکنیکهایی در واقع عمل تقلید را انجام میدهند. در ادامه نمونههایی از این نوع مجازیسازی با جزییات بیشتر آورده شده است.
Wine
Wine [15] یک ماشین مجازی نیست و فرایندی را تقلید نمیکند.Wine یک پیادهسازی از واسط برنامهنویسی ویندوز است و میتواند بهصورت یک کتابخانه برای حمل برنامههای کاربردی ویندوز به یونیکس استفاده شود. Wine شبیه ویندوز برای فایلهای اجرایی عمل کرده و به دقت رفتار آن را برای آن ویندوز تقلید میکند.وظیفه Wine اجرای برنامههای اجرایی ویندوزی بر روی سیستمعاملهای غیر ویندوزی است. به طور مثال، کتابخانههای قابل اجرای ویندوز[۴۲] برنامههای کاربردی نوشتهشده در واسط برنامهنویسی ویندوز هستند که به عنوان قابل اجرا در یونیکس کامپایل شدهاند.
۲-۳ پردازش ابری
پردازش ابری[۴۳] [۱۶] مدلی بر پایه شبکههای بزرگ کامپیوتری مانند اینترنت است که الگویی تازه برای عرضه، مصرف و تحویل سرویسهای فناوری اطلاعات (شامل سختافزار، نرمافزار، اطلاعات و سایر منابع اشتراکی رایانشی) با به کارگیری اینترنت را ارائه میکند. پردازش ابری راهکارهایی برای ارائه خدمات فناوری اطلاعات به شیوههای مشابه با صنایع همگانی (آب، برق، تلفن و …) پیشنهاد میکند. این بدین معنی است که دسترسی به منابع فناوری اطلاعات در زمان تقاضا و بر اساس میزان تقاضای کاربر به گونهای انعطافپذیر و مقیاسپذیر از راه اینترنت به کاربر تحویل داده میشود.
نتیجه تصویری درباره فناوری اطلاعات
واژه “ابر” واژهای است استعاری که به مجموعهای از کارگزارها و منابع تحت اینترنت اشاره میکند و در نمودارهای شبکههای رایانهای نیز از شکل ابر برای نشان دادن شبکه اینترنت استفاده میشود. دلیل تشبیه اینترنت به ابر در این است که اینترنت همچون ابری جزییات فنی را از دید کاربران پنهان میسازد و لایهای از انتزاع را بین این جزییات فنی و کاربران به وجود میآورد. نرمافزارهای کاربردی و اطلاعات روی کارگزارها ذخیره میگردند و براساس تقاضا در اختیار کاربران قرار میگیرند. جزییات از دید کاربر مخفی میماند و کاربران نیازی به تخصص یا کنترل در مورد فناوری زیرساخت ابری که از آن استفاده میکنند ندارند.
پردازش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعهای از منابع رایانشی قابل تغییر و پیکربندی (مانند شبکهها، کارگزارها، فضای ذخیرهسازی، برنامههای کاربردی و سرویسها) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهمکننده سرویس به سرعت فراهم شود.
محاسبات ابری ساختاری شبیه یک توده ابر دارد که بواسطه آن کاربران میتوانند به برنامههای کاربردی از هر جایی از دنیا دسترسی داشته باشند. محاسبات ابری به گونهای ازاباب سیستمهای توزیع شده و موازی اطلاق میگردد که شامل مجموعهای از کامپیوترهای مجازی است که به یکدیگر متصل هستند. این کامپیوترها بهطور پویا عرضه شده و بهعنوان یک یا چند منبع محاسباتی یکپارچه بر اساس توافقات سطح سرویس دیده میشوند و این توافقات در طول مذاکرات سرویسدهندگان و مصرفکنندگان برقرار میگردند. محاسبات ابری سعی دارد ایجاد پویای نسل جدیدی از مراکز دادهای را، با ارائه کردن سرویسها و خدمات در ماشین های مجازی شبکه شده به صورت پویا، به گونه ای ممکن سازد که کاربران بتوانند از هر جایی از دنیا به برنامههای کاربردی دسترسی داشته باشند. بدین ترتیب، دنیای محاسبات به سرعت به سمت توسعه نرمافزارهایی پیش میرود که به جای اجرا بر روی کامپیوترهای منفرد، بعنوان یک سرویس در دسترس میلیونها مصرفکننده قرار میگیرند. با بهره گرفتن از این فناوری، کاربران قادرند بر اساس نیازهایشان و بدون توجه به اینکه یک سرویس در کجا قرار دارد و یا چگونه تحویل داده میشود، به آن دسترسی یابند.
پردازش ابری، در ساده ترین تعریف “ارائه سرویس کامپیوتری بر روی اینترنت” است. به جای آنکه تاسیسات و امکانات فنآوری اطلاعات خود را برای نگهداری دادهها یا نرمافزار هزینه کرده و بسازید، از امکانات نرمافزاری و سختافزاری که شرکتهای دیگر از طریق اینترنت در اختیار شرکت شما میگذارند استفاده میکنید. این سیستم ابر نامیده میشود.
چنانچه شرکتها به سیستمهای کامپیوتری کارآمدتر روی آورند نیازهای آنها در حوزه فناوری اطلاعات بسیار سریعتر از گذشته مرتفع میگردد و اغلب صاحبنظران بر این عقیدهاند که به طور یقین، آینده فناوری اطلاعات در گرو پردازشابری خواهد بود.
۲-۳-۱ مزایای پردازش ابری
تحرکپذیری: کاربران قادر خواهند بود تا به نرمافزارها و دادههایشان در هر جا و در هر زمان دسترسی داشته باشند. به همین دلیل، نیازی به همراه داشتن آن ها نخواهند داشت.
کارایی و کاهش هزینهها: پردازش ابری، مشتریان را از صرف مخارج سختافزاری، نرمافزاری، خدمات و همچنین از درگیری با نصب و نگهداری نرمافزارهای کاربردی به شکل محلی آزاد میکند. همچنین هزینهی توسعهی نرمافزاری را کاهش میدهد. سیستمهای پردازش ابری نیاز به سختافزارهای پیشرفته در سمت کاربران را نیز کاهش میدهد. در واقع اشتراکگذاری زیرساختهای پیچیده در بین شرکتهای بیشتر، قیمتی مقرون به صرفه را به همراه خواهد داشت.
به روز رسانی آسانتر: اکثر ارایهدهندگان به طور دائم نرمافزارهای خود را بروزرسانی میکنند و به محض اضافه شدن یک مشخصه نرمافزاری و سختافزاری جدید، آن را به سیستم خود اضافه میکنند.
مقیاس پذیری: سیستمهای ابری قابلیت رشد سریع را دارا میباشند. کاربر میتواند میزان منابع مورد استفاده خود را به صورت پویا و بر حسب نیاز کاهش یا افزایش دهد.
امنیت: به دلیل تمرکز دادهها، امنیت بیشتر و پیچیدهتر از گذشته شده است، اما نگرانیها به دلیل از دست دادن کنترل روی دادههای حساس همچنان پابرجاست. امنیت در پردازش ابری اغلب برابر با سیستمهای سنتی میباشد، زیرا ارایهدهندگان پردازش ابری به منابع اختصاصی امنیتی دسترسی دارند که بیشتر مشتریان از عهده خرید این منابع بر نمیآیند.
نگهداری: به دلیل عدم نیاز به نصب برنامههای کاربردی برای هر کاربر، نگهداری آسانتر و با هزینه کمتری انجام میشود. شرکتهایی که بسترهای خودشان را پیادهسازی و اجرا میکنند، باید زیرساختهای سختافزاری و نرمافزاری خودشان را خریداری و نگهداری نمایند و کارمندانی را برای مراقبت از سیستم استخدام کنند، همه موارد میتواند پرهزینه و زمانبر باشد. درحالیکه پردازش ابری این نیازها را برطرف میسازد. هر دستگاه ساده که توانایی اتصال و برقراری ارتباط با کارگزار را داشته باشد، برای استفاده از خدمات پردازش ابری کافی است و میتواند نتایج آن را با دیگران به اشتراک بگذارد.
ظرفیت نامحدود ذخیرهسازی: پردازش ابری ظرفیتی نامحدود برای ذخیرهسازی در اختیار کاربران قرار میدهد.
قابلیت اطمینان بیشتر به داده: درحالی که تنها تعداد اندکی از کاربران به طور مرتب و منظم از دادههای مهم و حساس خود نسخه پشتیبان تهیه میکنند، پردازش ابری گزینهای مهم در زمینه محافظت از دادهها به شمار میرود.
قابلیت حمل و استقلال از سختافزار: مهمترین مزیت پردازش ابری بدون شک قابل حمل بودن و استقلال از بستر سختافزاری خواهد بود. دیگر نیازی به خرید یک نسخه خاص از یک برنامه برای یک وسیله خاص، یا ذخیره کردن اسناد با یک فرمت مبتنی بر یک ابزار ویژه ندارد. فرقی نمی کند که شما از چه نوع سختافزاری استفاده میکنید زیرا اسناد و برنامه های کاربردی در همه حال به یک شکل هستند.
۲-۳-۲ معایب پردازش ابری
نیاز به اتصال دائمی به اینترنت: از آن جایی که کاربران باید برای ارتباط با برنامههای کاربردی و اسناد خود به اینترنت متصل باشند، اگر ارتباط اینترنتی نداشته باشند نمی توانند به هیچ چیزی، حتی اسناد خودشان دسترسی پیدا کنند.
وابستگی کارایی به سرعت اینترنت: حتی در یک ارتباط اینترنتی سریع نیز، برنامههای کاربردی تحت وب میتوانند گاهی اوقات کندتر از دسترسی به همان برنامه نرمافزاری از طریق یک کامپیوتر شخصی باشند. تمام جنبههای یک برنامه، از جمله واسط کاربری و سند فعلی، باید بین کامپیوتر یا کامپیوترهای موجود بر روی ابر مبادله شود. اگر در آن لحظه، کارگزارهای ابر در معرض تهیه نسخه پشتیبان باشند یا اگر اینترنت یک روز کند را پشت سر بگذارد، شما نمیتوانید به همان دسترسی سریعی که در یک برنامه عادی وجود دارد، برسید.
محل ذخیرهسازی دادهها: در هنگام استفاده از فناوری پردازش ابری، این موضوع که یک نفر موقعیت دادهها، محل میزبانی آنها یا حتی کشوری را که دادههای وی در آن واقع شده اند نداند، بسیار محتمل است. یک گام برای امن کردن دادهها این است که با ارایهدهنده سرویس ابر به این توافق برسید که دادههای شما را در یک محدوده جغرافیایی خاص نگهداری کرده و پردازش نماید. شما همچنین میتوانید با بهره گرفتن از الزامات قانونی آنها را ملزم به رعایت تمامیت دادههای خود نمایید. به این منظور شما باید این قوانین را شناخته و نحوه اعمال آن را بدانید.
انعطافپذیری کارگزار: همانطور که قبلا اشاره شد، یکی از امتیازات پردازش ابری این واقعیت است که این فناوری، انعطافپذیری بالایی را به همراه میآورد. این مساله می تواند مشکلزا باشد. برخی کارگزارها ممکن است اغلب بدون اطلاع قبلی شما مجددا پیکربندی گردند. این مساله می تواند برای برخی فناوریهای داخل ابر که سازمان شما بر آنها متکی است چالش ساز باشد.
امنیت: علیرغم اینکه این فناوری دارای مزیتهای متعددی مانند هزینه کمتر و سهولت مدیریت است، اما موارد امنیتی همچنان یکی از عواملی است که گسترش این فناوری را کند کرده است. بسیاری از شرکتها و مراکز مختلف از سرویسهای عمومی محاسبات ابری پرهیز میکنند، زیرا درباره امنیت دادههای شرکتی خود مطمئن نیستند.
۲-۳-۳ انواع پردازش ابری
پردازش ابری براساس نوع سرویس و تعاملی که با کاربر دارد به بخشهای مختلف دستهبندی میشود.
۲-۳-۳-۱ ابر عمومی
ابر عمومی[۴۴] یا ابر خارجی توصیف کننده پردازش ابری در معنای اصلی و سنتی آن است. سرویسها به صورت پویا و از طریق اینترنت و در واحدهای کوچک از یک عرضه کننده شخص ثالث تدارک داده میشوند و عرضه کننده منابع را به صورت اشتراکی به کاربران اجاره میدهد و بر اساس مدل پردازش همگانی و مشابه صنعت برق و تلفن برای کاربران صورتحساب میفرستد. این نوع از ابرها به صورت اشتراکی در سطح اینترنت وجود داشته و عموما برای تست و گسترش محصولات جدید یک شرکت ارائه میشوند. ابرهای عمومی به طور کلی ارزان هستند. این نوع از پردازش ابری از امنیت بالایی برخوردار نیست. بسیاری از شرکتها و مراکز مختلف از سرویسهای عمومی محاسبات ابری پرهیز میکنند، زیرا درباره امنیت دادههای شرکتی خود مطمئن نیستند. خدمات عمومی محاسبات ابری باعث میشود تا شرکتهای گوناگون بتوانند در شبکه اینترنت و باتوجه به میزان نیاز خود از نرمافزارها، قدرت محاسباتی و نیز منابع ذخیرهسازی شرکت ارایهدهنده این خدمات بهره ببرند و این مزیت آن ها را از خرید تجهیزات اختصاصی بینیاز میکند.
۲-۳-۳-۲ ابر خصوصی
ابر خصوصی[۴۵] یک زیر ساخت پردازش ابری است که توسط یک سازمان برای استفاده داخلی آن سازمان به وجود آمده است. عامل اصلی که ابرهای خصوصی را از ابرهای عمومی تجاری جدا میسازد، محل و شیوه نگهداری از سختافزار زیرساختی ابر است. ابر خصوصی امکان کنترل بیشتر بر روی تمام سطوح پیادهسازی ابر (مانند سختافزار، شبکه، سیستمعامل، نرمافزار) را فراهم میسازد. مزیت دیگر ابرهای خصوصی امنیت بیشتری است که ناشی از قرارگیری تجهیزات در درون مرزهای سازمان و عدم ارتباط با دنیای خارج ناشی میشود. نگرانیها درباره امنیت خدمات ابر عمومی باعث شده تا برخی از شرکتها مراکز داده اختصاصی یا درون سازمانی خود را به ابرهای خصوصی تبدیل کنند که در این صورت این تجهیزات همان خدماتی را ارائه میکنند که در ابرهای عمومی عرضه میشوند، با این تفاوت که چون تجهیزات تحت نظارت مستقیم خود شرکتها است، درخصوص امنیت آن اطمینان بیشتری وجود دارد. اما بهره گیری از ابرهای خصوصی مشکلات ایجاد و نگهداری را به همراه دارد. یک راه حل دیگر برای دوری از مشکلات ابرهای خصوصی و در عین حال بهرهمند شدن از مزایای ابرهای خصوصی، استفاده از ابر خصوصی مجازی است.
۲-۳-۳-۳ ابر ترکیبی
یک ابر ترکیبی[۴۶] متشکل از چندین ارایهدهنده داخلی و یا خارجی، گزینه مناسبی برای بیشتر مؤسسات تجاری میباشد و ترکیبی از سرویس های مختلف را برای کاربران فراهم میآورد. حقیقت این است که در برخی از موارد یک ابر خصوصی به خودی خود نمیتواند وجود داشته باشد مگر اینکه بخشی از خدمات خود را به صورت عمومی ارائه دهد و این هدفی است که این مدل برای آن به وجود آمده است.
۲-۳-۴ سرویس های رایج پردازش ابری
ابرها درصورتی که عمومی یا خصوصی باشند در نوع سرویس با هم تفاوت دارند که در ادامه شرح داده شدهاند.
نرمافزار به عنوان سرویس
نرمغکه نرمافزار به عنوان سرویس[۴۷] که آن را نرمافزار بر حسب تقاضاالاله نیز مینامند، نرمافزاری است که روی اینترنت گسترش داده شده و کاربران میتوانند در ازای پرداخت مبلغ و یا رایگان از آن استفاده کنند.
بستر به عنوان سرویس[۴۸]
در این مدل به جای گسترش نرمافزار، پلتفرم آن گسترش مییابد و به عنوان سرویس ارائه خواهد شد. با بهره گرفتن از این سرویس میتوان نرمافزارها را بدون صرف هزینه و پیچیدگی در خرید و مدیریت سختافزارها و نرمافزارهای اصلی و همچنین مهیا کردن امکانات میزبانی گسترش داد و توسعه دهندههای نرمافزار برای ایجاد برنامههای جدید یا توسعه برنامههای قبلی نیاز به صرف هزینههای توسعه بستر نیستند .
زیرساخت به عنوان سرویس[۴۹]
زیرساخت به عنوان سرویس به توسعه دهندگان اجازهی بیشتری برای تعامل با زیرساخت کارگزار را میدهد. توانایی کنترل سختافزار و نرمافزار از طریق اینترنت، کنترل روی سیستم عامل، دیسکهای ذخیرهسازی داده از امکانات این سرویسها میباشد. اغلب مراکز داده چنین سرویسهای را ارائه میدهند که میتوان بر روی کارگزار کنترل کامل داشت. در کل میتوان زیرساخت کامپیوتر و محیط بستری مجازی را مانند یک سرویس ارائه داد.
۳-۱ تداخل کارایی[۵۰]
همانطور که در فصل قبل گفته شد، جداسازی یکی از مهمترین امتیازات فناوری مجازیسازی به شمار میآید. این امتیاز ماشینهای مجازی را قادر میسازد تا در محیطی کاملا مجزا و بدون تاثیرپذیری از ماشینهای مجازی دیگر در حال اجرا بر روی میزبان فیزیکی مشترک، برنامههای کاربردی متفاوتی را اجرا نمایند. تحقیقات نشان میدهد که میزان تاثیر ماشینهای مجازی بر عملکرد یکدیگر، چالشی است که کاهش کارایی ماشینهای مجازی را به همراه خواهد داشت. در ادامه به تحقیقات مرتبط در این زمینه اشاره شده است.