عنوان سخنرانی : Software Architecture for Tomorrow: Expert Talk
سخنران ها : Sam Newman و Julian Wood
درباره سخنران ها : سم نیومن نویسنده، مشاور و مدرس حوزه فناوری است که به طور گسترده به عنوان یکی از صاحبنظران اصلی معماری میکروسرویس شناخته میشود، هرچند خود او تأکید دارد که دیدگاههایش به یک حوزه خاص محدود نیست و همواره به دنبال درک عمیقتر از سیستمهای توزیع شده است. جولین وود به عنوان توسعهدهنده و مروج فناوریهای سرورلس (Serverless) در شرکت آمازون (AWS) فعالیت میکند و تخصص او بر رایانش ابری و تابآوری سیستمها متمرکز است. اطلاعات دقیقتر درباره سوابق و فعالیتهای ایشان در وبسایتهای رسمی GOTO و پروفایلهای حرفهای آمازون در دسترس است.
خلاصه و برداشت از سخنرانی :
گفتگوی سم نیومن و جولین وود در این نشست، فراتر از بحثهای تکنیکال رایج درباره ابزارها، به ماهیت تفکر معماری در دنیای سیستمهای توزیع شده میپردازد. یکی از نکات کلیدی که در ابتدای این گفتگو برجسته میشود، عبور از کلیشههای رایج در مورد میکروسرویسهاست. سم نیومن با صراحت بیان میکند که نگاه به معماری باید از قید و بندهای ترندهای زودگذر رها شود و به سمت مفاهیم بنیادیتری مانند تابآوری (Resiliency) در سیستمهای توزیع شده حرکت کند. در واقع، معماریِ «فردا» بیش از آنکه وابسته به ابزار باشد، وابسته به درک توسعهدهندگان از چگونگی رفتار سیستمها در شرایط شکست و ناپایداری است. این تغییر رویکرد نشاندهنده بلوغ صنعت نرمافزار است که به جای تمرکز صرف بر نحوه پیادهسازی، بر چرایی تصمیمات معماری تمرکز میکند.
مفهوم دیگری که به عنوان ستون فقرات این سخنرانی مطرح میشود، اهمیت استراتژیک «سبک و سنگین کردن» یا همان Trade-off در تصمیمات معماری است. نیومن استدلال میکند که در معماری نرمافزار، هیچ راهکارِ «درست» مطلق یا «غلط» مطلقی وجود ندارد. هر تصمیم معماری، یک انتخاب بین گزینههای مختلف است که پیامدهای خاص خود را در اکوسیستم کلان نرمافزار به همراه دارد. مثال جالبی که در این زمینه ارائه میشود، نگاه نتیجهمحور (Outcome-focused) به معماری است؛ دقیقاً همانطور که یک پزشک برای درمان بیمار تصمیم میگیرد، معمار نرمافزار نیز باید پیش از انتخاب تکنولوژی، مشکل اصلی و پیامد مطلوب را به درستی شناسایی کند. این دیدگاه باعث میشود که معماری از یک کار فنی صرف به یک فرآیند تصمیمگیری استراتژیک تبدیل شود.
سخنرانی همچنین به ریشههای تاریخی تفکر مدولار اشاره دارد و یادآور میشود که بسیاری از مفاهیم امروز ما، ریشه در کارهای علمی دهه هفتاد میلادی دارند. این بازگشت به اصول بنیادین نشان میدهد که اصول مهندسی پایدار، با تغییر ابزارها تغییر نمیکنند. برداشت نهایی من از این ارائه این است که معمار موفق کسی نیست که بیشترین ابزارهای جدید را میشناسد، بلکه کسی است که میتواند پیامدهای عمیق و زنجیرهایِ تصمیمات خود را بر کل اکوسیستم سیستمهای توزیع شده درک کند. تأکید بر طراحی برای شکست (Design for Failure) و پذیرش اینکه سیستمها ذاتاً ناپایدار هستند، درس مهمی برای دانشجویان معماری نرمافزار است تا در پروژههای آینده، تابآوری را به عنوان یک اولویت همیشگی در نظر بگیرند.
این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهید بهشتی است
منابع :
https://gotopia.tech/sessions/3540/software-architecture-for-tomorrow-expert-talk
https://samnewman.io
https://aws.amazon.com/developer/developeradvocates/julian-wood/
لینک ویدئو :
https://gotopia.tech/sessions/3540/software-architecture-for-tomorrow-expert-talk