ကျွန်တော့်ရဲ့ kubernetes နဲ့ပတ်သက်တဲ့ ဒီ knowledge sharing series ကို Why kubernetes ဆိုတဲ့ ခေါင်းစဥ်နဲ့ စပါမယ်။ သောကြာနေ့ရေးပြီးတင်မယ်လို့ ပြောခဲ့ပေမယ့် personal case လေးတစ်ခုနဲ့ အချိန်မရလိုက်လို့ ဒီနေ့မှပဲ post လုပ်လိုက်ပါတယ်။
ဥပမာ application တစ်ခုရှိတယ်ဆိုပါစို့။ VM တစ်ခုပေါ်မှာ Container သုံးလေးခု လောက်နဲ့ Runပြီး အကုန်ကောင်းကောင်းအလုပ်လုပ်နေတယ်။
Frontend, Backend ဒါမှမဟုတ် Database container တစ်ခု က down သွားမယ်ဆိုရင်ဘာတွေဖြစ်လာမလဲ
Userကို impactထိမယ်။ ဒါကိုဖြေရှင်းဖို့ဆို Operation ဒါမှမဟုတ် SysAdmin တစ်ယောက်ယောက်က Server ကို SSH ဝင်ပြီး Log ကြည့်၊ Fix လုပ်ရမယ်။ Off-hoursမှာသာ ဖြစ်နေရင် လူတွေကိုအလှည့်ကျနဲ့ 24/7 ထားရမယ်။ ဒါတွေက application သေးသေးလေးဆိုရင်တော့အဆင်ပြေပေမယ့်လည်း Operational cost ဖြစ်စေပါတယ်။ application level မြင့်လေလေ ကြီးလေလေ cost လည်းပိုတက်လေပါ။
Container တစ်ခုမဟုတ်ဘဲ ဆယ်ခုတောင် တစ်ပြိုင်နက်တည်း Downတာမျိုးဆိုရင်
User အများကြီးကို တိုက်ရိုက်သက်ရောက်မယ်ဗျာ။ Debug / Fix လုပ်ရတာအချိန်လည်းကြာတဲ့အတွက် Production outage လိုမျိုးသာဆိုအဆင်မပြေစေပါဘူး။ Containerတွေ 5 မိနစ် 10 မိနစ် တစ်ကြိမ် Down တာမျိုးသာဖြစ်နေခဲ့မယ်ဆို Manual approach နဲ့ဘယ်လိုမှမသွားသင့်တော့ဘူး။ VM လုံးဝ down သွားခဲ့ရင်လည်း Application တစ်ခုလုံး Down သွားမယ်။
Container ရာချီ ထောင်ချီကို version upgrade လုပ်ရမယ်ဆိုရင်
Automation မပါဘဲ manual upgrade လုပ်ဖို့ ဆိုတာက မလွယ်ပါဘူး။
ဒီပြဿနာအကုန်လုံးကို Kubernetes က ဖြေရှင်းပေးပါတယ်။ Kubernetes က
- container orchestration
- auto-healing
- auto-scaling
- load balancing
- service discovery
- high availability
- resource optimization
အကုန်automate လုပ်ပေးနိုင်ပါတယ်။
ဒါပေမဲ့ Kubernetes က application တိုင်းအတွက် Solution တော့ မဟုတ်ပါဘူး။ Container ၂ ခု၊ ၃ ခုသာရှိတဲ့ small project တွေအတွက် Kubernetes သုံးတာက resource waste ဖြစ်စေသလို Managed services တွေဖြစ်တဲ့ AKS/EKS/GKEတို့ သုံးတယ်ဆိုရင်တောင် Cluster maintenance, upgrades, patching, cost planning တွေရှိသေးတဲ့အတွက် Operation workload ကမလျော့သွားပါဘူး။
ဒီလိုနေရာမှာ
- Docker Compose
- VM deployment
- DigitalOcean droplet
- AWS Lightsail တို့က တစ်ခါတစ်လေ တော်တော်လေးလုံလောက်ပါတယ်။
အခုတော့ Kubernetes ကိုဘာကြောင့်သုံးရလဲဆိုတာနဲ့ ဘယ်အချိန်မှာ Kubernetes လိုမလဲဆိုတာကို အတန်အသင့်သဘောပေါက်မယ်လို့ ထင်ပါတယ်။ ဆိုတော့ နောက်အပတ်သောကြာနေ့မှာ Kubernetes architecture and fundamentals ကို ဆက်လက်ရေးသွားပါမယ်။
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

Day 2 - GitHub Actions ရဲ့ အဓိက Concepts များနှင့် Runner အကြောင်း
ပြီးခဲ့တဲ့အပတ် Day 1 တုန်းက ကျွန်တော်တို့ CI/CD ရဲ့ Concept တွေကို အကြမ်းဖျင်း ပြောခဲ့ကြပြီးပြီနော်။ ဒီနေရာမှာ လက်တွေ့မစ...
Day 1 - Software Development ကို ပိုပြီးမြန်စေမယ့် CI/CD
Software တစ်ခုရေးပြီးပြီဆိုရင် "ငါ့စက်ထဲမှာတော့ အလုပ်လုပ်တယ်" ဆိုရုံနဲ့ မပြီးသေးပါဘူး။ User တွေသုံးမယ့် Server ပေါ်ရောက်...

Secure AWS ECR Github Action Using OIDC
Modern DevOps နှင့် Cloud Security တို့မှာ အဓိကဖြစ်လာသည့် Authentication System ယနေ့ခေတ် DevOps, Cloud Engineering, CI/C...

Manual vs Automated Infrastructure: Why "useradd" Still Matters in the Terraform Era
DevOps careerကို လျှောက်နေတဲ့သူတိုင်း Terraform၊ Ansible စတဲ့ Infrastructure as Code (IaC) tools တွေရဲ့ အလုပ်လုပ်နိုင်စွ...
From Surviving to Thriving
“AI ကြောင့် developer အလုပ်ပျောက်သွားမလား?” ဆိုတဲ့ မေးခွန်းကို Junior developer တိုင်း စဉ်းစားဖူးကြမှာပါ။ ဈေးကွက်အခြေအနေ...

