
مرور سخنرانیSoftware Architecture for Tomorrow: Expert Talk :
سخنرانان Sam Newman : و Julian Wood
لینک یوتیوب: https://www.youtube.com/watch?v=8KntBPOdfWA
آیا میکروسرویس ها به یک مد روز کورکورانه در شرکت های نرم افزاری تبدیل شده اند؟ سام نیومن، کسی که خودش کتاب مرجع میکروسرویس ها را نوشته، در این گفتگوی دونفره با جولیان وود صراحتا می گوید: بله! این مصاحبه بیشتر شبیه درد دل دو مهندس با تجربه است که از دیدن اشتباهات تکراری در صنعت خسته شده اند.
نیومن به نکته ظریفی اشاره می کند: خیلی از سازمان ها بدون داشتن مشکل مقیاس پذیری یا تیم های بزرگ، فقط برای اینکه شبیه شرکت های سیلیکون ولی به نظر برسند، سیستم یکپارچه (Monolith) خود را تکه تکه می کنند. نتیجه چیست؟ آن ها فراموش می کنند که در سیستم های توزیع شده، ما با یک مانع بزرگ به نام شبکه طرف هستیم. شبکه ای که تاخیر دارد، قطع می شود و پیام ها را در هوا گم می کند.
یکی از بخش های آموزنده این گفتگو، بازگشت به اصول اولیه مهندسی بود، اصل مخفی سازی اطلاعات. نیومن توضیح داد که در یک معماری درست، یک میکروسرویس سبد خرید نباید تمام ساختار دیتابیس خود را از طریق APIدر اختیار سرویس پرداخت بگذارد. بلکه باید فقط دیتای ضروری را با یک قرارداد محکم منتقل کند. اگر این اصل رعایت نشود، تغییر در یک سرویس باعث شکسته شدن زنجیره ای کل سیستم می شود.
خلاصه برداشت من: میکروسرویس ها راه حل همه مشکلات نیستند و هزینه های پنهان زیادی مخصوصا در بخش شبکه و پیچیدگی زیرساخت دارند. همچنین در طراحی سیستم های توزیع شده، مخفی سازی اطلاعات و تعریف مرز های دقیق، از خود تکنولوژی هایی که استفاده می کنیم بسیار مهم تر است.
این مطلب، بخشی از تمرین های درس معماری نرم افزار در دانشگاه شهید بهشتی است.