منظور از “ابر” سرورهایی است که از طریق اینترنت قابل دسترسی هستند؛ این سرور ها بستری برای اجرای نرم افزارها و پایگاه های داده اند. سرورهای ابری در مراکز داده (data center) قرار داده شده اند. با استفاده از پردازش ابری، کاربران و شرکت ها دیگر مجبور نیستند سرورهای فیزیکی را خودشان مدیریت کنند و یا برنامه های نرم افزاری را روی دستگاه های خود اجرا کنند.
Cloud کاربران را قادر میسازد تقریباً از هر دستگاهی به فایل ها و برنامه های خود دسترسی داشته باشند، زیرا محاسبه و ذخیره سازی به جای استفاده محلی و دستگاه کاربر، بر روی سرورهای یک مرکز داده (data center) انجام میشود. به همین دلیل است که یک کاربر میتواند پس از خراب شدن تلفن قدیمی خود، با تلفن جدید وارد حساب اینستاگرام خود شود و همچنان حساب قدیمی خود را با همه عکس ها، فیلم ها و سابقه مکالمات پیدا کند.
پردازش ابری با ارائه دهندگان ایمیل ابری (cloud email) مانند Gmail یا Microsoft Office 365 و با ارائه دهندگان فضای ذخیره سازی ابری (cloud storage) مانند Dropbox یا Google Drive و به همان شیوه کار میکند. در مشاغل، با تغییر در محاسبات ابری برخی از هزینه های IT و هزینه های اضافی حذف میشوند: برای مثال دیگر نیازی به بروز رسانی و نگهداری سرورهای خود ندارند؛ زیرا فروشنده ابری که از آن استفاده میکنند، این کار را انجام میدهد. این امر به ویژه در مشاغل کوچکی که ممکن است نتوانند زیرساخت های داخلی خود را مدیریت کنند تأثیر بسزایی میگذارد و میتوانند نیازهای خود را به صورت مقرون به صرفه از طریق فضای ابری برون سپاری کنند.
همچنین سرورهای Cloud میتواند تجارت های بین المللی را برای شرکت ها آسان کند، زیرا کارکنان و مشتریان میتوانند از هر مکانی به فایل ها و برنامه های مشابه دسترسی داشته باشند.
چرا به این نوع سرورها ابر (Cloud) می گویند؟
ابر (Cloud) در ابتدا با اصطلاح عامیانه “صنعت فناوری (tech industry)” شروع به کار کرد. در روزهای اولیه اینترنت، نمودارهای فنی سرورها و زیرساخت ها، شبکه ای را تشکیل میدادند که اینترنت را به حالت یک ابر نمایش میداد. به همین دلیل واژه ابر به عنوان استعاره ای برای اینترنت استفاده شد، این واژه در گذشته برای نشان دادن شبکه تلفن نیز بکار گرفته میشد. همانطور که به مرور زمان فرایندهای محاسباتی بیشتری به این سرورها و زیرساخت های اینترنت انتقال می یافت، مردم درباره استفاده از “ابر” به عنوان راهی مختصر برای بیان جایی که فرآیندهای محاسباتی در حال انجام بود، صحبت کردند و امروزه Cloud یک اصطلاح گسترده برای این سبک محاسبات است.
پردازش ابری چگونه کار میکند؟
پردازش ابری (Cloud computing) با فناوری به نام “مجازی سازی” اجرا میشود. مجازی سازی امکان ایجاد یک رایانه شبیه سازی شده و دیجیتالی “مجازی” را فراهم میکند که دقیقا مانند یک کامپیوتر فیزیکی با سخت افزار خاص خود رفتار میکند. به چنین کامپیوتری به اصطلاح ماشین مجازی گفته میشود. بسته به شرایط پیاده سازی، معمولا ماشین های مجازی با یکدیگر تعاملی ندارند و فایل ها و برنامه های کاربردی از یک ماشین مجازی، برای سایر ماشین های مجازی دیگر قابل مشاهده نیستند حتی اگر روی یک ماشین فیزیکی یکسان باشند.
ماشین های مجازی همچنین از سخت افزار میزبانشان استفاده مفیدتری نیز میکنند چراکه با اجرای همزمان بسیاری از ماشین های مجازی، یک سرور تبدیل به سرورهای متعدد میشود و یک مرکز داده به مجموعه ای از مراکز داده تبدیل میشود که قادر است به بسیاری از سازمان ها خدمات رسانی کند. بنابراین، ارائه دهندگان خدمات ابری میتوانند با هزینه کم تر خدمات سرورهای خود را به مشتریان بیشتری ارائه دهند.
سرورهای ابری به طور کلی باید همیشه آنلاین و همیشه در دسترس باشند. فروشندگان این سرورها عموماً از خدمات خود در چندین دستگاه و در مناطق مختلف فایل بک آپ تهیه میکنند. کاربران از طریق مرورگر، اینترنت و یا استفاده از یک اپلیکیشن به ابر متصل میشوند (یعنی از طریق بسیاری از شبکه های به هم پیوسته) و صرف نظر از اینکه از چه دستگاهی استفاده میکنند، به خدمات سرورهای Cloud دسترسی دارند.
مدل های اصلی خدمات پردازش ابری چیست؟
Software-as-a-Service (SaaS): به جای اینکه کاربران برنامه ای را روی دستگاه خود نصب کنند، برنامه های SaaS روی سرورهای Cloud میزبانی میشوند و کاربران از طریق اینترنت به آنها دسترسی پیدا میکنند. SaaS مانند اجاره خانه است: صاحبخانه خانه را نگهداری میکند، اما مستأجر بیشتر از آن استفاده میکند انگار مالک آن است. نمونه هایی از برنامه های SaaS عبارتند از Salesforce MailChimp و Slack.
Platform-as-a-Service (PaaS): در این مدل، شرکت ها هزینه برنامه های میزبانی شده را پرداخت نمیکنند. در عوض آنها هزینه های لازم را برای ساخت برنامه های کاربردی خود پرداخت میکنند. فروشندگان PaaS هر چیزی را که برای ساخت یک برنامه ضروری است، از جمله ابزارهای توسعه، زیرساخت و سیستم عامل را از طریق اینترنت ارائه میدهند. PaaS را میتوان به جای اجاره خود خانه با اجاره همه ابزار و تجهیزات مورد نیاز برای ساخت خانه مقایسه کرد. نمونه های PaaS شامل: Heroku و Microsoft Azure هستند.
Infrastructure-as-a-Service (IaaS): در این مدل، شرکت سرورها و ذخیره سازی مورد نیاز خود را از یک ارائه دهنده Cloud اجاره میکند. سپس آنها از زیرساخت ابری برای ساخت برنامه های خود استفاده میکنند. IaaS مانند شرکتی است که زمینی را اجاره میدهد که میتوانند هر چیزی را که میخواهند در آن بسازند، اما باید تجهیزات و مصالح ساختمانی خود را تهیه کنند. ارائه دهندگان IaaS شامل: DigitalOcean ،Google Compute Engine و OpenStack هستند.
قبلاً SaaS ،PaaS و IaaS سه مدل اصلی پردازش ابری بودند و اساساً همه خدمات این سرورها در یکی از این دسته ها قرار میگرفت. با این حال، در سالهای اخیر مدل چهارمی نیز ظاهر شده است:
Function-as-a-Service (FaaS): این مدل به محاسبات بدون سرور نیز معروف است و کاربردش در تقسیم کردن برنامه های ابری به اجزای کوچکتر است که فقط در مواقع مورد نیاز اجرا میشوند. تصور کنید برای اجاره یک خانه: به عنوان مثال، مستاجر هزینه اتاق غذاخوری را هنگام شام، اتاق خواب هنگام خواب، اتاق نشیمن هنگام تماشای تلویزیون و هنگامی که از آن اتاق ها استفاده نمیکند، اجاره ای نمیپردازد.
FaaS یا برنامه های بدون سرور مانند مدل های دیگر پردازش ابری همچنان بر روی سرورها اجرا میشوند. اما آنها به دلیل عدم کار بر روی ماشین های اختصاصی و به دلیل عدم نیاز به مدیریت هیچ سروری، “بدون سرور” نامیده میشوند. به این ترتیب عملکردهای بدون سرور افزایش مییابند زیرا افراد بیشتری از برنامه استفاده میکنند؛ مثلا تصور کنید ناهار خوری مستاجر در صورت تقاضا فقط هنگامی که افراد بیشتری برای شام میآیند، افزایش یابد!
انواع مختلف استقرار ابر (Cloud deployments) چیست؟
برخلاف مدل هایی که در بالا مورد بحث قرار گرفتند و نحوه ارائه خدمات از طریق ابر را نشان دادند، مدل های استقرار ابر که در زیر آمده اند به محل سرورهای ابر و مدیریت آنها مربوط میشوند.
رایج ترین استقرار ابر عبارتند از:
- ابر خصوصی (Private Cloud): می تواند یک سرور، مرکز داده و یا شبکه توزیع شده باشد که کاملاً به یک سازمان خصوصی اختصاص داده شده است.
- ابر عمومی (Public Cloud): سرویسی است که توسط یک فروشنده خارجی اجرا میشود و ممکن است شامل سرورهای یک یا چند مرکز داده باشد. بر خلاف ابر خصوصی، ابرهای عمومی برای چندین سازمان به اشتراک گذاشته میشوند. با استفاده از ماشین های مجازی، ممکن است سرورهای جداگانه توسط شرکت های مختلف به اشتراک گذاشته شوند، وضعیتی که “چندرسانه ای” نامیده میشود، زیرا چندین مستاجر در یک سرور فضای سرور را اجاره میکنند.
- ابر ترکیبی (Hybrid Cloud): در این حالت ابرهای خصوصی و عمومی ترکیب می شوند و حتی ممکن است شامل سرورهای قدیمی داخلی نیز باشد. ممکن است یک سازمان از ابر خصوصی خود برای برخی خدمات و ابر عمومی خود برای برخی سرویس ها استفاده کند، یا ممکن است از ابر عمومی به عنوان پشتیبان برای ابر خصوصی خود استفاده کند.
- چند ابری (Multi-Cloud): نوعی استقرار است که شامل استفاده از چندین ابر عمومی می شود. به عبارت دیگر، یک سازمان با استقرار چند ابر، سرورها و خدمات مجازی را از چندین فروشنده خارجی اجاره میکند (برای ادامه قیاس مورد استفاده در بالا، این مانند اجاره چندین قطعه زمین مجاور از مالکان مختلف است) استقرار چند ابر نیز میتواند ابر ترکیبی باشد و بالعکس.
کانتینر(containers) چیست؟ آیا IaaS ، PaaS ، SaaS یا FaaS نیز کانتینر هستند؟
کانتینرها نیز مانند ماشین های مجازی، یک فناوری مجازی سازی ابری هستند. آنها بخشی از مدل ابر PaaS (Platform-as-a-Service) محسوب میشوند. مجازی سازی برای کانتینرها در سطح سیستم عامل رخ میدهد اما مجازی سازی برای ماشین های مجازی در سطح هسته اتفاق میافتد (هسته پایه سیستم عامل است و با سخت افزار کامپیوتر تعامل دارد). هر ماشین مجازی هسته سیستم عامل خود را دارد، اما کانتینرها روی یک دستگاه، هسته مشابهی دارند.