ماژول Well-Architecting (GameDay 1.0)

مشاهده سایر ماژول ها

یکی از چالش‌برانگیزترین ماژول‌های مسابقه که مهارت تحلیل و سرعت عمل رقابت‌کننده را به آزمایش می‌گذارد، ماژول GameDay است. این بخش که به عنوان یکی از محبوب‌ترین رویدادهای AWS شناخته می‌شود، معمولاً دو روز اول مسابقه را تشکیل می‌شود.

در این ماژول، رقابت‌کننده باید یک زیرساخت ابری طراحی و پیاده‌سازی کند که اصول AWS Well-Architected Framework را رعایت کرده باشد. انتخاب و استفاده از سرویس‌های مناسب AWS بر اساس سناریوی مطرح‌شده، نقش کلیدی در موفقیت دارد.

مهارت‌های مورد نیاز

  • تسلط بر طیف گسترده‌ای از سرویس‌های AWS
  • مهارت در برنامه‌نویسی و طراحی معماری مقیاس‌پذیر
  • توانایی مدیریت و بهینه‌سازی سرویس‌های ابری

نحوه امتیازدهی و ارزیابی عملکرد

با گذشت زمان از شروع مسابقه، درخواست‌هایی (Requests) به سرویس شما ارسال می‌شود و شما بر اساس میزان پاسخ‌گویی صحیح، امتیاز دریافت می‌کنید. رتبه‌بندی در Scoreboard بر این اساس انجام می‌شود، اما نکته مهم این است که انتخاب سرویس‌های مناسب و تنظیمات بهینه تأثیر بیشتری در امتیاز نهایی دارد و برنده نهایی را تعیین می‌کند.

در مسابقات جهانی، Endpoint اپلیکیشن در پلتفرم CloudRaiser ثبت می‌شود تا فرایند امتیازدهی آغاز گردد. این پلتفرم توسط تیم AWS حاضر در مسابقه توسعه داده شده است.

نکته مهم: نمره Scoreboard تنها بخش کوچکی از امتیاز نهایی را تشکیل می‌دهد و نباید تنها معیار شما در ارزیابی عملکردتان باشد.


مثال‌هایی از مسابقات جهانی

پروژه جهانی ۲۰۲۲ – روز دوم

در این پروژه از رقابت‌کننده خواسته می‌شود تا دو اپلیکیشن را در یک زیرساخت مقیاس‌پذیر Kubernetes پیاده‌سازی کندBinary این اپلیکیشن‌ها در اختیار رقابت‌کننده قرار دارد. پیش از دریافت هرگونه درخواست ورودی، باید برقراری زیرساخت‌های اولیه مانند S3 Storage، EFS و انواع پایگاه‌های داده انجام گردد.

چالش اصلی این پروژه، اتصال و یکپارچه‌سازی سرویس‌های مختلف از جمله دیتابیس‌ها، AWS Load Balancer و سایر سرویس‌های AWS، با این دو اپلیکیشن داخل EKS است. علاوه بر این، محدودیت در دسترسی‌های IAM، هنگام ایجاد و استفاده از EKS، رقابت‌کننده را با چالش‌های امنیتی و مدیریتی مواجه می‌کند. این پروژه مهارت‌های Kubernetes، معماری ابری و مدیریت منابع AWS را به چالش می‌کشد.

EKS (Elastic Kubernetes Service)، سرویس مدیریت‌شده Kubernetes در AWS است، که امکان اجرای اپلیکیشن‌های کانتینری‌شده را در یک محیط مقیاس‌پذیر و بهینه فراهم می‌کند.

چالش اصلی این پروژه، اتصال و یکپارچه‌سازی دیتابیس‌ها، AWS Load Balancer و سایر سرویس‌های AWS با دو اپلیکیشن اجراشده در EKS است. رقابت‌کننده باید زیرساختی پایدار و هماهنگ ایجاد کند که تمامی سرویس‌ها، به درستی، با یکدیگر تعامل داشته باشند.

یکی دیگر از چالش‌های کلیدی این مسابقه، مدیریت دسترسی‌های IAM است. کمبود مجوزهای لازم هنگام ایجاد و استفاده از EKS می‌تواند باعث ایجاد محدودیت‌هایی در فرایند پیاده‌سازی و یکپارچه‌سازی سرویس‌ها شود که نیاز به مدیریت صحیح نقش‌ها و مجوزهای IAM دارد.

پروژه جهانی ۲۰۲۴ – روز اول

در این پروژه، درخواست‌های ورودی، از طریق API Gateway، به سمت Lambda Function هدایت می‌شوند. Binary دو اپلیکیشن در اختیار رقابت‌کننده قرار گرفته و رقابت‌کننده باید از سرویس ECS برای اجرای این دو اپلیکیشن استفاده کند.

اپلیکیشن اول، داده‌ها را پردازش کرده و در یک پایگاه‌داده رابطه‌ای (RDS) ذخیره می‌کند. اپلیکیشن دوم، این داده‌ها را از RDS استخراج کرده و در SSM Parameter Store قرار می‌دهد. سپس، پلتفرم داوری که درخواست‌ها را ارسال می‌کند، از این داده‌ها برای امتیازدهی استفاده می‌کند.

سرویس ECS، برای مدیریت و کنترل کانتینرها، در AWS استفاده می‌شود و امکان اجرای اپلیکیشن‌های کانتینری‌شده را، در محیطی مقیاس‌پذیر فراهم می‌کند.

چالش اصلی این پروژه، نوشتن کد Lambda Function برای پردازش درخواست‌ها، ذخیره داده‌ها در DynamoDB و برقراری ارتباط بین VPCهای مختلف است. رقابت‌کننده باید Lambda Function را به گونه‌ای پیاده‌سازی کند که درخواست‌ها را به درستی پردازش کرده و داده‌ها را در پایگاه داده ذخیره کند، درحالی‌که ارتباط بین VPCها نیز بدون مشکل برقرار باشد.


نکات پایانی

ASG (Auto Scaling Group) یکی از موارد پایه و مهم در سناریوهای این ماژول است. در اکثر سناریوها، رقابت‌کننده به Dockerize کردن Binary ها نیاز دارد تا Image اپلیکیشن را در ECR ذخیره کرده و سپس از آن در EKS یا ECS استفاده کند. ECR یک رجیستری است که برای ذخیره‌کردن Image های Docker استفاده می‌شود.

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