Function as a Service (FaaS)
Function as a Service (FaaS) مدلی در Cloud Computing است که پلتفرمی برای اجرای Functionهایی فراهم میکند که با Event تحریک میشوند و امکان Scale خودکار بدون مداخله دستی را مهیا میسازد. در اصل، FaaS اجازه میدهد Functionهای منفردی استقرار یابند که با Eventهای مشخص فعال میشوند، برای مدت کوتاهی اجرا میشوند و سپس متوقف میشوند تا از هدررفت منابع جلوگیری شود. این مدل از قابلیت Autoscaling پشتیبانی میکند؛ یعنی به ازای هر درخواست یک Instance از Function راهاندازی و پس از اتمام اجرا خاتمه مییابد و ماهیت Stateless آن را برجسته میکند. در نتیجه، پلتفرمهای FaaS میتوانند مدل پرداخت Pay-as-you-go واقعی را پیاده کنند و زمانی که Functionها غیرفعال هستند هزینهای دریافت نمیشود؛ موضوعی که آن را از مدلهایی مانند Platform as a Service (PaaS) ـ که نیاز به در دسترس بودن مداوم منابع دارند ـ متمایز میکند.
مسئلهای که حل میکند
بهطور سنتی، کسبوکارها به نگهداری مرکز داده On-Premise متکی بودهاند که سرمایهگذاری قابل توجهی در سختافزار، نرمافزار و نیروی انسانی میطلبد. این setup ایجاب میکند منابع تا سطح اوج تقاضا مقیاس یابد و همین باعث میشود داراییها در زمانهای کمبار بلااستفاده بمانند. علاوه بر این، رشد سریع کسبوکار میتواند توان IT را تحت فشار قرار دهد و ناکارآمدی عملیاتی ایجاد کند. در مقابل، مدلهای Infrastructure-as-a-Service (IaaS) هرچند راهکار Cloud ارائه میکنند، هنوز مسئولیت Scale منابع را بر عهده کاربر میگذارند و کاربر باید صرفنظر از میزان استفاده، برای در دسترس بودن مداوم سرور هزینه بپردازد.
چگونه کمک میکند
FaaS برای توسعهدهندگان Abstractionی فراهم میکند تا Applicationهای وب را در پاسخ به Event اجرا کنند، بدون اینکه نیاز به مدیریت زیرساخت Server داشته باشند. برای مثال، عملیاتی مانند Upload یک فایل میتواند کد سفارشیای را فعال کند که فایل را به قالبهای مختلف Transcode میکند. زیرساخت FaaS منابع را بهطور خودکار با تقاضا هماهنگ میکند و توسعهدهندگان را از پیچیدگیهای کدنویسی برای Scalability آزاد میکند. هزینه فقط برای مدت زمان محاسبه اعمال میشود و زمانی که Functionها غیرفعالاند، هزینهای در کار نیست.
برای اطلاعات بیشتر به مدخل Serverless مراجعه کنید. هرچند «Serverless» و «FaaS» اغلب بهصورت مترادف بهکار میروند، این دو مفهوم متمایز هستند.
بازخورد شما
آیا این متن مفید بود؟
Thank you! Please let us know if you have any suggestions.
Thanks for your feedback. Please tell us how we can improve.