ကျွန်တော်တို့ cloud အကြောင်း စပြောကြပြီဆိုရင် အရင်ဆုံး ခေါင်းထဲရောက်လာတာ Console ထဲဝင်၊ UI ကနေ ခလုတ်လေးတွေ လိုက်နှိပ်ပြီး Server တည်ဆောက်တာမျိုးပါ။ အစပိုင်းမှာ တစ်လုံးနှစ်လုံးဆိုရင်တော့ ဟုတ်သလိုလို ရှိပေမယ့်၊ Project က ကြီးလာလို့ Server တွေ အလုံး ၅၀ လောက် တည်ဆောက်ရတော့မယ်၊ ဒါမှမဟုတ် Dev ရော Production ရော Environment အတူတူပဲ ဖြစ်နေရမယ်ဆိုတဲ့ အခါမျိုးမှာ Manual လိုက်နှိပ်တာဟာ တကယ့်ကို ငရဲကျသလိုပါပဲ။
ဘယ်နေရာမှာ ဘာနှိပ်လိုက်မိလဲ မမှတ်မိတော့ဘူး၊ ဟိုဘက်မှာ ရပေမယ့် ဒီဘက်မှာ ဘာလို့ Error တက်နေတာလဲ ဆိုတဲ့ ပြဿနာတွေက ကျွန်တော်တို့ Cloud သမားတွေရဲ့ အိပ်မက်ဆိုးတွေပါပဲ။ ဒါတွေကို တစ်ခါတည်း အမြစ်ပြတ်ရှင်းဖို့ ပေါ်လာတာက Terraform ပါပဲ။
Terraform ဆိုတာကို ရိုးရိုးရှင်းရှင်းလေး မြင်အောင် ပြောပြရရင် အိမ်ဆောက်တဲ့အခါ အင်ဂျင်နီယာတွေသုံးတဲ့ "Blueprint" လိုမျိုးပါပဲ။
ကျွန်တော်တို့က "ငါ့ကို CPU 2 core ပါတဲ့ Server တစ်လုံးပေး၊ ပြီးရင် သူ့ကို ဒီ Network အုပ်စုထဲမှာ ထည့်ထားပေး" ဆိုပြီး Code နဲ့ ရေးလိုက်ရုံပါပဲ။ Terraform က အဲဒီစာကို ဖတ်ပြီး AWS ဖြစ်ဖြစ်၊ Azure ဖြစ်ဖြစ်၊ Google Cloud ဖြစ်ဖြစ် သူကိုယ်တိုင် သွားပြောပြီး ဆောက်ပေးသွားတာပါ။ ကိုယ်တိုင် Console ထဲမှာ Mouse နဲ့ လိုက် Click နေစရာ မလိုတော့ဘူးပေါ့။
IaC (Infrastructure as Code) ကို ဘာလို့ လေ့လာသင့်တာလဲ?
လူတော်တော်များများက "Code ရေးရမှာလား? ခက်မှာပဲ" ဆိုပြီး လန့်တတ်ကြပါတယ်။ ဒါပေမဲ့ IaC ရဲ့ အရသာကို သိသွားရင် နောက်ခါ Manual ဘယ်တော့မှ မလုပ်ချင်တော့ပါဘူး။ အဓိက အားသာချက်တွေကတော့ -
- ကိုယ်ရေးထားတဲ့ Code ရှိနေတော့ လူက မှားနှိပ်မိတာမျိုး (Human Error) မရှိတော့ဘူး။
- Environment အသစ်တစ်ခု ထပ်လိုချင်လား? Code ကို Copy ကူးပြီး Run လိုက်ရုံပါပဲ။ ၁ မိနစ်တောင် မကြာဘဲ ပုံစံတူတွေ အများကြီး ထုတ်လို့ရပါတယ်။
- ဘယ်သူက ဘယ်နေ့မှာ ဘာ Parameter ပြောင်းလိုက်လဲဆိုတာ Git လိုမျိုးနေရာမှာ သိမ်းထားလို့ရတဲ့အတွက် အရင်အတိုင်း ပြန်ပြင်ချင်ရင် (Rollback) လုပ်ရတာ အရမ်းလွယ်ပါတယ်။
ဒီ Blog Series က ဘယ်သူတွေအတွက်လဲ?
ကျွန်တော် ဒီ Blog တွေကို ရေးတဲ့အခါ သပ်သပ်ရပ်ရပ် အစီအစဉ်တကျဖြစ်အောင် ရေးသွားမှာပါ။ ဒါကြောင့် ဒီလို လူတွေဖတ်ဖို့ အထူးရည်ရွယ်ပါတယ် -
- System Admin သမားများ - Manual အလုပ်တွေကို ပျင်းလာပြီး Automation ဘက်ကို ကူးချင်နေတဲ့သူတွေ။
- DevOps Engineer ဖြစ်ချင်သူများ - Terraform မရေးတတ်ဘဲ DevOps လို့ ပြောဖို့ တကယ်ခက်ပါတယ်။ ဒါက မရှိမဖြစ် Skill တစ်ခုပါ။
- Developers များ - ကိုယ့် Code run ဖို့ Infrastructure ကို သူများဆီ အမြဲတောင်းနေရတာ အားနာနေရင် ကိုယ့်ဘာသာ ဆောက်တတ်သွားအောင်ပါ။
ကျွန်တော်တို့ ဘာတွေ ဆက်သွားကြမလဲ?
အကြမ်းဖျင်း မိတ်ဆက်ပြီးရင် လက်တွေ့ (Practical) ပိုင်းတွေကို တစ်ဆင့်ချင်း သွားပါမယ်။ ရှေ့ဆက်ပြီး တင်ပေးမယ့် အပိုင်းတွေမှာတော့ -
- အပေါ့ပါးဆုံးနဲ့ အမြန်ဆုံး Terraform ကို စတင်သုံးလို့ရအောင် Setup လုပ်နည်း။
- Azure ပေါ်မှာ Server တွေ တကယ်ဆောက်ကြည့်မယ်။
- HCL (HashiCorp Configuration Language) အကြောင်း သေချာရှင်းပြပေးမယ်။
- Terraform က Infrastructure ကို ဘယ်လို မှတ်ထားသလဲဆိုတဲ့ Terraform State အကြောင်း။
- ပြန်သုံးလို့ရတဲ့ Terraform Modules အကြောင်း။
- Remote State Data တွေနဲ့ Terragrunt လိုမျိုး Advance ဖြစ်တဲ့ Tool အကြောင်းတွေအထိ ပါဝင်မှာပါ။
ဒီနေ့ကတော့ ဒီလောက်ပါပဲ။ နောက်ရက်တွေမှာလည်း ဆက်လက်ဖတ်ရှုပေးကြပါဦး!
Discussion
Join the conversation
How do you feel about this article?
Comments
Sign in to join the conversation
Sign in to be the first to comment!
Share Your Article
Share with your professional network
Recent Articles

AWS - Application Load Balancer
Elastic Load Balancing (ELB) ELB ဆိုတာကတော့ request တွေကို တစ်နေရာတည်းမှ လက်ခံကာ Amazon EC2 instances၊ containers, etc.....

Terraform Day 3: Benefits of Terraform State
Terraform ကိုလေ့လာ တဲ့အခါ ကျွန််တော်တို့ရဲ့ Project Folder ထဲမှာ terraform.tfstate ဆိုတဲ့ ဖိုင်လေးကို တွေ့ဖူးကြပါလိမ့်မယ...

Terraform Day 2: Essential IaC Principles You Must Know
မနေ့ကတော့ Terraform အကြောင်း အကြမ်းဖျင်း Concept ကို ပြောပြခဲ့ပြီးပြီဆိုတော့ ဒီနေ့မှာတော့ Terraform ကို Professional ကျက...

TCP/IP Protocol
အားလုံးပဲမင်္ဂလာပါ။ ဒီနေ့ ကျွန်တော်တို့ TCP/IP Protocol အကြောင်း ဆွေးနွေးသွားပါမယ်။ ပထမဆုံးအနေနဲ့ TCP/IP ရဲ့ History လေး...

AWS - Auto Scaling Group
AWS ASG Auto Scaling Group ဆိုတာကတော့ EC2 instances များကို logical group တစ်ခုအဖြစ် စုစည်းထားပြီး automatic scaling နှင...

