📘 Terraform Series — Part 1
ကျွန်တော် AWS ကို စတင်အသုံးပြုခဲ့စဉ်က အရာရာကို Manual ပဲ လုပ်ဆောင်ခဲ့ပါတယ်။
- EC2 ကို နှိပ်တယ်
- Instance တစ်ခု တည်ဆောက်တယ်
- Security Group တွေ သတ်မှတ်တယ်
- ပြီးရင် ထပ်ခါထပ်ခါ ပြန်လုပ်တယ်
အစပိုင်းမှာတော့ အဆင်ပြေခဲ့ပေမယ့် နောက်ပိုင်းမှာ ပြဿနာတွေ တဖြည်းဖြည်း ဖြစ်လာပါတယ်။
- Environment တွေကို ပုံစံတူ ပြန်မဆောက်နိုင်တော့ဘူး
- အမှားအယွင်းတွေ ဖြစ်လာတယ်
- System ကို ချဲ့ထွင်ဖို့ (Scaling) မလွယ်တော့ဘူး
👉 အဲ့ဒီအချိန်မှာပဲ ကျွန်တော် Terraform ကို စတင်သိရှိခဲ့တာပါ။
In short: Manual AWS work doesn’t scale — Terraform solves this.
🔰 Terraform ဆိုတာ ဘာလဲ?
Terraform ဆိုတာ Infrastructure as Code (IaC) tool တစ်ခုဖြစ်ပြီး Cloud Infrastructure တွေကို Code ရေးသားပြီး တည်ဆောက်နိုင်အောင် ကူညီပေးပါတယ်။
AWS Console မှာ လိုက်နှိပ်နေမယ့်အစား အခုလို Code ရေးလိုက်ရုံပါပဲ —
resource "aws_instance" "web" {
instance_type = "t2.micro"
}
ဒီ Code ကိုရေးလိုက်တာနဲ့ Terraform က လိုအပ်တဲ့ Infrastructure ကို အလိုအလျောက် တည်ဆောက်ပေးသွားမှာပါ။
👉 In short: You define infrastructure in code, Terraform builds it.
❌ Manual AWS Setup ရဲ့ ပြဿနာများ
AWS Console ကိုပဲ အသုံးပြုနေသေးတယ်ဆိုရင် အောက်ပါပြဿနာတွေကို ကြုံရနိုင်ပါတယ် —
- Infrastructure ကို Version Control မလုပ်နိုင်ဘူး
- Environment အသစ်တွေကို လွယ်ကူစွာ ပြန်မဖန်တီးနိုင်ဘူး
- တစ်ချိန်ချိန်မှာ အမှားအယွင်းတွေ ဖြစ်လာမယ်
ဒါတွေဟာ လက်တွေ့ Project တွေမှာ တကယ်ကို ကြီးမားတဲ့ ပြဿနာတွေ ဖြစ်လာနိုင်ပါတယ်။
👉 In short: Manual setup is error-prone and not scalable.
✅ DevOps သမားတွေ ဘာကြောင့် Terraform သုံးတာလဲ?
Terraform က အထက်ပါ ပြဿနာအားလုံးကို ဖြေရှင်းပေးနိုင်ပါတယ် —
✔ Reproducible infrastructure → ပုံစံတူ environment တွေ ပြန်ဆောက်နိုင်ခြင်း ✔ Version-controlled (Git) → Infrastructure changes ကို track လုပ်နိုင်ခြင်း ✔ Automated deployments → အလိုအလျောက် deploy လုပ်နိုင်ခြင်း ✔ Multi-environment support → Dev / Staging / Prod စနစ်တွေကို လွယ်ကူစွာ စီမံနိုင်ခြင်း
👉 In short: Terraform makes infrastructure consistent, automated, and scalable.
⚙️ Terraform Workflow (လုပ်ဆောင်ပုံ အခြေခံ)
Terraform project တိုင်းမှာ အောက်ပါ flow ကို အသုံးပြုပါတယ် —
terraform init
terraform plan
terraform apply
terraform destroy
Command တစ်ခုချင်းစီရဲ့ အဓိပ္ပာယ်
init→ Project ကို စတင်ပြင်ဆင်ခြင်းplan→ ဘာတွေပြောင်းလဲမလဲ ကြိုတင်ကြည့်ခြင်းapply→ Infrastructure ကို တည်ဆောက်ခြင်းdestroy→ Resource တွေကို ဖျက်ခြင်း
👉 In short: Plan → Apply → Manage infrastructure lifecycle.
📁 Terraform Project Structure (အခြေခံ)
terraform-aws-lab/
├── provider.tf
├── main.tf
├── variables.tf
└── outputs.tf
ဒီ structure က သင့် Terraform project ကို စနစ်တကျ စီမံနိုင်အောင် ကူညီပေးပါတယ်။
🎯 ဒီနေ့ သင် လေ့လာခဲ့တာ
- Terraform ဆိုတာ ဘာလဲ
- Infrastructure as Code ရဲ့ အရေးပါမှု
- Manual AWS setup ကို Terraform က ဘယ်လို အစားထိုးသလဲ
💡 နိဂုံးချုပ် တွေးတောစရာ
DevOps ကို အမှန်တကယ် လေ့လာချင်တယ်ဆိုရင် ဒီလို စဉ်းစားမှုကို ပြောင်းလဲရပါမယ် —
“ဒါကို AWS မှာ ဘယ်လိုနှိပ်ရမလဲ?”
အစား —
“ဒါကို Code နဲ့ ဘယ်လို သတ်မှတ်ရမလဲ?”
👉 This mindset shift is the beginning of DevOps.
🚀 နောက် post မှာ လေ့လာစရာ ?
နောက် post မှာတော့ လက်တွေ့ စတင်သုံးကြည့်ပါမယ် —
- Terraform Install လုပ်ခြင်း
- AWS CLI Configure လုပ်ခြင်း
- First Terraform project ကို စတင်ခြင်း
👉 Let’s move from theory → real implementation 🔥
📚 Terraform Learning Series
- Part 1: Why Terraform (ယခု post)
- Part 2: Setup Guide (နောက်လာမယ့် post)
👉 Let’s continue this journey together 🚀
👨💻 English Version
“Read full English version on Dev.to → Visit Here

