ابتدا به منظور درک بهتر،اندکی در مورد لایههای این تکنولوژی توضیح داده و سپس به مکانیسم ها میپردازیم.شکل زیر لایه ها را نشان میدهد.
کاربر(Client)
کاربر محاسبات ابری متشکل از سخت افزار و نرم افزاری است که برای تحویل برنامه های کاربردی از ابر استفاده می کند و یا آنکه به طورویژه تنها برای تحویل سرویسهای ابر طراحی شده است که در هر دوی موارد بدون وجود ابر بی استفاده باشد. مثال: رایانه ها ، تلفن ها و سایر دستگاهها، سیستم عامل ها و مرورگرهای وب.
برنامه هایکاربردی(Application)
سرویسهای برنامه کاربردی ابری یا "نرم افزار به عنوانسرویس"(SaaS)، نرام افزار را به صورت سرویس روی اینترنت تحویل می دهند و بدین وسیله نیاز به نصب نرم افزار روی رایانه های مشتریان را ازبین می برند و نگهداری و پشتیبانی را ساده تر می سازد.
ویژگیهای اصلی این سرویسها عبارتند از:
دسترسی و مدیریت نرم افزار تجاری از طریق شبکه
فعالیتها از سوی مراکزی اداره می شوند و نه در مکان هریک از مشتریان، و در نتیجه مشتریان می توانند از راه دور و از طریق وب به برنامه ها دسترسی داشته باشند.
مدل تحویل نرم افزار به مدل یک-به-چند (یک نسخه در حال اجرا از برنامه - مدل چند مستاجری) نزدیک تر است تا مدل یک-به-یک.
به روز رسانی و ارتقای نرم افزار به صورت مرکزی اداره می شود و نیاز به بارگیری (دانلود) وصله ها (Patch) یا ارتقا دهنده ها را برطرف می سازد.
بستر(Platform)
سرویسهای بستر ابری یا "بستر به عنوان سرویس"(PaaS) بستر محاسباتی ویا پشتهٔ راهکار -که اغلب روی زیرساخت ابری اجرا شده و برنامه کاربردی ابری را تغذیه میکند- را به صورت سرویس ارایه میدهد.سرویس بستر ابری استقرار برنامههای کاربردی را بدون هزینه و پیچیدگی خرید و مدیریت لایههای نرمافزاری و سختافزاری زیرین آسان میسازد.
زیرساخت(Infrastructure)
سرویسهای زیرساخت ابری یا "زیر ساخت به عنوان سرویس"(IaaS) زیرساخت رایانهای را که عموما یک بستر مجازی است را به صورت سرویس ارائه میدهند. کاربران به جای خرید سختافزار و نرمافزار و فضای مرکز داده (دیتا سنتر) ویا تجهیزات شبکه، همۀ این زیر ساختها را به صورت یک سرویس کاملا برونسپاری(Outsource) شده میخرند. صورتحساب سرویس معمولا بر اساس مدل محاسبات کاربردی (Utility Computing) و میزان منابع مصرف شده صادر میشود و بنابر این هزینه منعکس کننده میزان فعالیت است. این شیوه در واقع تکامل یافته مدل عرضه سرویس های خصوصی مجازی است.
سرور(Server)
لایه سرورها، متشکل از سخت افزار و نرم افزاری است که مخصوصا برای تحویل سرویسهای ابر طراحی شده اند. به عنوان مثال می توان از پردازنده های چند هسته ای و سیستم عمل های ویژه ابر نام برد..
در واقع،پردازش ابری در واقع استفاده از فناوری اطلاعات به صورت یک سرویس است. این شامل[1]
Software as a Service (SaaS) ارايه نرم افزار به عنوان يك سرويس.
Platform as a service (PaaS) بستر ابري به عنوان يك سرويس.
Infrastructure as a service (IaaS) ارايه زيرساختها به عنوان سرويس.
Hardware as a Service (HaaS) ارايه سخت افزارها بعنوان يك سرويس.
می شود. یعنی همه ی این ها به صورت سرویس کار می کنند. این می تواند استفاده از یک یا چند سرور و اجرای یک نرم افزار مدل سازی ژئوفیزیک باشد که در هر جا قابل دسترس باشد. می تواند استفاده ی اجاره ای از یک سرور مجازی باشد که یک برنامه در آن اجرا کنیم، در صورت لزوم خاموش و روشن کنیم، یا برای شبیه سازی یک بار اضافی ناگهانی آن را به طور کامل کپی کنیم. کاربردی دیگر می تواند ذخیره سازی و ایمن سازی مقدار زیادی داده ها باشد که فقط برای کاربران و برنامه های مشخصی قابل دسترس باشد. در عین حال سازنده ی سیستم ابری می تواند این امکان را برای آن قرار دهد که در واکنش به تغییر بار پردازشی، مقیاس آن را به طور خودکار بزرگتر یا کوچکتر کند.می تواند یک ابر ذخیره سازی برای داده های برنامه ها، تجاری و شخصی باشد. و مثال آخر که می تواند یک مشت وب سرویس باشد برای جمع و جور کردن تصاویر، نقشه ها و اطلاعات جی پی اس برای ایجاد یک سر صفحه در مرورگر یک کاربری در گوشه ای از دنیا[1].
در سیستم محاسبات ابری به میزان قابل توجهی جابه جایی بار پردازش وجود دارد. کامپیوتر های محلی نیازی به اجرای برنامه ها ندارند و در عوض شبکه ی کامپیوتر ها – که ابر را تشکیل داده اند – این کار را انجام می دهد. در این حالت تقاضا برای سخت افزار و نرم افزار از طرف کاربر کاهش می یابد و در واقع این به ابر واگذار می شود. تنها کاری که کامپیوتر های محلی انجام می دهند، یک نرم افزار واسط است که با پردازش مورد نظر ارتباط برقرار کند و آن را انجام دهد. امروزه یک مرورگر وب مانند اینترنت اکسپلورر یا فایرفاکس به عنوان نرم افزار واسط در پردازش ابری استفاده می گردد[1].
حل تک تک موارد را مورد بررسی قرار میدهیم.
نرمافزار به عنوان سرویس (SaaS):
سرویس نرم افزاری یک برنامه ی کاربردی کامل است که به درخواست کاربر ارایه می شود. یک پردازش منفرد از یک نرم افزار در محیط ابر اجرا می شود و به چندین کاربر نهایی، یا سازمان های مشتری سرویس می دهد. مثال های خوبی از این شیوه را می توانید در salesforce.com، Gmail، Google Calendar، Payroll، HR، CRM، Sugram CRM، IBM Lotus Live می توانید ببینید که مثال های دیگری در سرویس های ایمیل یا واژه پرداز های آنلاین وجود دارند[1].
کمپانی های زیر اختصاصا برای تجارت SaaS تأسیس شده اند که در قبال ثبت نام کاربران خود مبلغی را به عنوان شارژ دریافت می کنند و نرم افزار های آن ها در سرور های مرکزی شان نصب شده است و کاربران از طریق اینترنت به برنامه دسترسی پیدا می کنند[1].
این سرویس بنا به درخواست کاربر، به صورتی ارائه می شود که پردازشی مستقل از یک نرم افزار در محیط ابر اجرا می شود و میتواند همزمان به چندین کاربر نهایی سرویسدهی کند. به کمک این سرویس دیگر نیازی به نصب نرمافزار روی رایانهی مشتری نیست و باعث تسهیل در پشتیبانی میشود؛ زیرا نرمافزار تنها روی یک سرویسدهندهی مرکزی نصب شده و توسط آن اداره میشود. جهت بروزرسانی نرمافزار نیز، تنها نرمافزار سرویسدهنده نیاز به ارتقا دارد. بزرگترین مزیت این سرویس، دسترسی دائمی کاربر به نرمافزار در هر نقطه، بهوسیلهی بستر اینترنت است
محاسبات ابری است که از طریق مرورگر، درخواست ها را به هزاران مشتری استفاده کننده از یک معماری چند کاربری انتقال می دهد. تمرکز SaaS روی کاربر نهایی درمقابل خدمات مدیریت شده قرار دارد. دراینجا هیچ هزینۀ سرمایه گذاری برای سرورها یا اخذ مجوز برای نرم افزار به عهدۀ مشتری قرار نمی گیرد. هزینه برای تولید کنندۀ خدمات که تنها مدعی یک محصول است، درمقایسه با مدل قراردادی میزبان بسیار کمتر است.
بطوريكه مصرف كننده مسووليتي در نصب، نگهداري، ارتقاء و رفع ايراد برنامه ها و همچنين زير ساختهاي اجرايي را به عهده ندارد .
بستر به عنوان سرویس(PaaS):
به کمک این سرویس مشتری این امکان را دارد که نرمافزار خریداری شده یا ساخته شده توسط خود را، روی بستر ابری قرار دهد و آن را کنترل و تست کرده یا تغییر دهد. همچنین شرکتهای ارائه دهندهی این سرویس، کیت توسعهی نرمافزار را جهت ایجاد بستر مناسب برای برنامهنویسی در اختیار مشتری قرار میدهند. در این حالت تنها محدودیت مشتری عدم نظارت بر زیرساخت زیرین، شبکه یا سرویشدهندههاست. به وسیلهی این سرویس دیگر نیازی به خریداری سرویسدهندهی اختصاصی و گران قیمت نیست. شرکت گوگل با سرویس App Engine نمونهای از این خدمات را عرضه میکند. همچنین مایکروسافت نیز اخیراً Azure Platform را به عنوان بستری برای محاسبات ابری معرفی کرده است.
این سرویس یک لایه ی نرم افزاری را به صورت بسته ارایه می دهد که می توان از آن برای تولید سرویس های سطح بالاتر استفاده نمود. سرویس پلتفرمی شامل میان افزار، امکانات تجمیع[1] ، تبادل پیغام[2]، اطلاعات[3] و تنظیم اتصال[4] می باشد. یک مثال خوب می تواند موتور تولید نرم افزار Google Apps باشد که امکان اجرای برنامه های کاربردی توسط زیر ساخت گوگل را فراهم می آورد. سرویس های پلتفرمی مانند این می توانند امکانات پایه ای قدرتمندی را برای توسعه ی نرم افزار های کاربردی در اختیار ما قرار بدهند و صد البته این امکاناتی که در اختیار توسعه دهنده قرار می گیرد توسط سرویس دهنده می تواند محدود گردد یعنی مثلا برناه ای که با موتور Google Apps تولید کنیم افسارش در نهایت دست گوگل است و ما نمی توانیم امکاناتی فرا تر از آن چه گوگل در این موتور (بسته) قرار داده است در دسترس کاربر نهایی قرار دهیم.
زیرساخت به عنوان سرویس(IaaS):
سرویس زیر ساختی امکانات ذخیره سازی و پردازشی را به صورت سرویس های استاندارد در شبکه به ما می دهد. سرورها، سیستم های ذخیره سازی، سوئیچ ها، روترها و سیستم های دیگر به صورت مجموعه ای، پردازش های متنوعی از کامپوننت گرفته تا یک برنامه ی کاربردی محاسبات پیچیده را این سرویس با فراهم کردن توان پردازشی، شبکهها، فضای ذخیرهسازی و منابع پایهای محاسباتی، نیاز مشتری را به خرید سختافزار و تجهیزات مختلف شبکه از بین میبرد. بدین صورت کاربر قادر است سیستمعامل یا نرمافزارهای موردنظر خود را در زیرساخت ابر قرار داده، پردازش کرده یا از آنها استفاده کند. باید یادآور شد که در این سرویس کاربر کنترل بیشتری نسبت به زیرساخت دارد.
Hardwear As A Service(HaaS):
Haas، ایدهای برای بهره برداری از توان سختافزاری به صورت سرویس وجود دارد که آن را مشابه Saasشرکت آمازون می دانند، توجه کنید که وب هاستینگهای امروزی که آنها را E2Cمی نامیم مشابه چنین سرویسی هستند.Haasبه آن ، بخشی که تنها به توان ذخیرهسازی (و نه لزوماً پردازشی) محاسبات ابری می باشد اشاره دارد.
مجازی سازی و جادوی Haas & Saasبه کمک محاسبات ابری شکل میگیرد و در چنین حالتی لازم نیست شرکت ها ،موسسات و افراد هزینه تامین سخت افزار و نرم افزار و شبکه را متحمل شوند.
[1] Integration
[2] Messaging
[3] Information
[4] Connectivity setup