
مرور سخنرانی: Building Better Software: Why Workflows Beat Code Every Time
سخنرانان: Ben Smith و James Beswick
لینک یوتیوب: https://www.youtube.com/watch?v=SKYbOk2S-xo
چند بار پیش آمده که برای پیاده سازی یک منطق تلاش مجدد (Retry) ساده، سه روز تمام درگیر دیباگ کردن کد ها باشید؟ راستش را بخواهید، ما برنامه نویس ها یک غرور پنهان داریم: فکر می کنیم هر مشکلی را حتما باید با باز کردن ادیتور و نوشتن صد ها خط کد حل کنیم. اما تماشای ویدیوی بن اسمیت و جیمز بزویک در کنفرانس GOTO 2025 یک تلنگر جدی به این طرز فکر بود
بحث اصلی آن ها این است که برای مفاهیم پیچیده ای مثل قطع کننده مدار (Circuit Breaker) در سیستم های توزیع شده، نوشتن کد دستی یعنی خودکشی. وقتی یک سرویس قطع می شود، مدیریت تایم اوت ها و صف بندی دوباره درخواست ها با کد، کلافی سردرگم می سازد. اما در یک ابزار گردش کار (Workflow)، شما این منطق را به صورت یک فلوچارت بصری می بینید و مدیریت می کنید.
مورد جذاب تر در این ارائه، باز کردن مفهوم هزینه ها بود. در مدل های سنتی، شما یک سرور می خرید و چه ترافیک داشته باشید چه نه، هزینه اش را پرداخت می کنید. اما ابزار های گردش کار ابری معمولا Serverless هستند، یعنی دقیقا فقط زمانی که یک درخواست واقعی پردازش شود کنتور می اندازند. برای تیم های استارتاپی که بودجه محدودی دارند، این پرداخت به ازای مصرف (Pay-per-use) یعنی مدیریت هوشمندانه و بسیار بهتر هزینه ها.
خلاصه برداشت من: این ویدیو به ما یاد می دهد که تعصب روی کد نویسی دستی همیشه خوب نیست. گاهی استفاده از ابزار های آماده مثل سیستم های گردش کار، نه تنها کسر شان یک برنامه نویس نیست، بلکه نشان دهنده بلوغ مهندسی او در مدیریت زمان، هزینه و جلوگیری از اختراع دوباره چرخ است.
این مطلب، بخشی از تمرین های درس معماری نرم افزار در دانشگاه شهید بهشتی است.