1-1. معماری پردازش ابری
سرویس های ارائه شده در محاسبات ابری به انواع مختلفی تقسیم بندی می شوند، سه مدل اصلی تحویل سرویس در محاسبات ابری عبارتند از: نرمافزار ابری به عنوان سرویس (SaaS)[1]، بستر ابری (پلت فرم) به عنوان سرویس (PaaS)[2] و زیرساخت ابری به عنوان سرویس (IaaS)[3].[4]
فاستر و ديگران، يک معماري چهار لايهاي عمومی براي ابر پیشنهاد کردهاند که از چهار لايهي 1) منابع و زيرساختهاي فيزيکي، 2) منابع يکدست (يکپارچه)، 3) بستر یا پلت فرم و 4) برنامهي کاربردي تشکيل شده است. شکل این معماری عمومی را نمایش میدهد.[7]
شکل1- یک معماری عمومی برای ابر
همانطور که در شکل دیده میشود معماری ابر بسیار مشابه با انواع سرویسهایی است که ابر میتواند ارائه دهد. لايهي منابع فيزيکي، شامل منابع سطح سخت افزاري خام مانند منابع محاسباتي، ذخيرهسازي و شبکه ميباشد. لايهي منابع يکدست، شامل منابعي ميباشد که انتزاعي شدهاند (معمولا به وسيلهي مجازيسازي) به گونهاي که آنها ميتوانند به صورت منابع يکپارچه، به عنوان مثال يک کامپيوتر يا کلاستر مجازي، يک سيستم فايل منطقي و یا يک سيستم پايگاه داده در اختيار لايههاي بالاتر يا کاربر نهايي قرار گيرند. لايهي پلتفرم يک مجموعه از ابزارهاي ويژه، ميان افزار و سرويسها را بر روي منابع يکپارچه، براي فراهم آوردن يک بستر توليد و استقرار نرم افزار، اضافه ميکند. به عنوان مثال، يک محيط ميزباني وب و یا يک سرويس زمانبندي. در نهايت لايهي برنامهي کاربردي، برنامههايي را که ميتوانند در ابر اجرا شوند را دربرميگيرد که در بخش قبل به تعدادی از آنها اشاره شد.توجه داشته باشید که لزومی ندارد که در یک ابر تمامی لایههای شکل 2 پیادهسازی گردند. به عنوان مثال، EC2آمازون نیازی ندارد که لایهی بستر و برنامهی کاربردی را پیادهسازی کند زیرا سرویسی که ارائه میدهد در لایهی منابع یکدست قرار میگیرد. در واقع، کاربران EC2اغلب تولید کنندگان نرم افزار میباشند که در عمل لایههای بالاتر را آنها طراحی و تولید مینمایند.
1-1-1. نرمافزار به عنوان سرویس (SaaS):
سرویس نرم افزاری یک برنامه ی کاربردی کامل است که به درخواست کاربر ارایه می شود. این سرویس ها یک محیط عملیاتی را برای کاربران ایجاد می کنند و نرم افزار را به صورت سرویس بر روی اینترنت از طریق یک واسط (مرورگرها) تحویل می دهند. به کمک این سرویس دیگر نیازی به نصب نرمافزار روی رایانهی مشتری نیست و باعث تسهیل در پشتیبانی میشود؛ بزرگترین مزیت این سرویس، دسترسی دائمی کاربر به نرمافزار در هر نقطه، بهوسیلهی بستر اینترنت است. [8]
1-1-2. بستر به عنوان سرویس(PaaS):
این سرویس یک لایه نرم افزاری را به صورت بسته ارائه می دهد که می توان از آن برای تولید سرویس های سطح بالاتر استفاده نمود.این سرویس ماشین های مجازی، سرویس ها ، سیستم عامل ها و برنامه ها را فراهم می کنند.به کمک این سرویس مشتری این امکان را دارد که نرمافزار خریداری شده یا ساخته شده توسط خود را، روی بستر ابری قرار دهد و آن را کنترل و تست کرده یا تغییر دهد. [8]
1-1-3. زیرساخت به عنوان سرویس(IaaS):
سرویس زیر ساختی امکانات ذخیره سازی و پردازشی را به صورت سرویس های استاندارد در شبکه به ما می دهد.تکامل یافته مدل عرضه سرورهای خصوصی مجازی است. زیر ساخت به عنوان سرویس سرورها، سوئیچ ها، روترها،فضای ذخیره سازی مجازی و ماشین مجازی را به عنوان منابع برای کاربران فراهم میکند. [8]
1-1-4. سخت افزارها بعنوان يك سرويس(HaaS) :
Haas، ایدهای برای بهره برداری از توان سختافزاری به صورت سرویس وجود دارد که آن را مشابه Saasشرکت آمازون می دانند، توجه کنید که وب هاستینگهای امروزی مشابه چنین سرویسی هستند.