محاسبات بدون سرور یا Serverless، که همچنین تحت عنوان Function as a Service(FaaS) شناخته می شود، یک مدل رایانش ابری است که در آن ارائه دهنده زیرساخت ابری، زیرساخت برنامه های ما را مدیریت می کند و به طور خودکار منابع را در صورت نیاز تخصیص می دهد. این بدان معنی است که توسعه دهندگان می توانند روی نوشتن و استقرار سرویس های خود تمرکز کنند، بدون اینکه نگران تنظیمات و محدودیت های زیرساخت باشند.
محاسبات بدون سرور با تجزیه برنامهها به توابع کوچکتر و مستقل که در صورت نیاز اجرا میشوند، کار میکند. این توابع توسط رویدادهای خاص مانند درخواست های HTTP یا رویدادهای مبتنی بر زمان اجرا میشوند. هنگامی که یک رویداد رخ می دهد، ارائه دهنده زیرساخت ابری به طور خودکار منابع مورد نیاز برای اجرای عملیات را تخصیص میدهد، سپس زمانی که اجرای رویداد را به پایان رساند، آن منابع را آزاد می کند.
مقیاس پذیری در هنگام ساخت برنامه های مدرن یک نکته مهم است. با افزایش تقاضای کاربر، اطمینان از اینکه برنامه می تواند بار را بدون کاهش سرعت یا خرابی کنترل کند، ضروری است. به طور سنتی، مقیاسبندی یک برنامه کاربردی به سرمایهگذاری اولیه قابل توجهی در زیرساخت نیاز دارد و فرآیند مقیاسبندی آهسته و دستی بوده است. با این حال، معماری بدون سرور، بازی را تغییر داده است و به برنامهها اجازه میدهد تا به صورت خودکار و سریع مقیاسپذیر شوند.
یکی از ویژگی های اصلی معماری بدون سرور، ویژگی مقیاسپذیری خودکار است. ارائهدهندگان خدمات ابری زیرساختهای مورد نیاز را مدیریت کرده و به طور خودکار منابع را بر اساس حجم کاری برنامه تخصیص میدهند. این بدان معناست که با افزایش تعداد درخواستها، ارائهدهنده زیرساخت ابری به طور خودکار منابع اضافی را برای مدیریت بار فراهم میکند. همچنین با کاهش بار، منابع را کاهش داده و از ایجاد هزینههای اضافه جلوگیری میکند.
ویژگی دیگر معماری بدون سرور، مدل محاسباتی رویداد محور است. در معماری Serverless هر تابع برای رسیدگی به یک رویداد یا درخواست مشخص طراحی شده است که به آن اجازه می دهد مستقل و به صورت موازی اجرا شوند. این بدان معنی است که با افزایش بار روی برنامه، میتوان سرویس ها را بصورت افقی مقیاس کرد.
در محاسبات بدون سرور، Gateway یک سرویس واسطه است که بین کاربر و توابع Serverless شما قرار می گیرد. Gateway یک رابط یکپارچه برای نرم افزار کاربر فراهم می کند تا با توابع شما تعامل داشته باشند و به آنها امکان اجرای این توابع را میدهد.
Gateway همچنین ویژگی هایی مانند اعتبار سنجی درخواست، احراز هویت، مسیریابی و امکان تهیه لاگ کلی را ارائه می دهد که می تواند به بهبود عملکرد و امنیت برنامه های بدون سرور شما کمک کند.
محاسبات بدون سرور را می توان برای طیف گسترده ای از سرویس ها استفاده کرد، اما ممکن است برای همه سیستم ها مناسب نباشد. از معماری Serverless اغلب برای برنامهها و میکروسرویسهای رویداد محور که نیازمند به مقیاسپذیری بالا هستند استفاده میشود. اما این معماری برای سیستمهای دارای فرآیندهای طولانی مدت، سیستم های دارای وظایف پسزمینه ای و سیستمهایی که نیاز به کنترل کامل بر زیرساختها دارند، مناسب نیست. درنتیجه قبل از تصمیم گیری در مورد بکارگیری یا عدم بارگیری از معماری Serverless، درنظر گرفتن الزامات سیستم بسیار مورد اهمیت است و باید مورد ارزیابی قرار گیرد.
من محمدرضا باباخانی هستم، توسعه دهنده نرم افزار. در اینجا تجربیات، نظرات و پیشنهادات خودم رو درباره تکنولوژی مینویسم. امیدوارم مطالبی که مینویسم بدردتون بخوره.
ثبت دیدگاه