مدل سازی دامنه در Cloud & AWS CDK

Gregor Hohpe در مورد طراحی Domain Driven در Cloud بحث می کند و به 3 موضوع مهم می پردازد:
- چگونه کلماتی که استفاده میکنید طراحی را فعال میکنند، و نشان میدهند که در چه نوع فرهنگ کاری هستید، و مشوقهایی برای استفاده از کلمات بهتر است.
- برای ارائه دهندگان Cloud چقدر بد و دشوار است که یک زبان ثابت داشته باشند، و تا چه حد مجموعه مناسبی از کلمات را برای توصیف خدمات خود ایجاد کرده اند، و چگونه می توانند بهتر عمل کنند.
- چگونه اکثر مردم نحوه استفاده از AWS CDK را نمی دانند.
فکر میکنم 3 بزرگترین امتیاز برای من است. من زمان زیادی را صرف تلاش برای استفاده از Dhall برای ایجاد یک زبان خاص دامنه برای هر پروژه و ترجمه آن به CloudFormation کردم. به جای فکر کردن به توابع Lambdas و Step، از زبان مشکلی که ما سعی در حل آن داریم استفاده می کنید. کسب و کار وارد کردن حسابهای مشتری (1) (2) در دستهای از صورتهای مالی PDF (3) که سپس میتوانیم آن را در یک فایل فشرده به نام StatementsZIP (4) قرار داده و به سرور FTP مشتری تحویل دهیم.
همه چیز مدل شده بود. من جزئیات سطح پایین را تضمین کردم که نمیتوانید us-east-1 در مقابل us-west-2 را با کامپایلر که همه چیز درست است، خراب کنید. اگر می توانید از شرق به غرب شکست بخورید، نیازی به “تست” نیست. کامپایلر آن را در چند ثانیه تضمین کرد.
در نهایت، دهل به اندازه کافی پرحرف نبود و من هم نینجا نبودم، اما چیزی مانند TypeScript یا ReScript احتمالا بهتر بود.
این ایده استفاده از مدلسازی دامنه، نه فقط برای زبان، بلکه اطمینان از اینکه کامپایلر به شما کمک میکند اطمینان حاصل کنید که برنامه ابری شما کار میکند، به نوعی نکته AWS CDK بود. با این حال، چه شی گرا و چه کاربردی، بسیاری از مردم زمان زیادی را صرف مدل سازی دامنه نمی کنند. آیا به مدت طولانی و سخت با تیم در مورد نام تابع فکر می کنید؟ مطمئن. کار بسیار خوبی برای انجام، و به وضوح در مسیر DDD است، اما ایجاد یک زبان واحد که همه موافق استفاده از آن هستند، کلیدی است. داشتن 4 کلمه برای یک صورت مالی ناامید کننده است، باعث سردرگمی می شود و منجر به اشکالاتی می شود که اگر افراد فقط موافقت می کردند که از همان کلمه برای چیزی استفاده کنند، می توانستند برطرف شوند.
مقاله گرگور سطح بالایی را در مورد 3 مشکل به شما ارائه می دهد و واضح است که منبع باز و بازاریابی کار سختی در ادامه نشان دادن اینکه چرا AWS CDK زیرساخت های متفاوت و بهتری را به عنوان گزینه های کد در مقایسه با AWS SAM یا فریم ورک بدون سرور فعال می کند، دارند. من تقریباً الهام گرفتهام که دوباره برای کامپایلر ReScript to CloudFormation خود تلاش کنم…
https://architectelevator.com/cloud/ddd-technical-domains/