آموزش اتوماسیون توسعه DevOps با Terraform، AWS و Docker

DevOps Deployment Automation with Terraform, AWS and Docker

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: با GitLab، EC2، ALB، ECS، ECR، VPC، S3 و Infrastructure as Code (IaC) استقرارهای مقیاس پذیر درجه تولید ایجاد کنید. تعریف زیرساخت به‌عنوان کد با استفاده از Terraform برای ایجاد و تخریب آسان محیط طراحی معماری که مقیاس‌پذیر، ایمن، انعطاف‌پذیر است و استقرار زمان توقف صفر را تسهیل می‌کند. گردش‌های کاری توسعه حرفه‌ای را بر اساس GitLab Flow برای خودکارسازی فرآیندها و سرعت بخشیدن به استقرارها مدیریت و مدیریت یک حساب AWS مطابق با با بهترین روش‌ها برای کاهش خطر به خطر افتادن آن و یک روش پرداخت پذیرفته شده توسط AWS Patience، صبر، صبر

به دوره پیشرفته نحوه راه اندازی یک اتوماسیون استقرار که قادر به مدیریت میلیون ها کاربر است خوش آمدید!

در این دوره با ایجاد برخی از مهارت های مورد تقاضا در بازار امروزی آشنا خواهید شد. گردش‌های کاری خودکار برای استقرار و مدیریت یک زیرساخت مقیاس‌پذیر و ایمن.

تقاضا برای مهندسان DevOps سر به فلک کشیده است زیرا تعداد کمی از افراد این مهارت‌ها را دارند و ارزشی که به نتیجه کسب‌وکار اضافه می‌کنند بسیار زیاد است. توسعه نرم‌افزار گران است و DevOps با خودکارسازی و ساده‌سازی فرآیند در هزینه‌ها صرفه‌جویی می‌کند. همچنین استقرار مکرر آن را آسان‌تر می‌کند، بنابراین می‌توانید زودتر به مشکلات پی ببرید و قابلیت اطمینان محصول یا خدمات خود را بهبود ببخشید. ناگفته نماند که صدها ساعت از مدیریت دستی سرورها و اجرای استقرارها (مانند روزهای خوب گذشته) صرفه جویی می کند.

افرادی که در نقش های DevOps هستند، از پردرآمدترین افراد در صنعت هستند، کمتر به دنبال کار هستند. و بیشتر مورد توجه شرکت ها هستند. (منبع: Stack Overflow Developer Survey 2019 and Indeed).

نیازی به گفتن نیست که تسلط بر فناوری‌ها و مهارت‌های مورد استفاده برای DevOps یک بازگشت سرمایه عالی است.

خواه شما یک توسعه‌دهنده باشید، مدیر سیستم، یا کارآفرین فناوری - این دوره ابزارهایی را در اختیار شما قرار می دهد تا مهارت های خود را در برخی از پرتقاضاترین فناوری های DevOps در بازار امروز ارتقا دهید.

در این دوره، شما یک نمونه را به کار خواهید گرفت. Django REST API به AWS با استفاده از Terraform، GitLab، Docker و مجموعه‌ای از فناوری‌های AWS، از جمله:

  • رجیستری ظروف الاستیک (ECR)

  • سرویس پایگاه داده رابطه ای (RDS)

  • سرویس کانتینر الاستیک (ECS)

  • Application Load Balancer (ALB)

  • Elastic Cloud Compute (EC2)

  • ابر خصوصی مجازی (VPC)

  • زیر شبکه

  • دروازه ها

  • سرویس ذخیره سازی ساده (S3)

  • Route53

  • مدیریت هویت و دسترسی (IAM)

  • و مدیر گواهی AWS (ACM)

این دوره برای استقرار یک برنامه جنگو طراحی شده است، اما برای هر برنامه وب که در Docker اجرا می شود کار می کند.

در این دوره، شما یاد خواهید گرفت که چگونه:

  • زیرساخت خود را به‌عنوان کد تعریف کنید تا بتوانید به راحتی محیط‌هایی را که نیاز دارید ایجاد و نابود کنید و هزینه‌های AWS را پایین نگه دارید

  • معماری را طراحی کنید که مقیاس‌پذیر، ایمن، انعطاف‌پذیر باشد و استقرار زمان توقف صفر را تسهیل کند

  • برای خودکارسازی فرآیندها و سرعت بخشیدن به استقرار، گردش کار توسعه حرفه ای را بر اساس GitLab Flow تنظیم کنید.

  • یک حساب AWS را مطابق با بهترین شیوه ها مدیریت و مدیریت کنید تا خطر به خطر افتادن آن را کاهش دهید (و از شوک صورتحساب AWS جلوگیری کنید)

در پایان دوره، شما یک فرآیند استقرار کاملاً کارآمد، قابل مقایسه با آنچه ممکن است در هر شرکت بزرگ فناوری بیابید، اجرا کنید.

این یک دوره پیشرفته است که به تجربه قبلی با جنگو و داکر نیاز دارد. و آشنایی با AWS. برای کارمزدهای AWS و یک روش پرداخت قابل قبول باید بودجه داشته باشید. همچنین باید رایانه‌ای داشته باشید که بتواند دسکتاپ Docker را اجرا کند (با عرض پوزش از کاربران Windows Home).

این یک دوره آموزشی پرمخاطره است، بنابراین توصیه می‌کنیم قبل از ثبت‌نام، ویدیوی کامل مورد نیاز ما را ببینید. پیش‌نمایش این ویدیو و بسیاری دیگر رایگان است، بنابراین حتماً آن‌ها را بررسی کنید تا مطمئن شوید این دوره برای شما مناسب است.

این یک دوره آموزشی عملی است، با کمی تئوری و فرصت‌های فراوان برای آزمایش دانش شما محتوا چالش برانگیز اما ارزشمند است. آماده برای آن؟ بیایید شیرجه بزنیم!


سرفصل ها و درس ها

معرفی Introduction

  • الزامات دوره Course requirements

  • DevOps Automation چیست؟ What is DevOps Automation?

  • فن آوری ها Technologies

  • نمای کلی معماری Architecture overview

  • برنامه دستور غذا Recipe Application

  • برآورد هزینه AWS AWS cost estimation

  • به روز رسانی: برآورد هزینه AWS UPDATE: AWS cost estimation

  • سلب مسئولیت Disclaimer

  • چگونه می توان کمک گرفت How to get help

  • به روز رسانی: نام شعبه پیش فرض جدید UPDATE: New default branch name

راه اندازی محیط توسعه دهنده Setup dev environment

  • وابستگی ها را نصب و آزمایش کنید Install and test dependencies

  • راه اندازی حساب GitLab و احراز هویت SSH Setup GitLab Account and SSH Authentication

راه اندازی AWS Setup AWS

  • مقدمه ای بر راه اندازی AWS Introduction to AWS setup

  • راه اندازی حساب AWS Setup AWS Account

  • به کاربران IAM دسترسی به اطلاعات صورتحساب بدهید Give IAM users access to billing information

  • راه اندازی حساب AWS IAM Setup AWS IAM account

  • MFA را روی حساب IAM تنظیم کنید Set MFA on IAM account

  • راه اندازی AWS-vault Setup AWS-vault

  • ایجاد بودجه در AWS Create budget in AWS

  • مسابقه راه اندازی AWS AWS setup quiz

راه اندازی پروکسی NGINX Setup NGINX proxy

  • آشنایی با پروکسی NGINX Introduction to NGINX proxy

  • ایجاد پروژه برای پروکسی NGINX Create project for NGINX proxy

  • پروژه پروکسی NGINX GitLab را پیکربندی کنید Configure NGINX proxy GitLab project

  • راه اندازی AWS برای پروکسی NGINX Setup AWS for NGINX proxy

  • متغیرهای مخزن را تنظیم کنید Set repository variables

  • فایل های پیکربندی NGINX را ایجاد کنید Create NGINX config files

  • NGINX Dockerfile ایجاد کنید Create NGINX Dockerfile

  • کار ساخت خط لوله CI/CD GitLab را راه اندازی کنید Setup GitLab CI/CD pipeline build job

  • کارهای فشار خط لوله CI/CD GitLab را راه اندازی کنید Setup GitLab CI/CD pipeline push jobs

  • به روز رسانی: Master را به main تغییر دهید UPDATE: Change master to main

  • آزمایش خط لوله پروکسی Test proxy pipeline

  • مسابقه پروکسی NGINX NGINX proxy quiz

پروژه برنامه دستور غذا را برای استقرار آماده کنید Prepare recipe app project for deployment

  • مقدمه ای بر آماده سازی پروژه برای استقرار Introduction to preparing project for deployment

  • پروژه جدید در GitLab ایجاد کنید Create new project on GitLab

  • پیکربندی پروژه GitLab Configure GitLab project

  • سرور uWSGI را به پروژه اضافه کنید Add uWSGI server to project

  • Dockerfile را برای اجرای ورودی نقطه به روز کنید Update Dockerfile to run entrypoint

  • به روز رسانی مهم: Dockerfile را برای اجرای نقطه ورود به روز کنید IMPORTANT UPDATE: Update Dockerfile to run entrypoint

  • فایل های استاتیک و رسانه ای را در تنظیمات برنامه پیکربندی کنید Configure static and media files in app settings

  • پیکربندی متغیر محیط را راه اندازی کنید Setup environment variable configuration

  • استقرار پروکسی را به صورت محلی آزمایش کنید Test proxy deployment locally

  • در حال آماده سازی پروژه برنامه دستور العمل برای تمرین کدگذاری استقرار Preparing recipe app project for deployment coding exercise

Terraform را راه اندازی کنید Setup Terraform

  • مقدمه ای بر راه اندازی Terraform Introduction to setting up Terraform

  • AWS را برای Terraform آماده کنید Get AWS ready for Terraform

  • Terraform را پیکربندی کنید Configure Terraform

  • راه اندازی Docker Compose برای اجرای Terraform Setup Docker Compose for running Terraform

  • Terraform را راه اندازی کنید Initialize Terraform

  • نمونه سنگر EC2 ایجاد کنید Create bastion EC2 instance

  • فضای کاری Terraform را ایجاد کنید Create Terraform workspace

  • ایجاد پیشوند منبع Create resource prefix

  • افزودن برچسب Add tags

  • تنظیم تخصیص Terraform Setup Terraform assignment

راه اندازی GitLab CI/CD Setup GitLab CI/CD

  • مقدمه ای بر راه اندازی GitLab CI-CD Introduction to setting up GitLab CI-CD

  • پیکربندی CI/CD اسکلت را ایجاد کنید Create skeleton CI/CD config

  • به روز رسانی: Master را به main تغییر دهید UPDATE: Change master to main

  • تست گردش کار Test workflow

  • اضافه کردن بررسی کد خودکار Add automated code checks

  • به روز رسانی: باید به عقب برگردید و کد درس قبلی را تغییر دهید UPDATE: Must go back and change code from previous lesson

  • راه اندازی پرده های Terraform Setup Terraform linting

  • ایجاد کاربر CI در AWS Create CI user in AWS

  • کار ساخت را اضافه کنید Add build job

  • کارهای طرح Terraform را اضافه کنید Add Terraform plan jobs

  • مشاغل کاربردی Terraform را اضافه کنید Add Terraform apply jobs

  • اضافه کردن Terraform نابود کردن مشاغل Add Terraform destroy jobs

  • گردش کار کامل را تست کنید Test full workflow

  • آزمون راه اندازی GitLab CI-CD GitLab CI-CD setup quiz

پیکربندی شبکه Configure network

  • نمای کلی شبکه Network overview

  • VPC ایجاد کنید Create VPC

  • ایجاد زیرشبکه های عمومی Create public subnets

  • زیر شبکه های خصوصی ایجاد کنید Create private subnets

  • مسابقه شبکه را پیکربندی کنید Configure network quiz

ایجاد پایگاه داده Create database

  • مقدمه ای بر پایگاه داده Introduction to database

  • خط مشی کاربر CI را به روز کنید Update CI user policy

  • نمونه RDS را اضافه کنید Add RDS instance

  • متغیرهای CI را برای پایگاه داده تنظیم کنید Set CI variables for database

  • تکلیف راه اندازی پایگاه داده Database setup assignment

به روز رسانی سنگر Update bastion

  • مقدمه ای بر به روز رسانی سنگر Introduction to updating bastion

  • کاربر CI را به روز کنید و کلید SSH را اضافه کنید Update CI user and add SSH key

  • اسکریپت داده های کاربر ایجاد کنید Create user data script

  • نمایه نمونه سنگر ایجاد کنید Create bastion instance profile

  • زیرشبکه سنگر و کلید SSH را به روز کنید Update bastion subnet and SSH key

  • اضافه کردن گروه امنیتی Add security group

  • خروجی برای آدرس سنگر اضافه کنید Add output for bastion address

  • به روز رسانی مسابقه سنگر Update bastion quiz

راه اندازی سرویس کانتینر الاستیک (ECS) Setup Elastic Container Service (ECS)

  • مقدمه ای بر ECS Introduction to ECS

  • مجوزها را به کاربر CI اضافه کنید Add permissions to CI user

  • خوشه ایجاد کنید Create cluster

  • نقش وظیفه ایجاد کنید Create task role

  • ایجاد گروه گزارش Create log group

  • قالب تعریف کانتینر ایجاد کنید Create container definition template

  • تعریف کار ایجاد کنید Create task definition

  • ایجاد و استقرار سرویس Create and deploy service

  • به روز رسانی: ایجاد و استقرار سرویس UPDATE: Create and deploy service

  • سیاهههای کار ECS را بررسی کنید Inspect ECS task logs

  • آزمون راه اندازی سرویس کانتینر الاستیک (ECS). Setup Elastic Container Service (ECS) quiz

استفاده از Bastion Using Bastion

  • مقدمه ای بر استفاده از سنگر Introduction to using bastion

  • یک ابرکاربر API ایجاد کنید Create an API superuser

  • تست سرویس ECS Test ECS service

ایجاد متعادل کننده بار Create load balancer

  • مقدمه ای بر ایجاد متعادل کننده بار Introduction to creating load balancer

  • مجوزها را به خط مشی CI IAM اضافه کنید Add permissions to CI IAM policy

  • متعادل کننده بار اضافه کنید Add load balancer

  • تنظیمات و تست ALLOWED_HOSTS را به‌روزرسانی کنید Update ALLOWED_HOSTS setting and test

  • ارزیابی بار متعادل کننده را ایجاد کنید Create load balancer assessment

مدیریت بارگذاری رسانه ها Handle media uploads

  • مروری بر آپلودهای رسانه ای Overview of media uploads

  • مجوزهای S3 را به خط مشی CI IAM اضافه کنید Add S3 permissions to CI IAM policy

  • ایجاد سطل S3 برای تصاویر Create S3 bucket for images

  • اجازه کار ECS را برای S3 بدهید Give ECS task permissions for S3

  • برای استفاده از S3 backend برای تصاویر، برنامه را به روز کنید Update app to use S3 backend for images

  • آزمون بارگذاری رسانه را مدیریت کنید Handle media uploads quiz

DNS سفارشی را تنظیم کنید Setup custom DNS

  • نمای کلی DNS Overview of DNS

  • ثبت دامنه Register domain

  • مجوزهای IAM را برای کاربر CI اضافه کنید Add IAM permissions for CI user

  • DNS را به Terraform اضافه کنید Add DNS to Terraform

  • متعادل کننده بار و ECS را برای استفاده از دامنه جدید به روز کنید Update load balancer and ECS to use new domain

  • راه اندازی آزمون DNS سفارشی Setup custom DNS quiz

خلاصه Summary

  • برنامه نهایی را تست کنید Test final app

  • متشکرم! Thank you!

نمایش نظرات

آموزش اتوماسیون توسعه DevOps با Terraform، AWS و Docker
جزییات دوره
11 hours
105
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
15,250
4.8 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mark Winterbottom Mark Winterbottom

مهندس نرم افزار تمام پشته

Brooke Rutherford Brooke Rutherford

برند و ارتباطات بازاریابی