در این دوره آموزشی، میخواهیم نحوه طراحی و ساخت برنامههای Cloud-Native با معماری میکروسرویس، استقرار Kubernetes، ارتباطات، خدمات پشتیبان، خطوط لوله CI/CD و الگوهای نظارتی و بهترین روشها را بیاموزیم.
Cloud-native یک موضوع بزرگ است که باید نحوه هضم همه موضوعات را به خوبی سازماندهی کند. ما نقشه آزمایشی Cloud-Native را دنبال خواهیم کرد که با Containerization و Orchestration ها شروع می شود و با CI/CD، مش های سرویس، مقیاس پذیری، پایگاه های داده توزیع شده ادامه می یابد. در هر مرحله، با یادگیری معماری Cloud-Native و Cloud-Native Pillars و از ابزارهای Cloud-Native بازدید کنید، این ابزارها را کاوش و درک کنید، معماری را با این ابزارها طراحی کنید و در نهایت پروژه +20 عملی در دنیای واقعی را در خوشههای Kubernetes توسعه دهید.
Cloud-Native Pillars Map – The Course Map
در اینجا میتوانید نقشه دوره ما را درباره "ستونهای Cloud-Native" پیدا کنید:
میکروسرویس ها
ظروف
ارکسترها
ارتباطات (خدمات مش)
خدمات پشتیبان (پایگاه های داده توزیع شده K8s، حافظه های پنهان، کارگزاران پیام)
مقیاس پذیری (HPA، KEDA)
توسعه CI/CD IaC GitOps
نظارت بر قابلیت مشاهده
در طول کل دوره، این ستونهای Cloud-Native را با طراحی و پیادهسازی معماریها دنبال خواهیم کرد.
خدمات میکرو:
مبانی معماری میکروسرویس ها، مزایای آن، و نحوه طراحی و توسعه نمونه برنامه های کاربردی میکروسرویس را بدانید. ما نمونه برنامه های میکروسرویس را یاد می گیریم، کاوش می کنیم، طراحی می کنیم و توسعه می دهیم.
ظروف:
ما میکروسرویسها را کانتینریزه میکنیم. ما یاد می گیریم که ریزسرویس های خود را با استفاده از ابزارهای ابری مانند Docker و containerd کانتینری کنیم.
ارکسترها:
ما این کانتینرها را با یادگیری و استفاده از ارکسترهای کانتینری مانند Kubernetes، ازدحام docker و غیره هماهنگ خواهیم کرد. برای مدیریت برنامههای کانتینریشده شما، تجربه عملی با پلتفرمهای ارکستراسیون کانتینر مانند Kubernetes و Docker Swarm به دست خواهیم آورد.
ارتباطات:
پس از آن نحوه برقراری ارتباط بین پادهای Kubernetes را با استفاده از Service Meshes مانند istio خواهیم دید. ما نحوه استفاده از مش های سرویس مانند Istio را برای تسهیل ارتباط بین پادهای Kubernetes کشف خواهیم کرد.
خدمات پشتیبان:
ما خدمات پشتیبان را برای معماری خود پیاده سازی خواهیم کرد، خدمات پشتیبان را در 3 زیر دسته بررسی خواهیم کرد: پایگاه های داده، حافظه پنهان توزیع شده، کارگزاران پیام. ما یاد خواهیم گرفت که چگونه خدمات پشتیبان مانند پایگاههای داده، حافظه پنهان و کارگزاران پیام را در خوشه Kubernetes خود مستقر و ادغام کنیم.
مقیاس پذیری:
ما برنامه های خود را با استفاده از HPA و KEDA به طور خودکار در Kubernetes مقیاس می کنیم. ما مقیاس خودکار را برای برنامههای خود در Kubernetes با استفاده از Autoscaler Horizontal Pod (HPA) و Kubernetes Event-driven Autoscaling (KEDA) اجرا خواهیم کرد.
CI/CD را توسعه می دهد:
ما DevOps، خطوط لوله CI/CD، IaC، اصول GitOps را با استفاده از ابزارهای ابری مانند GitHub Actions، Terraform، ArgoCD و غیره در معماری خود پیادهسازی میکنیم.
نظارت:
ما ابزارهای نظارت و قابلیت مشاهده مانند Prometheus، Grafana، ELK stack را در خوشه Kubernetes خود پیادهسازی میکنیم و بهترین روشها را برای مشاهدهپذیری بومی ابری انجام میدهیم.
همه این مراحل ما نه تنها ابزارهای بومی ابری را بررسی میکنیم، بلکه سرویسهای Cloud Serverless مانند AWS Lambda در میکروسرویسها، AWS Fargate در ارکستراتورها، خدمات پشتیبان مانند Amazon DynamoDB، Azure CosmosDB، اتوبوسهای خدمات - اتوبوس خدمات Azure، Amazon Eventbridge را نیز بررسی میکنیم. و غیره.
راه یادگیری – جریان دوره
روش یادگیری به این صورت خواهد بود.
یادگیری - کاوش - طراحی - عملی
ما معماریهای Cloud-Native را یاد میگیریم و از ابزارهای Cloud-Native بازدید میکنیم، این ابزارها را کشف و درک میکنیم. و معماری را با استفاده از این ابزارها طراحی کنید و در آخر ما آزمایشگاه های عملی را برای تمرین ابزارها و معماری های بومی ابری انجام خواهیم داد.
پروژه های عملی
در طول دوره، ما یک سری آزمایشگاه عملی برای هر ستون Cloud-Native برای تقویت درک شما و ارائه تجربه عملی خواهیم داشت.
عملی: یک میکروسرویس راحت با CRUD ایجاد کنید
عملی: Microservices .Net را با Docker
تبدیل کنیدعملی: Microservices را در Kubernetes
مستقر کنیدعملی: استقرار میکروسرویسها به Kubernetes با Helm Charts
عملی: با Service Mesh Istio و Envoy میکروسرویس ها را به Kubernetes مستقر کنید
عملی: استقرار CockroachDB در یک خوشه Kubernetes منفرد با Minikube
عملی: استقرار حافظه پنهان Redis Native Cloud در یک خوشه Kubernetes با Minikube
عملی: کارگزاران پیام کافکا بومی Cloud را در خوشه Kubernetes با Minikube مستقر کنید
عملی: مقیاس خودکار Kubernetes Pods (VPA,HPA,KEDA) با Minikube
عملی: Microservices را در Amazon EKS Fargate مستقر کنید
عملی: نمونه Terraform IaC ارائه AWS EC2
عملی: GitHub Actions CI/CD برای ساخت تصاویر Push Docker به DockerHub
عملی: نظارت Kubernetes با Prometheus و Grafana
همچنین ما آزمایشگاههای بدون سرور AWS را خواهیم دید تا نشان دهیم که معماریهای بومی ابری چگونه در سرویسهای بدون سرور کاملاً ابری، به ویژه برای سرویسهای AWS کار میکنند:
عملی: کانتینر ProductService را در AWS Apprunner مستقر کنید
عملی: ساخت میکروسرویسهای RESTful با AWS Lambda، API Gateway و DynamoDB
عملی: موضوع اعلانهای Amazon SNS اشتراک از AWS Lambda
این آزمایشگاههای عملی تجربه عملی را در استفاده از مفاهیم، ابزارها و بهترین روشهایی که در طول دوره یاد گرفتهاید، به شما ارائه میدهند.
هدف دوره
این دوره دارای 1 هدف اصلی است:
تصمیمگیرنده بهعنوان توسعهدهنده/معمار نرمافزار در تابلوهای معماری بومی ابری باشید.
این دوره برای توسعه دهندگان نرم افزار و معمارانی طراحی شده است که علاقه مند به یادگیری در مورد فناوری های بومی ابری و نحوه به کارگیری آنها در سناریوهای دنیای واقعی هستند.
فعالیتهای طراحی و توسعه عملی
بهترین شیوهها را با الگوها و اصول طراحی میکروسرویسهای بومی ابری اعمال کنید
کاوش و تمرین با ابزارهای Cloud-Native، درک زمان و مکان استفاده از این ابزارها
برای مصاحبه های معماری نرم افزار آماده شوید
برای امتحانات مصاحبه معماری طراحی سیستم آماده شوید.
در پایان این دوره، تجربه دنیای واقعی به دست خواهید آورد، درک کاملی از اکوسیستم بومی ابری خواهید داشت و آماده طراحی، ساخت و استقرار برنامه های کاربردی بومی ابری خود با استفاده از میکروسرویس ها خواهید بود. Kubernetes، مشهای سرویس، خطوط لوله CI/CD و موارد دیگر.
معمار نرم افزار | میکروسرویس | AWS Community Builder
نمایش نظرات