سرور ابری، یک سرور مجازی است که در فضای ابری (Cloud) روی زیرساختهای یک ارائهدهنده خدمات ابری اجرا میشود. در گذشته، سازمانها مجبور بودند سرورهای فیزیکی مخصوص خود را خریداری و نگهداری کنند. از این سرورها همچنین برای اجرا برنامهها و بارهای محاسباتی موردنیاز برای پردازش دادهها و تحلیلها استفاده میشد که در محل سازمان یا در مراکز داده (Data center) نزدیک قرار داشتند. امروزه سازمانها میتوانند بهسرعت سرورهای ابری مجازی را در هر نقطه از جهان راهاندازی کنند، به این شکل که این فضاهای مجازی بر روی سرورهای فیزیکی اجرا میشوند که ارائهدهندگان واسط آن ها را خریداری و نگهداری می کنند. سرور ابری یا همان نسخه مجازی از سرور فیزیکی، عملکرد، گزینههای پیکربندی و قابلیتهای استفادهای شبیه یک سرور فیزیکی ارائه میدهد. درنتیجه، کاربر میتواند به تعداد نامحدودی سرور ابری با صدها نوع پیکربندی مختلف دسترسی داشته باشد. با این امکان، میتوان انواع برنامهها و بارهای کاری را در فضای ابر، اجرا کرد.
مزایای سرورهای ابری
سرورهای ابری بخش مهمی از محاسبات ابری هستند و نیاز به خرید، اجرا و مدیریت سرورهای فیزیکی را از بین میبرند. کاربر میتواند بهطور انحصاری از آنها استفاده کند یا آنها را با زیرساختهای سرور موجود ترکیب نماید؛ بنابراین، راهاندازی سرورها در فضای ابر هیچگاه به این آسانی و با این درجه از قابلیت تنظیم نبوده است و امروز انواع مختلفی از سرورهای ابری برای استفاده تجاری و شخصی در دسترس است.
- گزینههای انعطافپذیر
با سرورهای ابری، تقریباً میتوان هر نوع ساختار سرور را بدون توجه به سختافزار زیرساختی، راهاندازی کرد. این بدان معنی است که میتوان سرورهای ابری را براساس اولویتهایی مانند قابلیتهای گرافیکی، بارهای کاری مرتبط با یادگیری ماشین (ML) یا قابلیتهای شبکه انتخاب نمود. دستیابی به اهداف انطباقی نیز آسان است زیرا میتوان منطقه جغرافیایی سرور ابری و حتی منطقه خاص آن را در محیط محاسبه ابری انتخاب کرد.
- مدیریت صرفهجویانه
سرمایهگذاری در سرورهای فیزیکی در گذشته هزینهبر بوده و به برنامهریزی بلندمدت نیاز داشت، طوری که خرید یک سرور فیزیکی به معنای سرمایهگذاری طولانی بود. امروز میتوان یک سرور ابری را با هزینهای بسیار کمتر و بهصورت پرداخت بر مبنای ثانیه اجاره کرد و این امکان فراهم میشود که تعداد زیادی سرور ابری را در هر زمان معین و بدون نیاز به قراردادهای بلندمدت، برای انواع مختلف بارهای کاری اجاره نمود.
از طرفی، سرورهای ابری به هزینههای مداوم نگهداری نیازی ندارند و ارائهدهنده سرویس ابری میتواند از جنبههای مختلف مدیریتی، مانند سیستمعامل، پیکربندیها و بهروزرسانیهای امنیتی مراقبت کند و نیاز به مدیریت داخلی نداشته باشد. علاوه بر این، سرورهای ابری، چون در نرمافزار تعریف شدهاند، با گذشت زمان فرسوده نمیشوند. این موضوع همچنین از هزینه انفصال که درصورت خرید و از کار انداختن سرورهای سختافزاری وجود دارد، جلوگیری میکند.
- تأمین مقیاسپذیری
سرورهای ابری اغلب مقیاسپذیر هستند و اگر کاربر فضا یا توان کافی در یک سرور را نداشته باشد، میتواند نوع سرور یا تعداد آنها را بهشکل خودکار افزایش دهد. این تنظیم همچنین برای بارهای کاری بزرگتر صورت میگیرد، به گونهای که میتوان اینکار را برعکس انجام داده و بهطور خودکار مقیاس سرورها را برای بارهای کاری کوچکتر کاهش داد. علاوه بر این، سرورهای ابری مکانیسمهایی برای تضمین دسترسی بالا مانند توازن بار پیشرفته و تغییرات خودکار به مسیرهای جایگزین در صورت خرابی، دارند.
موارد استفاده از سرور ابری
کاربر قادر است از سرور ابری برای اجرا انواع بارهای کاری استفاده کند. برخی از این مثالها عبارت هستند از:
- نرمافزارهای سازمانی، مانند سیستمهای مدیریت منابع انسانی (HR) و مدیریت ارتباط با مشتری (CRM)،
- اپلیکیشنهای کاربردی مشتری، مانند برنامههای موبایل و مدیریت اسناد،
- پردازش گرافیک با وضوح بالا، مانند پخش ویدئو و بازیها،
- برنامههای مدلسازی علمی،
- پایگاه داده که ازطریق درخواستهای ورودی پردازش میشوند،
- برنامههای وب و وبسایتها که ازطریق سرورهای وب اختصاصی ارتباطات HTTP را اجرا میکنند
- بارهای کاری یادگیری ماشین (ML) در راستا آموزش مدلهای ML که به قدرت محاسباتی زیادی نیاز دارند
همچنین، سرور ابری، انعطافپذیری و مقیاسپذیری لازم را برای تمامی برنامههای مدرن فراهم میکند، درنتیجه کاربر میتواند از آن برای هوش مصنوعی، میکروسرویسها (Microservice)، تحلیلها و پخش آنلاین (استریم) استفاده کند.
طرز کار سرور ابری
یک سرور بدون سیستمعامل (سرور فیزیکی)، یک ماشین جعبهای شکل با مدارها، چیپها، حافظه، فضای ذخیرهسازی و پردازنده است. این نوع سرور، فضای فیزیکی اشغال میکند و برای کارکردن نیاز به برق دارد. در مقابل سرور ابری، ماشین مجازی (VM) فقط یک نرمافزار است که مثل یک ماشین فیزیکی رفتار میکند. از سوی دیگر سرور ابری در قالب یک سرور فیزیکی به هر دستگاه یا سیستم ارتباطی دیگر وصل میشود. سازمانها نیز ماشینهای مجازی را بر روی سرورهای فیزیکی خود اجرا میکنند. بااینحال، سرورهای ابری به VMهایی گفته میشود که به وسیله یک ارائهدهنده ابری، ایجاد و مدیریت میشوند. ارائهدهنده ابری مالک و مدیر سختافزار و زیرساخت است. علاوه بر این، بسیاری از محاسبات ابری، ازجمله سرورهای ابری و سایر خدمات ارائهشده توسط ارائهدهندگان خدمات ابری، بر پایه مجازیسازی (Virtualization) ساخته شده است.
مجازیسازی
مجازیسازی، فرایند ایجاد و اجرا یک نمونه مجازی از یک منبع واقعی فناوری اطلاعات است. در همین حال، چندین سرور مجازی میتوانند بر روی یک ماشین فیزیکی مشابه به اجرا درآیند و منابع محاسباتی زیرساختی را به اشتراک بگذارند. ذکر این نکته ضروری است که با مجازیسازی، نیازی نیست تا کل سختافزار را در اختیار یک سیستمعامل و محیط پیکربندی خاص قرار دهید، بلکه میتوان سیستمعاملها، بارهای کاری و برنامههای مختلف را در محیطهای مجازی کاملاً ایزوله اجرا کرد. سرورهای مجازی ایزوله نیز به کاربر کمک میکنند تا منابع را بهتر به اشتراک بگذارند و این گزینه معمولا برای کسبوکارها مقرونبهصرفهتر است.
تخصیص منابع
از سوی دیگر، با تخصیص منابع سرور ابری، میتوان منابع محاسباتی را به یک محیط ابری اختصاص داده و پیکربندی کرد تا ماشینهای مجازی را پیادهسازی نمود. به علاوه اینکه میتوان سرورهای ابری را با استفاده از رابطهای برنامهنویسی کاربردی (API) تخصیص داد. در همین راستا، این APIها به فرد اجازه میدهند تا سرورهای ابری خود را از راه دور، ایجاد، پیکربندی، حذف و مدیریت کنند. این فرایند، معمولاً با مشخصکردن ویژگیهای سرور موردنظر مانند CPU، حافظه (مموری)، فضای ذخیرهسازی و قابلیتهای شبکه آغاز میشود. کاربر همچنین میتواند سیستمعامل و نرمافزارهای از پیش نصبشده را مشخص کند.
گفتنی است که پس از تعریف پارامترها، ابزارهای خودکار در پلتفرم ابری، سرورهای ابری را ایجاد میکنند، آنها را با منابع مناسب پیوند میدهند و تنظیمات شبکه و امنیت را پیکربندی میکنند و امکان استقرار سریع و مقیاسپذیر قدرت محاسباتی را متناسب با نیازهای خاص فراهم میکند. از طرف دیگر، سرورهای ابری معمولاً با سیستمعامل مبتنی بر لینوکس (Linux) که از پیش نصبشده است، ارائه میشوند؛ بنابراین، انتخاب نوع مناسب سرور بستگی به نوع وظیفه دارد، به شکلی که برخی از انواع سرورها و پیکربندیها برای بارهای کاری خاص بهتر عمل میکنند.
انواع سرورهای ابری
سرورهای ابری را با توجه به پیکربندی و نحوه اتصال به زیرساخت فیزیکی سرور دستهبندی میکنند.
پیکربندی
دراین راستا، کاربر میتواند از میان انواع سرورهای ابری از پیش پیکربندیشده برای موارد استفاده مختلف، دست به انتخاب زند که در ادامه برخی از آنها معرفی شده اند:
- کاربرد عمومی: این نمونهها نسبت متعادلی از CPU، مموری و فضای ذخیرهسازی را ارائه میدهند و برای کاربردهای متنوعی مانند سرورهای وب و دیتابیسهای کوچک تا متوسط مناسب هستند. بهینهشده برای محاسبات: این مدلها برای بارهای کاری سنگین که بر CPU تأثیر میگذارند، طراحی شده و نسبت بالایی از هستههای CPU به حافظه را دراختیار دارند. همچنین، این نمونهها برای کاربردهای محاسباتی مانند پردازش دستهای و مدلسازی علمی ایدهآل هستند.
- بهینهشده برای مموری: نمونههای این بخش، حافظه زیادی نسبت به هستههای CPU ارائه میدهند و برای برنامههایی که به مجموعههای داده بزرگ در حافظه نیاز دارند، مانند دیتابیسهای درون-حافظه و پلتفرمهای تحلیل دادههای بزرگ، مناسب هستند.
- محاسبات شتابیافته: این نمونهها مجهز به شتابدهندههای سختافزاری مانند پردازندههای گرافیکی (GPU) یا مدارهای قابلبرنامهریزی (FPGA) هستند و برای وظایف تخصصی مانند ML، رندر گرافیکی و شبیهسازی علمی بهینهسازی شدهاند.
- ذخیرهسازی بهینه: این نمونه از سرورهای ابری توان بالایی در انتقال داده از دیسک دارند و برای بارهای کاری که نیاز به دسترسی سریع به حجم زیادی از دادهها دارند، مانند تحلیل دادههای بزرگ و انبارهای داده مناسب هستند.
- محاسبات با عملکرد بالا (HPC): نمونههای این قسمت نیز برای بارهای کاری محاسباتی شدید که نیاز به عملکرد بالا و تأخیر پایین در شبکه دارند و همچنین برای وظایفی مانند شبیهسازی دینامیک سیالات، تحلیلهای زلزله و سایر محاسبات علمی، سفارشیسازی شده و مناسب هستند.
نوع میزبانی (Hosting)
سرورهای ابری را میتوان براساس نوع میزبانی و پلن نیز دستهبندی کرد، به این شکل که همه سرورهای ابری فقط توسط یک حساب کاربری استفاده میشوند، اما زیرساخت آنها بین میزبانی مشترک و اختصاصی، متفاوت است.
- میزبانی اشتراکی: در یک محیط میزبانی اشتراکی، چندین سرور ابری، منابع یک سرور فیزیکی زیرساختی را به اشتراک میگذارند و بارهای کاری بالا در یک سرور ابری ممکن است بر عملکرد سایر سرورها تأثیر بگذارد.
- میزبانی سرور مجازی خصوصی (VPS): این نوع سرور، سروری است که در همان سرور فیزیکی با سایر سرورها به اجرا درمیآید اما بخش خاصی از منابع سرور به آن اختصاص یافته است. بارهای کاری بالا نیز در سایر سرورها بر عملکرد VPS تأثیری ندارد.
- میزبانی اختصاصی: میزبانی اختصاصی، یک سرور فیزیکی کامل را به یک سازمان ارائه میدهد و سازمان میتواند این ماشین فیزیکی را بهعنوان یک سرور ابری واحد یا متشکل از چند سرور، تنظیم کند و در محیطی که سرورها را بهروی آن اجراء میکند، کاملا کنترل کند. در برخی مناطق، میزبانی اشتراکی با نام سرورهای ابری عمومی و میزبانی اختصاصی با نام سرورهای ابری خصوصی شناخته میشود. با این وجود، تمام سرورهای ابری خصوصی هستند و تفاوت در آن است که میزبانی اختصاصی، سرورها را در سطح سختافزاری ایزوله میکند. این در حالی است که سرورهای ابری عمومی در سطح نرمافزار ایزوله میشوند.