مسئولیت قبل از ابزار
ابتدا مشخص میشود هر لایه چه مسئلهای را حل میکند؛ بعد framework یا database انتخاب میشود.
در حال آمادهسازی صفحه / Preparing the page…
DEVNU / TECHNOLOGY INDEX
این صفحات توضیح نمیدهند یک فناوری در لغت چیست. توضیح میدهند در چه نوع سیستمهایی از آن استفاده میکنیم، چه مسئولیتی دارد، چه trade-offهایی ایجاد میکند و چه زمانی اصلاً نباید وارد معماری شود.
بررسی پروژهابتدا مشخص میشود هر لایه چه مسئلهای را حل میکند؛ بعد framework یا database انتخاب میشود.
هر dependency، runtime و سرویس جدید باید ارزش بیشتری از هزینه عملیات و ارتقای خودش ایجاد کند.
Stack نباید پروژه را به یک تصمیم مبهم یا یک توسعهدهنده خاص قفل کند.
فرانتاند و رابط کاربری
وباپلیکیشن و rendering سمت سرور
قراردادهای کد و توسعه JavaScript
Runtime بکاند و ابزارهای سرور
API، منطق دامنه و سرویس Backend
اتوماسیون، پردازش داده و سرویسهای تخصصی
پایگاهداده و مدل داده تراکنشی
ORM، schema و migration برای TypeScript
Cache، queue و state موقت
بستهبندی سرویس و استقرار قابل تکرار
Reverse proxy، TLS و ورودی سرویس
DNS، CDN، edge security و tunnel
CMS برای سایتهای محتوامحور و تیمهای ویرایشگر
رابط، rendering، state و تجربه قابل ایندکس.
منطق application، API، integration و jobها.
داده پایدار، transaction، query و state موقت.
Build، شبکه، ingress، TLS و edge.
وقتی workflow ویرایش محتوا مسئله اصلی است.
06 / NEXT STEP
بهترین معماری معمولاً کمترین تعداد فناوری نیست و بیشترین تعداد هم نیست؛ مجموعهای است که مسئولیتها را با کمترین پیچیدگی غیرضروری پوشش دهد.
شرح مسئله