از صفر تا ورود به بازار کار

بوت‌کمپ دانشکار
دواپس

۱۳ نمونه پروژه دواپس از مبتدی تا پیشرفته

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

نمونه پروژه دواپس برای سطح مبتدی

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

۱. وب‌سرور با استفاده از داکر

پروژه دواپس مناسب برای افراد مبتدی که راه‌اندازی یک وب‌سرور ساده با استفاده از داکر دارد و از اپلیکیشن‌های رابی، پایتون یا Meteor پشتیبانی می‌کند. در این پروژه با ساخت یک Base Image قابل استفاده مجدد و استقرار یک وب‌اپلیکیشن، با مفهوم Containerization آشنا می‌شوید. به همین دلیل، این پروژه می‌تواند نقطه شروع مناسبی برای ورود به دنیای دواپس باشد. مواردی که در طول این پروژه یاد خواهید گرفت عبارت‌اند از:

  • ساخت و سفارشی‌سازی Docker Image با استفاده از Dockerfile
  • اجرا، مدیریت و مانیتور کردن کانتینرها
  • استقرار یک وب‌اپلیکیشن با استفاده از داکر
  • ایجاد محیط‌های یکسان در Development و Production

کد منبع

۲. ساخت CI/CD Pipeline با استفاده از Azure

یک پروژه عملی مناسب برای مبتدیان که در آن یک Pipeline کامل CI/CD برای یک وب‌اپلیکیشن با استفاده از سرویس‌های Azure DevOps مانند Azure Pipelines، Azure Container Registry و Azure App Service پیاده‌سازی می‌شود. در طول این پروژه به مباحث زیر مسلط خواهید شد:

  • راه‌اندازی Pipelineهای خودکار برای Build و Deployment
  • استفاده از Azure Pipelines برای Workflowهای CI/CD
  • یکپارچه‌سازی Container Registry و استقرار روی App Service

کد منبع

آژور

۳. ساخت اپلیکیشن Java با استفاده از Gradle

در این پروژه یک اپلیکیشن جاوا چندماژوله با استفاده از Gradle به‌عنوان ابزار ساخت اتوماسیون ایجاد می‌کنید و فرایندهایی مانند تست، Packaging و مدیریت وابستگی را انجام می‌دهید. موارد زیر را در طول این پروژه خواهید آموخت:

  • مدیریت پروژه‌های جاوا با Gradle Build Scriptها
  • پیکربندی وابستگی‌ها و ساخت مولتی‌ماژول‌ها
  • خودکارسازی تست، ساخت و ساخت فایل‌های اجرایی

کد منبع

۴. راه‌اندازی سرویس فروشندگان دیجی‌کالا با داکر

یک پروژه مناسب برای شروع کار با داکر که بر اساس نمونه‌ای از سرویس فروشنده دیجی‌کالا ساخته شده است. این پروژه غیررسمی با Symfony توسعه داده شده و با Dockerfile و Docker Compose می‌توانید سرویس و پایگاه داده موردنیاز آن را در محیط کانتینر اجرا کنید. با انجام این پروژه به مباحث زیر مسلط خواهید شد:

  • ساخت و اجرای کانتینربا داکر
  • راه‌اندازی چند سرویس با Docker Compose
  • مدیریت Environment Variableها
  • اتصال اپلیکیشن به دیتابیس داخل کانتینر

کد منبع

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

نمونه پروژه دواپس برای سطح متوسط

با رسیدن به سطح متوسط دواپس می‌توانید بخش‌‌های مختلف زیرساخت و توسعه را به یکدیگر وصل کنید. Kubernetes، Terraform، تست خودکار، Cloud و Pipelineهای پیشرفته‌تر از جمله مباحثی هستند که در سطح متوسط دواپس با آن‌ها کار خواهید کرد. هدف از انجام دادن پروژه‌های این سطح مدیریت زیرساخت، مقیاس‌پذیری و فرایند انتشار آن است.

۵. ساخت CD Pipeline با استفاده از AWS

در این پروژه یک Continuous Delivery Pipeline خودکار می‌سازید که با هر بار Push شدن تغییرات کد، یک وب‌اپلیکیشن را با استفاده از ابزارهای بومی AWS به‌صورت خودکار مستقر می‌کند. مواردی که به آن‌ها مسلط خواهید شد عبارت‌اند از:

  • پیکربندی AWS CodePipeline و CodeBuild
  • خودکارسازی استقرار با استفاده از Elastic Beanstalk یا ECS
  • اجرای خودکار استقرار با Commitهای گیت‌هاب

کد منبع

AWS

۶. استقرار اپلیکیشن با استفاده از Kubernetes

در این پروژه یک وب‌اپلیکیشن را با داکر پیش‌ می‌برید و آن را روی یک Kubernetes Cluster مستقر می‌کنید. همچنین مدیریت Podها، استقرارها، سرویس‌ها و مقیاس‌پذیری را انجام می‌دهید. در طی این پروژه به موارد زیر مسلط خواهید شد:

  • مدیریت و هماهنگ‌سازی Containerها با Kubernetes
  • ساخت استقرار،سرویس و Ingress
  • مقیاس‌پذیری اپلیکیشن‌ها و مدیریت آپدیت نقش‌ها

کد منبع

۷. ساختاربندی پروژه Terraform

در این پروژه با اصول و بيست‌پرکتیس‌ها Infrastructure as Code آشنا می‌شوید و یک پروژه Terraform تمیز و ماژولار برای استقرار وب‌سرور روی DigitalOcean ایجاد می‌کنید. مهارت‌های زیر را در طول پروژه ساختاربندی Terraform خواهید آموخت:

  • ساختاردهی صحیح پروژه Terraform و استفاده از Moduleها
  • استفاده از Variableها، Localها، Data Sourceها و Outputها
  • مدیریت Infrastructure State و امکان بازتولید زیرساخت

کد منبع

۸. ساخت و اجرای پرو Selenium

در این پروژه یک Automated Testing Pipeline با استفاده از Selenium راه‌اندازی می‌کنید و آن را به CI/CD متصل می‌کنید تا با هر تغییر در کد، تست‌های مرورگر به‌صورت خودکار اجرا شوند. مواردی که در طی این پروژه به آن‌ها مسلط خواهید شد عبارت‌اند از:

  • نوشتن و اجرای تست‌های Selenium WebDriver
  • یکپارچه‌سازی تست‌های خودکار با CI/CD Pipelineها
  • تولید Test Report و مدیریت خطاهای تست

کد منبع

۹. راه‌اندازی وب‌اپلیکیشن روی ابر آروان

یک پروژه مبتدی تا متوسط برای آشنایی با CI/CD که در آن با استفاده از GitHub Actions، نسخه جدید یک کانتینر به‌صورت خودکار روی سرویس PaaS/CaaS ابر آروان مستقر می‌شود. ریپازیتوری این پروژه رسمی ابر آروان نیست، اما به‌طور مشخص برای استقرار روی این سرویس توسعه داده شده است. پس از انجام این پروژه به موارد زیر مسلط خواهید شد:

  • ساخت ورک‌فلو با GitHub Actions
  • مدیریت API Token و Secretها
  • مستقر کردن Docker Image روی کلاد
  • خودکارسازی فرایند استقرار بعد از تغییر کد

کد منبع

ابر آروان

نمونه پروژه دواپس برای سطح پیشرفته

اگر اهل چالش و برطرف کردن آن باشید نمونه‌ پروژه دواپس سطح پیشرفته مناسب شما است. این پروژه‌ها به زیرساخت واقعی شرکت‌ها و سرویس‌ها پرترافیک نزدیک‌تر هستند. در این سطح با مفاهیمی مانند مانیتورینگ، Distributed Systems، High Availability، مدیریت زیرساخت در مقیاس بالا و طراحی فرایندهای پیچیده CI/CD مواجه می‌شوید. نگران سختی مسیر نباشید. انجام این پروژه‌ها به شما کمک می‌کند مهارت‌های مختلف دواپس را در قالب یک سیستم واقعی و یکپارچه به کار بگیرید.

۱۰. پروژه Jenkins Remoting

یک پروژه در سطح مبتدی تا متوسط که روی توسعه یا مشارکت در Jenkins Remoting تمرکز دارد؛ کتابخانه اصلی Jenkins که ارتباط میان Jenkins Controller و Agentهای آن را امکان‌پذیر می‌کند. در این پروژه با جاوا، پروتکل‌های مبتنی بر TCP و Remote Procedure Callها کار می‌کنید.

  • درک نحوه ارتباط میان Jenkins Agent و Controller
  • کار با Java Serialization، پروتکل‌های TCP و Message Queueها
  • ساخت فریم‌ورک‌های قابل اعتماد برای اجرای Remote

کد منبع

مطلب مرتبط: چالش‌های دواپس و راهکارهای برطرف کردن آن

۱۱. ساخت سیستم کنترل نسخه

یک پروژه پیشرفته که در آن سیستم کنترل نسخه‌ای مشابه گیت ایجاد می‌کنید یا یک سرور گیت اختصاصی برای همکاری تیمی راه‌اندازی می‌کنید. در طول پروژه ساخت سیستم کنترل نسخه به موارد زیر مسلط خواهید شد:

  • مفاهیم اصلی Version Control مانند Commit ،Branch و Merge
  • راه‌اندازی و مدیریت یک سرور گیت خصوصی
  • یکپارچه‌سازی VCS با ابزارهای CI/CD مانند Jenkins

کد منبع

۱۲. ساخت داشبورد مانیتورینگ اپلیکیشن

در این پروژه با استفاده از Prometheus و Grafana یک داشبورد مانیتورینگ Real-Time ایجاد می‌کنید تا عملکرد اپلیکیشن و شاخص‌های سلامت آن را بررسی کنید. در طول پروژه ساخت داشبورد مانیتورینگ اپلیکیشن به موارد زیر مسلط خواهید شد:

  • آماده‌سازی اپلیکیشن برای جمع‌آوری متریک‌ها
  • راه‌اندازی Prometheus برای مانتیورینگ و هشداردهی
  • نمایش داده‌ها با Grafana Dashboardها

کد منبع

مانیتورینگ اپلیکیشن

۱۳. مانیتورینگ سرویس‌های SnappCloud با Prometheus

یک پروژه پیشرفته از SnappCloud برای بررسی سلامت سرویس‌ها و شبکه است. Health Exporter به‌طور مداوم Endpointهای HTTP، DNS، ICMP و Kubernetes را بررسی می‌کند و متریک‌هایی مانند Latency، Error Rate، وضعیت پادها و دسترس‌پذیری سرویس‌ها را در اختیار Prometheus قرار می‌دهد. با انجام این پروژه موارد زیر را خواهید آموخت:

  • طراحی مانیتورینگ برای سرویس‌های توزیع‌شده
  • جمع‌آوری متریک با Prometheus
  • بررسی Latency و Error Rate سرویس‌ها
  • مانیتورینگ Kubernetes و سلامت پادها

کد منبع

منبع: geeksforgeeks.org

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

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

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

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