کتاب پروژه محور: ساخت زیرساخت یک استارتاپ با Terraform با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
🚀 زیرساخت استارتاپ خودتو بساز! دوره دواپس با Terraform 🚀 از ایده تا اجرا: زیرساخت استارتاپ خود را با Terraform بسازید! آیا آمادهاید تا به یک متخصص دواپس تبدیل شوید و زیرساختهای استارتاپی را با دستان...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره پروژه محور: ساخت زیرساخت یک استارتاپ با Terraform
موضوع کلی: برنامه نویسی
موضوع میانی: دواپس و زیرساخت**
📋 سرفصلهای دوره
- 1. مقدمه: چرا دواپس و زیرساخت به عنوان کد (IaC)؟
- 2. معرفی Terraform و جایگاه آن در اکوسیستم دواپس
- 3. مقایسه Terraform با ابزارهای دیگر (Ansible, CloudFormation, Pulumi)
- 4. نصب و راهاندازی Terraform روی سیستمعاملهای مختلف
- 5. آشنایی با مفاهیم پایه: Provider, Resource, State
- 6. ساختار یک پروژه Terraform: فایلهای اصلی (main.tf, variables.tf, outputs.tf)
- 7. اولین پروژه: ساخت یک فایل ساده در سیستم محلی (Local Provider)
- 8. آشنایی با دستورات اصلی: `init`, `validate`, `plan`
- 9. اجرای اولین تغییرات با دستور `terraform apply`
- 10. بررسی و درک فایل وضعیت (terraform.tfstate)
- 11. تخریب منابع ساخته شده با دستور `terraform destroy`
- 12. راهاندازی و پیکربندی AWS CLI برای اتصال به AWS
- 13. پیکربندی Provider AWS در Terraform
- 14. ساخت اولین منبع ابری: یک S3 Bucket در AWS
- 15. بررسی وضعیت منابع ابری از طریق کنسول AWS و فایل state
- 16. متغیرها (Variables): تعریف و استفاده
- 17. انواع داده در Terraform: String, Number, Bool, List, Map
- 18. استفاده از فایلهای متغیر (`.tfvars`)
- 19. متغیرهای حساس (Sensitive Variables) و مدیریت آنها
- 20. خروجیها (Outputs): نمایش اطلاعات منابع ساخته شده
- 21. منابع داده (Data Sources): واکشی اطلاعات از زیرساخت موجود
- 22. وابستگیهای ضمنی و صریح بین منابع (Implicit and Explicit Dependencies)
- 23. متا-آرگومانها: `count` برای ساخت چندین منبع
- 24. متا-آرگومانها: `for_each` برای ساخت منابع بر اساس Map یا Set
- 25. متا-آرگومانها: `depends_on` برای تعریف وابستگی صریح
- 26. متا-آرگومانها: `lifecycle` (create_before_destroy)
- 27. متا-آرگومانها: `lifecycle` (prevent_destroy)
- 28. Provisioners: اسکریپتنویسی در زمان ساخت یا تخریب (مقدمه و هشدارها)
- 29. Provisioner `local-exec`: اجرای دستورات محلی
- 30. Provisioner `remote-exec`: اجرای دستورات روی سرور راه دور
- 31. توابع داخلی Terraform: کار با رشتهها و لیستها
- 32. عبارات شرطی: استفاده از عملگر سهتایی (Ternary Operator)
- 33. حلقهها در Terraform: استفاده از `for` expression
- 34. آشنایی با ماژولها (Modules): چرا و چگونه؟
- 35. ساختار یک ماژول استاندارد Terraform
- 36. طراحی معماری شبکه استارتاپ: VPC, Subnets, Routing
- 37. ساخت VPC سفارشی با Terraform
- 38. ایجاد Subnet های عمومی (Public)
- 39. ایجاد Subnet های خصوصی (Private)
- 40. آشنایی با Internet Gateway و اتصال آن به VPC
- 41. پیکربندی Route Table برای Subnet های عمومی
- 42. آشنایی با NAT Gateway برای دسترسی اینترنت از Subnet خصوصی
- 43. ساخت NAT Gateway و Elastic IP
- 44. پیکربندی Route Table برای Subnet های خصوصی
- 45. گروههای امنیتی (Security Groups): مقدمه و اصول
- 46. تعریف قوانین Inbound و Outbound در Security Group
- 47. ساخت یک Security Group برای دسترسی SSH
- 48. ساخت یک Security Group برای وب سرور (HTTP/HTTPS)
- 49. آشنایی با Network ACLs و تفاوت آن با Security Groups
- 50. استفاده از ماژولهای آماده VPC از Terraform Registry
- 51. ساخت اولین سرور مجازی (EC2 Instance) در Subnet عمومی
- 52. مدیریت کلیدهای SSH با Terraform (aws_key_pair)
- 53. اتصال به EC2 Instance ساخته شده
- 54. استفاده از User Data برای اجرای اسکریپت هنگام راهاندازی EC2
- 55. ساخت یک وبسرور ساده با User Data
- 56. آشنایی با Amazon Machine Images (AMI) و انتخاب آنها
- 57. استفاده از Data Source برای یافتن آخرین نسخه AMI
- 58. مقدمهای بر Load Balancing و کاربرد آن
- 59. ساخت Application Load Balancer (ALB)
- 60. پیکربندی Target Group برای ALB
- 61. پیکربندی Listener برای ALB
- 62. مقدمهای بر Auto Scaling Group (ASG)
- 63. ساخت Launch Template برای ASG
- 64. ایجاد Auto Scaling Group و اتصال آن به ALB
- 65. تعریف سیاستهای Scaling (Scale-out/Scale-in)
- 66. مدیریت فضای ذخیرهسازی S3: ساخت Bucket و تنظیمات اولیه
- 67. فعالسازی Versioning و رمزنگاری برای S3 Bucket
- 68. پیکربندی وبسایت استاتیک با S3
- 69. مقدمهای بر پایگاهدادههای مدیریتشده (Managed Databases)
- 70. ساخت پایگاه داده RDS (مانند PostgreSQL یا MySQL)
- 71. پیکربندی DB Subnet Group برای RDS
- 72. مدیریت پارامترها و دسترسیهای RDS
- 73. مدیریت Secret ها با AWS Secrets Manager
- 74. اتصال RDS به Security Group مربوط به اپلیکیشن
- 75. ساخت یک دیتابیس NoSQL: آشنایی با DynamoDB و ساخت Table
- 76. مدیریت وضعیت (State Management): چالشها و راهکارها
- 77. راهاندازی Remote Backend با S3
- 78. فعالسازی قفلگذاری وضعیت (State Locking) با DynamoDB
- 79. فضاهای کاری (Workspaces): مدیریت محیطهای مختلف (dev, staging, prod)
- 80. استفاده از `terraform.workspace` در کد
- 81. ساختاردهی پروژه برای محیطهای مختلف
- 82. ماژولنویسی پیشرفته: انتشار ماژول در Git
- 83. استفاده از ماژولهای خصوصی از ریپازیتوری Git
- 84. بلوکهای داینامیک (Dynamic Blocks) برای تنظیمات تکرارشونده
- 85. تست زیرساخت: آشنایی با Terratest
- 86. نوشتن یک تست ساده برای ماژول شبکه
- 87. سیاستگذاری به عنوان کد (Policy as Code) با Sentinel (مقدمه)
- 88. مدیریت وابستگیهای Provider و نسخهبندی
- 89. وارد کردن زیرساخت موجود به مدیریت Terraform (`import`)
- 90. نکات امنیتی در Terraform: مدیریت متغیرهای حساس
- 91. مقدمهای بر CI/CD برای زیرساخت
- 92. راهاندازی یک Pipeline ساده با GitHub Actions
- 93. پیکربندی Credential های AWS در GitHub Actions
- 94. اجرای `terraform fmt` و `validate` در Pipeline
- 95. اجرای `terraform plan` در Pull Request
- 96. کامنتگذاری خودکار خروجی `plan` در Pull Request
- 97. اجرای `terraform apply` به صورت خودکار پس از Merge
- 98. آشنایی با ابزارهای کمکی مانند Atlantis برای اتوماسیون Terraform
- 99. مدیریت هزینهها: برچسبگذاری (Tagging) منابع برای گزارشگیری
- 100. جمعبندی پروژه و مسیر یادگیری آینده (Terraform Cloud, Crossplane)
تگها:
Automated Deployment
Cloud Computing
DevOps
IaC
Infrastructure as Code
Startup Infrastructure
Terraform
Terraform Project
برنامه نویسی
بکاند
پیادهسازی خودکار
دواپس
زیرساخت ابری
زیرساخت استارتاپ
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.