FaaS چیست؟
FaaS که کوتاه شده عبارت Function-as-a-service است، یک دسته بندی از سرویسهای کلاد است که پلتفرمی را برای برنامه نویسان، جهت ساخت، اجرا و مدیریت توابع برنامههایشان، بدون پیچیدگیهای موجود در ساخت و نگهداری زیرساختها مانند سرور و منابع آن، فراهم میکند. مزیت بزرگ این سرویس در این است که تنها میبایست برای مدت زمانی که از آن استفاده میکنید شارژ پرداخت کنید و نیازی به پرداخت شارژ بر مبنای میزان پهنای باند یا تعداد سرورهای استفاده شده نیست.
به عبارت بهتر این سرویس به برنامه نویسان امکان میدهد که بدون ساختن هیچگونه زیرساختی، پکیجهای نرم افزاری خود را بهصورت function، اجرا کنند. یک تابع قسمتی از یک نرم افزار است و یک نرم افزار میتواند تابعهای زیادی داشته باشد.
سرویس FaaS راهی برای پیاده سازی معماری Serverless است که به برنامه نویسان این امکان را میدهد که منطق کسبوکار خود را نوشته و سپس در کانتینرهای موجود در پلتفرم لینوکس اجرا نمایند، این روش بیشتر در مدل برنامه نویسی میکروسرویس استفاده میشود. این معماری قادر است شکلی انتزاعی از زیرساختهایی مانند سرور و منابع آن، به برنامه نویسان ارائه نماید و در نتیجه آنها دیگر میتوانند تمرکز اصلی خود را بر روی کدهای خود و ارزشی که برای کسبوکار ایجاد میکنند، بگذارند.
در این معماری، برنامه نویس تابع مورد نظر خود را نوشته، آن را در کلاد deploy کرده و بقیه کارها توسط ارائهدهندهٔ FaaS انجام خواهد شد و در نهایت تنها به اندازه زمانی که طول میکشد تا تابع اجرا شود، هزینه پرداخت خواهد شد.
در حال حاضر سرویسهای محبوب FaaS در کلاد عبارتند از:
- AWS Lambda
- Google Cloud Foundation
- Microsoft Azure Functions (Open Source)
- IBM/Apache’s OpenWhisk (Open Source)
- Oracle Cloud (Open Source)