این مطلب یکی از مقالات پرونده ویژه «رایانش و خدمات ابری» شماره 205 ماهنامه شبکه است. علاقهمندان میتوانند کل این پرونده ویژه را از روی سایت شبکه دانلود کنند.
محاسبات فارغ از سرور چیست؟
بله باز هم یک عبارت اختصاری دیگر یا Function-as-a-Service، نخستین توضیحی که در مورد آن میتوان داد این است که سرورها بخشی از این فناوری هستند. دوم، این نوع از خدمات بهجای استقرار در محل در محیط ابر ارائه میشود. دلیلی که ما از اصطلاح فارغ از سرور استفاده میکنیم این است که فروشنده ابر تمام برنامهریزیهای ظرفیتی و مدیریت را پشت پرده انجام میدهد. این کار منابع داخلی شما را برای کار روی سایر طرحها آزاد میکند.
تامین کننده خدمات ابر بهطور خودکار منابع سرور شما را بر اساس نوع درخواست شما اضافه، حذف و تنظیم میکند، سپس شما میتوانید کار اصلی خود را انجام دهید. استفاده از این شیوه پرداخت بر اساس نیاز، ضرورت نیاز بهپیش پرداخت برای منابعی از سرور را که ممکن است تا مدتهای طولانی حتی از آن استفاده هم نشود، کاهش میدهد. صرفهجویی در هزینه با استفاده از این شیوه میتواند قابلتوجه باشد.
ورنر وگلس از آمازون میگوید: «قبلا، سرورهای شما مثل حیوانات دستآموز شما بودند، باید همیشه از آنها مراقبت میکردید و اگر مریض میشدند مجبور بودید که آنها را مداوا کنید تا دوباره سلامتی خود را به دست بیاورند. بعد با آمدن ابر آنها به شکل گله درآمدند، شما آنها را رها میکردید تا خودشان به چراگاه بروند و به این شكل وظیفه شما در نگهداری از آنها کمتر میشود. در محاسبات فارغ از سرور دیگر گلهای وجود ندارد، تنها کاربرد آنها است که برای شما باقی میماند. دیگر شما نه نگران سلامتی و مراقبت از آنها هستید و نه نیاز دارید به فکر اضافه و کم کردن آنها باشید. تمام مراقبتهای لازم از قبل انجامشده است.»
چنین شیوهای چگونه کار میکند؟
اگرچه محاسبات فارغ از سرور هنوز مراحل ابتدایی خود را پشت سر میگذارد، بهوضوح میتوان مشاهده کرد کارهایی از جمله پردازش دادهها، اینترنت اشیا، روباتهای شناختی، زیرساختهای موبایل و API های REST به این شیوه انجام میشود.
بهعنوان نمونه و در موارد کاربرد اینترنت اشیا موضوع تنها مصرف داده نیست، بلکه باید به روش بهرهبرداری درست از آن نیز توجه شود. این به آن معنا است که شما باید بتوانيد در نحوه پیادهسازی مصارف خود انعطافپذیر بوده و اطمینان حاصل کنید که اگر یک ویژگی جدید معرفی شد، برنامه شما را با اختلال مواجه نمیکند. اینجا همان جایی است که محاسبات فارغ از سرور میتواند راهگشا باشد.
فرض کنید، یخچالی دارید که بهطور مرتب شما را از وضعیت قطعات خودآگاه میسازد. زمانی که فیلتر آب این یخچال در حال خراب شدن است (مثلا 20 درصد از چرخه کاری آن باقیمانده است) یک پیغام به شما ارسال میشود و این امکان در اختیار شما قرار میگیرد که از طریق تلفن هوشمند خود یک فیلتر جدید سفارش دهید. چنین عملکردی نیازمند جمع آوری دادههای مختلفی از جمله اطلاعات مربوط به مصرفکننده و خدمات دهنده است. محاسبات فارغ از سرور میتواند در زمینه ترکیب و تجربه و تحلیل سریع این اطلاعات و پاسخ به آن مفید باشد.
ما یک رویداد (در اینجا فیلتر خراب) داریم که به سطح زیرین محاسبات که در اینجا سرورهای ابر هستند، ارسال میشود. میتوانیم با دریافت این رویداد و فراخوانی یک تابع محاسبات فارغ از سرور یک جستوجوی ساده انجام دهيم. آیا این مشتری مشمول خدمات پس از فروش میشود؟ آیا این نوع فیلتر آب در فهرست خدمات پس از فروش قرار دارد؟ با استفاده از زیرساختهای محاسبات فارغ از سرور میتوانید این نوع از رویدادهای اینترنت اشیا را بهسرعت مدیریت کنید.
کار در یک محیط فارغ از سرور به کمی تغییرات نیاز دارد تا شما بتوانید برنامههای خود را روی این پلتفرم خدمترسانی جدید پیادهسازی کنید؛ بنابراین بهترین مکان برای استقرار اولیه این فناوری استفاده از آن برای کاربردهای جدید است. برای اینکه بتوانید از اپلیکیشنهای سازمانی فعلی خود استفاده کنید باید آنها را اصلاح کنید. مثل هر فناوری جدید دیگری باید کار را کوچک و ساده آغاز کنید تا بهمرور از تمام مزایا برخوردار شوید.
بزرگترین فعالان این حوزه آمازون، گوگل و مایکروسافت هستند. خدمات وب AWS Lambda آمازون و Azure Functions مایکروسافت از بهترین نمونهها در زمینه بهکارگیری خدمات محاسبات فارغ از سرور هستند و هر دو نیز چند سالی است که مشغول فعالیت هستند. وقتی قرارداد خود را با یکی از این خدماتدهندگان منعقد کردید، بهمحض اینکه به یکی از کاربردهای محاسبات بدون سرور نیاز پیدا کردید، این کار بهطور خودکار و معمولا ظرف چند ثانیه انجام میشود.
مزایا
مدیر امور مالی شما از این فناوری خرسند خواهد شد. محاسبات فارغ از سرور میتواند به میزان قابلملاحظهای هزینههای اجرایی شما را پایین بیاورد. با استفاده از فناوری موجود در محل، شما نیاز دارید که منابع عظیمی را برای سختافزار، نرمافزار، پشتیبانی و منابع انسانی صرف کنید. در یک محیط ابری (زیرساخت بهعنوان یک سرویس یا IAAS) این نوع از هزینهها تا حد زیادی کاهش مییابد زیرا شما اساسا زیرساخت خود را از خدماتدهنده ابر اجاره میکنید. شما همچنان باید مشخص کنید، به چه منابعی و چه مقدار از آن نیاز دارید. این قابلیت گسترشپذیری یکی از مزایای اصلی استفاده از محیط فارغ از سرور است. برای یک کاربرد خاص دیگر فرقی نمیکند که شما 1000 کاربر داشته باشید یا 10 میلیون کاربر، این توانایی گسترشپذیری به شما آزادی عمل میدهد تا بر اساس نیازهای سازمان خود سطح دریافت خدمات را تعیین کنید.
محاسبات فارغ از سرور با فراهم کردن مزایای استفاده از منابع و پلتفرم کلاود سطح بعدی از این مدل خدمات را در اختیار شما میگذارند، آن هم به شیوه پرداخت در ازای چیزی که استفاده میکنید. با این مدل شما دیگر با خطر کمبود یا بیشتر از حد موردنیاز منابع ابر در آغاز راه مواجه نخواهید شد. یکی دیگر از جنبههای آن صرفهجویی در زمینه عملیات فردی است. وقتی وظیفه نصب، پیکربندی و تقویت توان عملیاتی سرور را خدماتدهنده ابر بر عهده میگیرد، شما میتوانید منابع داخلی خود را به سمت فعالیتهای
ارزش افزوده سوق دهید. گروه توسعه شما نیز از مزایا و صرفهجویی منابع بهرهمند خواهند شد. توسعهدهندگان شما بهجای نگرانی در مورد منابع سختافزاری میتوانند روی قابلیتهای کدنویسی خود تمرکز کنند. به این شکل میتوان طی مدتزمان کمتر به محصولات باکیفیتتری دست یافت، با سرعت بیشتری وارد بازار شد و در نهایت راندمان کار را افزایش داد.
معایب
برای کاربردهای طولانیمدت در این محیط وضعیت عملکرد ممکن است تحت تاثیر قرار بگیرد. دلیل آن هم این است که با محاسبات فارغ از سرور زمان تاخیر بیشتر است.
عیبیابی اپلیکیشنهای شما در این محیط میتواند سختتر باشد. و همین امر هزینههای توسعه شما را افزایش داده و بار مسئولیت توسعهدهندگان شما را اضافه میکند. هر چند ما معتقدیم که مزایای این فناوری از چنین معایبی بیشتر است. باوجوداینکه اپلیکیشنهای جديد بهخوبی با محاسبات فارغ از سرور هماهنگ میشوند، اما اپلیکیشنهای قدیمی اغلب با این تغییر پلتفرم به مشکل برخورد میکنند و انتقال این اپلیکیشنهای قدیمی به محیط فارغ از سرور میتواند بیشتر از آنچه سازمانها انتظار آن را دارند کار داشته باشد. به دلیل اینکه محاسبات فارغ از سرور از تمام زبانهای برنامهنویسی پشتیبانی نمیکنند. حتی اگر از زبانها نیز پشتیبانی شود به تلاش زیادی نیاز است تا بتوان یک اپلیکیشن را بهگونهای اصلاح کرد که بتواند بهدرستی از مزایای خدمات محاسبات فارغ از سرور بهرهمند شود. این بازنويسی و بازنگری به معنای آن است که باید مجموعه جدیدی از توابع و عملگرها به اپلیکیشن اضافه شود که اساسا به معنای توسعه دوباره این اپلیکیشن است.
گزارشهایی مبنی بر مشکلاتی در ارتباط با API های ثالث وجود داشته و آن هم بهاینعلت است که با توجه به اینکه راهاندازی چنین مدلهایی نسبتا جدید است، همه فروشندگان پیشرفتهای لازم را برای اطمینان از درست کار کردن محصولاتشان در این پلتفرم انجام ندادهاند.
توسعهدهندگان و کارکنان اجرایی شما بهمنظور آشنایی با نحوه کار، چگونگی پیادهسازی و راهکارهای حفظ یک محیط بهینه باید مهارتهای لازم این پلتفرم را آموزش ببینند. بله ممکن است انجام چنین کاری هزینهبر باشد، اما نتیجه کلی آن اثرات مفیدتری در پی خواهد داشت.
نتیجهگیری
محاسبات فارغ از سرور نهتنها پتانسيل فوقالعادهای برای عملیات و زیرساخت دارد، بلکه صرفهجویی در هزینهها و منابع تا اندازهای است که حرکت به این سمت را کاملا توجیه میکند. البته قبل از انتقال به این فناوری این نکته را در نظر داشته باشید كه همه نوع بار کاری نیز برای این نوع معماری مناسب نیست. توصیه کارشناسان این حوزه این است که در ابتدا باید با محصولاتی که دوام کمتری دارند آغاز کنید و ببینید عملکرد آن در چه سطحی است. بعد از کسب نتیجه مثبت شما قادر خواهید بود از مزایای بالقوه این فناوری در سطوح فراگيرتر و بزرگتر استفاده کنید.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟