یک اپلیکیشن serverless فراتر از مجموعهای از functionهاست. رفتار آن به مرز سرویسها، مالکیت داده، تحویل رویداد و بازیابی پس از خطا بستگی دارد. جان گیلبرت در «Software Architecture Patterns for Serverless Systems» این تصمیمها را به معماری سیستمی وصل میکند که بخشهایش بتوانند مستقلتر تغییر کنند.
از function تا معماری سیستم
سرویسهای مستقل، طراحی رویدادمحور، ارتباط ناهمزمان و محدودکردن دامنهی خرابی، محورهای اصلی کتاباند. CQRS و Event Sourcing، معماری microservice و micro frontend، امنیت، تست، observability، طراحی چندمنطقهای و مهاجرت تدریجی با الگوی Strangler Fig هم بررسی میشوند.
ارزش کتاب در توضیح پیامد این انتخابهاست. صف روی تحویل پیام اثر میگذارد، مالکیت جداگانهی داده مسئلهی سازگاری را تغییر میدهد و انتشار مستقل به هماهنگی تیمها نیاز دارد. سپردن مدیریت سرور به سرویسدهنده، این مسئولیتهای طراحی را حذف نمیکند.
جایگاه کتاب در مسیر مطالعه
برای مهندسی که functionهای serverless را میشناسد و میخواهد اپلیکیشن کامل طراحی کند، مطالعهی مناسبی است. الگوها باید متناسب با نیاز انتخاب شوند؛ سیستم کوچک ممکن است به Event Sourcing یا چند منطقه نیاز نداشته باشد.
