کلیکمایند نرمافزاری برای افزایش بهرهوری و مدیریت محتوا در تیم های کوچک و متوسط، با کمترین هزینه روی بستر ابر است.
دید واضح تری از IaaS ،PaaS و SaaS بدست آورید.
خدمات رایانش ابری چیست؟
به طور کلی اصطلاح «به عنوان سرویس[1]» به خدمات رایانش ابری اطلاق میشود که توسط شخص ثالث ارائه میگردد تا شما بتوانید با آسودگی خاطر بر روی دیگر چیزهایی که برایتان مهمتر هستند نظیر دستورالعملها، روابطتان با مشتری و ... تمرکز کنید. هر یک از انواع رایانش ابری سبب میشوند تا شما در مقام مدیریت با زیرساختهای درون سازمانیِ[2] کمتری سر و کار داشته باشید.
زیرساخت فناوری اطلاعات درون سازمانی، بالاترین سطح مسئولیت را به عنوان یک کاربر و مدیر ایجاد میکند. زمانیکه نرمافزار و سختافزار شما هر دو به صورت درون سازمانی هستند، مدیریت، بهروزرسانی و در صورت نیاز جایگزینی هر جزء به عهدۀ شما و تیم شما خواهد بود. آنچه رایانش ابری اجازه میدهد، تخصیص مدیریت یک، چند یا تمامیِ بخش های زیرساخت شما به شخص ثالث است که سبب می شود تا از بار مسئولیت شما کاسته شود و بتوانید بر روی مسائل دیگری تمرکز کنید.
انواع سرویسهای خدمات ابری
به طور کلی سه نوع عمدۀ سرویسهای رایانش ابری وجود دارند. هر کدام به تنهایی سطوحی از حوزه مدیریتی شما را به صورت زیرساخت به عنوان سرویس (IaaS)، پلتفرم به عنوان سرویس (PaaS)، و نرمافزار به عنوان سرویس (SaaS) پوشش میدهند. در این مقاله، ما تمامیِ مدلها و مزایای آنها و نحوۀ استفادۀ شما از یک یا همۀ سرویسها برای ایجاد محیط رایانش ابری را توضیح میدهیم. همچنین برای هرکدام مثالهایی ارائه میدهیم تا درک این فناوریها کمی آسانتر شود.
- در عکس زیر بهصورت مختصر میتوانید مقایسه بین خدمات ابری و مسئولیت شما در هر بخش را ببینید.
زیرساخت به عنوان سرویس یا IaaS
زیرساخت به عنوان سرویس یا IaaS، نمونهای از زیرساخت درون سازمانیست. یک سرویس پرداختی تحت عنوان پرداخت به اندازۀ مصرف (pay-as-you-go) است که در آن شخص ثالث بر اساس نیازتان، خدمات زیرساختی مانند ذخیره سازی و مجازی سازی را از طریق ابر و اینترنت ارائه می دهد. شما به عنوان یک کاربر تنها مسئول سیستم عامل و یا هرنوع داده، برنامه، میان افزار (نرم افزاری که به عنوان پل ارتباطی بین سیستم عامل یا پایگاه داده و برنامه های کاربردی به خصوص در شبکه، عمل میکند.) و زمان اجرا هستید. اما در این حالت، یک فرد ارائه دهنده وجود دارد که به شما امکان دسترسی و مدیریت شبکه، سرورها، مجازی سازی و فضای ذخیرهسازی مورد نیازتان را میدهد.
شما مجبور نیستید مرکز داده خود را در سایت خود نگهداری کرده و یا بهروزرسانی کنید چراکه ارائهدهنده این کار را برای شما انجام میدهد. در عوض، شما از طریق یک رابط برنامه نویسی کاربردی (API) یا داشبورد به زیرساخت دسترسی پیدا کرده و آن را کنترل میکنید. IaaS این انعطافپذیری را برای شما فراهم میکند تا فقط اجزای مورد نیاز خود را خریداری کرده و در صورت نیاز آنها را اسکیل آپ یا داون (کاهش یا افزایش مقیاس) کنید. کاهش هزینه های اضافی و حذف هزینۀ نگهداری، IaaS را به گزینه ای بسیار مقرون به صرفه تبدیل میکند. یکی از مزیتهای استفاده از IaaS، این است که راهی سریع و انعطافپذیر جهت ساخت، حذف و توسعه محیط های تست ایجاد میکند. در این روش شما تنها قادر هستید تا زمانی که به زیرساختها نیاز دارید، از آنها برای ایجاد محیط توسعۀ خود بهره ببرید و سپس در زمان پایان کارتان می توانید آنرا متوقف کرده و فقط برای آنچه استفاده کرده اید، هزینهای بپردازید.
عیب عمده IaaS
از عمده معایب IaaS میتوان به این موارد اشاره کرد: پیشامد مسائل امنیتی برای ارائه دهنده، سیستمهای چند مستاجری که در آن ارائه دهنده باید منابع زیرساختی را با چندین مشتری به اشتراک بگذارد و قابلیت اطمینان خدمات. با انتخاب یک ارائه دهندۀ قابل اعتماد، امین، با سابقه و دارای حسن شهرت میتوان از وقوع چنین مشکلاتی پیشگیری کرد. از ارائه دهندگان عمومی ابر میتوان به AWS، Microsoft Azure و Google Cloud اشاره کرد که نمونههایی از IaaS هستند.
پلتفرم به عنوان سرویس (PaaS)
پلتفرم به عنوان سرویس گام دیگری از مدیریت زیرساخت کامل و درون سازمانیست. جایی است که در آن ارائه دهنده، سخت افزار و نرم افزار را روی زیرساخت خود میزبانی میکند و این پلتفرم را به عنوان راهحلی یکپارچه، پشته راه حل[3] (مجموعه ای از زیرسیستم های نرم افزاری یا اجزای مورد نیاز برای ایجاد یک پلت فرم کامل است به طوری که برای پشتیبانی از برنامه ها به نرم افزار اضافی نیاز نباشد.) یا سرویس، از طریق اتصال به اینترنت به کاربر ارائه می دهد. PaaS که در درجه اول برای توسعه دهندگان و برنامه نویسان مفید و حائز اهمیت است، به کاربر این امکان را میدهد تا برنامههای خود را بدون نیاز به ساخت و نگهداری زیرساخت یا پلتفرمی که معمولاً با این فرآیند مرتبط است، توسعه داده و اجرا و مدیریت کنند.
در این روش، شما کد مینویسید، برنامههای مختص خود را میسازید و مدیریت میکنید بدونِ آنکه درگیر دردسرهای مربوط به آپدیت کردن نرم افزار یا نگهداری سختافزار شوید؛ چرا که محیط ساخت و راهاندازی برای شما فراهم شده است. PaaS راهی است که توسعهدهندگان میتوانند به کمک آن، چارچوبی برای ساخت و سفارشی سازی برنامه های تحت وب خود ایجاد کنند. توسعهدهندگان میتوانند از built-in software [4] برای ایجاد برنامههای کاربردی خود استفاده کنند که این امر سبب میشود تا از حجم کدی که خودشان باید بنویسند کاسته شود. چند نمونه از PaaS عبارتند از AWS Elastic Beanstalk، Heroku و Red Hat OpenShift.
نرم افزار به عنوان سرویس (SaaS)
نرم افزار به عنوان سرویس که بهعنوان کاربردیترین سرویس ابری شناخته میشود، جامعترین و وسیعترین شکل خدمات رایانش ابری است به این صورت که، برنامۀ کاملی توسط یک ارائهدهنده از طریق مرورگر وب مدیریت شده و ارائه میشود. بهروزرسانیهای نرمافزار، رفع اشکالها و نواقص و نگهداری عمومی نرمافزار کارهایی هستند که توسط ارائهدهنده انجام میشوند و کاربر از طریق داشبورد یا API به برنامه متصل میگردد. در این روش، هیچ گونه نصب نرمافزاری بر روی دستگاههای منحصر به فرد وجود ندارد و دسترسی گروهی به برنامه روانتر و قابل اطمینانتر است. به عنوان مثال، اگر شما یک حساب ایمیل با سرویس تحت وب نظیر Outlook یا Gmail دارید؛ میتوان گفت با شکلی از SaaS آشنا شده اید، چرا که میتوانید وارد حساب خود شوید و از هرکامپیوتری، ایمیل دریافت کنید. SaaS برای مشاغل کوچکی که پرسنل یا پهنای باند کافی جهت نصب و بهروز رسانی نرمافزار ندارند و همچنین برای برنامههایی که نیاز به سفارشیسازی زیادی ندارند یا فقط به صورت دورهای استفاده میشوند، SaaS گزینهای عالی به شمار میرود.
هرچقدر که SaaS باعث شود در زمان و هزینۀ صرفهجویی اتفاق بیافتد، میتواند در حوزۀ کنترل، امنیت و اجرا هزینه بر باشد، بنابراین مهم است که ارائه دهنده ای قابل اطمینان را انتخاب کنید. Dropbox، Salesforce، Google Apps، و چند نمونه از SaaS هستند. اگر مایلید اطلاعات کاملتری در مورد این سرویس به دست بیاورید توصیه میکنیم مقالههایمرتبط با نرمافزار ابری کلیکمایند را مطالعه کنید.
[1] As-a-service [2] on-premise [3] solution stack
[4] در توسعه نرمافزار ساخت فرآیند تبدیل فایلهای کد منبع به مصنوع نرمافزاری عملی مستقل است که میتواند بر روی رایانه اجرا شود، یا نتیجه انجام این کار باشد.
مطلبی دیگر از این انتشارات
مهندسی امنیت نرم افزار
مطلبی دیگر از این انتشارات
آشنایی با RabbitMQ - بخش اول
مطلبی دیگر از این انتشارات
مسابقه Advent Of Code