برنامه نویسی

پیچیدگی پنهان در نمودارهای معماری ابری شما

توضیحات تصویر
همانطور که شرکت ها برنامه های خود را به ابر مهاجرت می کنند، می توانند متوجه شوند که نمودارهای معماری آنها پیچیده تر می شود. این نمودارها نمایشی بصری از اجزای مختلف و نحوه تعامل آنها با یکدیگر ارائه می دهند. با این حال، ممکن است پیچیدگی واقعی سیستم را به درستی منعکس نکنند.

در طول دسترسی اولیه، تیم ما این فرصت را داشت که 2.3 میلیون منبع و وابستگی AWS را برای تعیین کمیت پیچیدگی پنهان در نمودارهای معماری تجزیه و تحلیل کند. آنچه ما به طور متوسط ​​پیدا کردیم 3 پیوند برای هر منبع بود. نسبتی که اغلب در برخی از پیچیده ترین نمودارهای معماری یافت نمی شود. بیایید بررسی کنیم که چرا این یک مشکل است.

مشکل *با پیچیدگی (با نگاه کردن به خانه ها توضیح داده می شود)*

پلان خانه

یک پلان خانه مانند طرح بالا برای ارائه تصویری از چیدمان و ویژگی‌ها (تعداد اتاق‌ها، امکانات رفاهی و غیره) عالی است. آیا مطمئن هستید که همه چیز لازم است تا یک دیوار سازه ای را خراب نکنید یا از طریق یک خط گاز حفاری نکنید؟

طرح تفصیلی خانه

درعوض، ممکن است در مورد نقشه های ساختمان یا طرح اولیه مشورت کنید. آنها حاوی اطلاعاتی هستند که برای تصمیم گیری با اطمینان نیاز دارید. با این حال، در حالی که طرح‌های اولیه بسیار مفید هستند، می‌توانند پیچیده باشند و دارای اندازه‌گیری‌ها و حاشیه‌نویسی‌های زیادی باشند و اگر ندانید به دنبال چه چیزی هستید، ممکن است مشکلات بیشتری ایجاد کند.

همین امر را می توان در مورد نمودارهای معماری نیز گفت…

نمودار AWS Overmind

نمودارهای AWS مانند تصویر بالا ابزاری عالی برای حضور مهندسان جدید یا انتقال یک نمای کلی سطح بالا به ذینفعان هستند. آنها یک نمایش واضح اما اغلب مختصر از یک برنامه کاربردی ارائه می دهند که برای درک آن به تجربه یا زمینه قبلی زیادی نیاز ندارد.

اما آیا از ایجاد تغییر در برنامه خود بر اساس موارد فوق مطمئن هستید؟ دانستن از آنچه قبلاً در مورد پیچیدگی پنهان در بالا گفتیم.

حتی تغییر یک چیز ساده مانند یک گروه امنیتی می تواند مشکل ساز باشد. نمودار معماری ممکن است برخی از اتصالات را به شما نشان دهد. اما ممکن است نمونه های EC2 یا پایگاه داده های RDS دیگری نیز وجود داشته باشد که از آن گروه امنیتی استفاده می کنند. اگر تغییری ایجاد کنید، می تواند بر آن منابع تأثیر بگذارد.

بیشتر همیشه جوابگو نیست

آیا این بدان معناست که پاسخ این است که یک نمودار ترسیمی از هر پیوند و منبعی که مربوط به برنامه‌ای است که در حال ایجاد تغییرات در آن هستیم، تهیه کنیم؟ برای اینکه به شما نشان دهیم که در همان خوشه EKS چگونه به نظر می رسد، می توانیم یک پرس و جو در ویژگی کاوش در Overmind اجرا کنیم. ما می توانیم عمق پیوند را به گونه ای تنظیم کنیم که تمام روابط و پیوندها به منابع دیگر را کشف کند.

استفاده از Overmind برای کشف همه پیوندها

چیزی که می توانید ببینید این است که همان برنامه در واقع دارای:

  • 164 مورد مرتبط
  • 39 نوع منبع مرتبط

که خیلی بیشتر از چیزی است که نمودار ما به ما می گوید. به این معنی که اکنون اگر می‌خواهیم تغییری ایجاد کنیم، می‌توانیم همه چیزهایی را که می‌تواند تحت تأثیر قرار بگیرد، ببینیم. منابع، پیوندهای آیتم ها و متا داده ها در یک نمودار.

اما هنگامی که با این سطح از جزئیات سر و کار دارید، نمایش و پیمایش آسان در یک رابط کاربری گرافیکی تعاملی به یک چالش تبدیل می‌شود، چه رسد به تلاش برای تکرار آن با رسم نمودار معماری استاتیک.

کم و بیش، تقریبا؟

که ما را در موقعیت دشواری قرار می دهد زیرا برای ایجاد تغییرات مطمئن باید بدانیم چه چیزی تحت تأثیر قرار می گیرد. و بدانیم که باید همه پیوندها را به منبعی که در حال تغییر هستیم ترسیم کنیم. اما با توجه به آنچه که دیده‌ایم، وقتی حتی یک برنامه ساده دارای منابع و پیوندهای مرتبط زیادی باشد، کار کردن با آن می‌تواند به چالشی تبدیل شود.

راه حل

دقیقاً همین چالش است که ما را به ساخت Overmind سوق داده است. با تجزیه و تحلیل تاثیر، لازم نیست نگران ایجاد یک نمودار از کل معماری برنامه خود باشید. به آن بگویید که قرار است چه چیزی را تغییر دهید و از هر منبع خارج از آن محدوده که تحت تأثیر آن تغییر قرار گرفته است مطلع خواهید شد. به این معنی که شما این اطمینان را خواهید داشت که تغییراتی که ایجاد می کنید هیچ عواقب ناخواسته ای در پی نخواهد داشت.

ما در حال حاضر به دنبال شرکای طراحی هستیم تا به لیست انتظار ما بپیوندند. اینجا ثبت نام کنید → https://overmind.tech

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا