منظور از Function as a Service یا همان FaaS اجرای بخشی از کد Backend به صورت On The Fly و Serverless است.
ممکن است برای شما پیش آمده باشد که بخشی از کد شما Resource زیادی مصرف کند و Bottleneck سرویس شما همین تیکه کدی باشد که مصرف زیادی دارد. اگر سرویس شما در مقیاس بزرگ درحال استفاده است یکی از بهترین کارها این است که این تیکه کد را به صورت FaaS اجرا کنید. ارائه دهندههای مختلفی برای FaaS وجود دارد که از بهترین آنها میتوان به Amazon Lambda، Google Cloud Functions، Microsoft Azure Functions، IBM Cloud Functions و Oracle Cloud Fn اشاره کرد.
مزایای استفاده از FaaS چیست؟
-
افزایش سرعت دولوپرها:
زمانی که از روش FaaS استفاده میکنیم، دیگه درگیر دیپلوی کردن و مسائل مرتبط با سرورها نیستیم و وقت بیشتری دولوپ داریم.
-
اسکیل شدن خودکار:
باافزایش ترافیک و نیاز به ریسورس بیشتر، این اسکیل شدن به صورت خودکار توسط ارائه دهنده سرویس انجام میگیرد و نیاز نیست ما کار خاصی انجام دهیم.
-
کاهش هزینه:
با استفاده از Function as a Service برای سرویسهایی که مصرف ریسورس بالایی دارند، صرفا برای اون بخش از کد که مصرف بالایی دارد هزینه پرداخت میکنیم نه کل سرویس.
معایب استفاده از FaaS چیست؟
-
کنترل کمتر بر سیستم:
چون از یک Third-Party برای اجرای کد خود استفاده میکنیم، کنترل کمتری برروی نحوه اجرای آن و دیباگینگ خواهیم داشت.
-
پیچیدگی بیشتر برای تست گرفتن:
یکی از معایب استفاده از FaaS این است که عموما پیچیدگی بیشتری برای تست گرفتن داریم.