DevOps Engineer
Developer တော်တော်များများက Code တွေကို အပြန်စားရေးနိုင်ဖို့ Design Patterns တွေဘယ်လိုသုံးတယ်ဆိုတာတွေ Programming Languages တွေကို အာရုံစိုက်ပီးလေ့လာ လေ့ရှိကြတယ်။
Outsource ရေးတဲ့ အလုပ် လုပ်တာများတဲ့သူတွေက Coding ပိုင်းမှာ ကျွမ်းကျင်လေ့ရှိကြတယ် ပီးတော့ Waterfall Model နဲ့ ရင်းနီးကြတယ်။
Outsource ရေးတာများတဲ့သူက ဘာဖြစ်လာလဲဆိုတော့ Infrastructure ပိုင်းတွေ Cloud Computing ပိုင်းတွေ Operation ပိုင်းတွေ မှာ အတွေ့အကြုံသိပ်မရှိကြဘူး။
အဲ့ဒီပိုင်းတွေအတွေ့အကြုံနည်းတော့ ပြည်ပထွက်အလုပ်လုပ်တဲ့ခါ မှာ အခက်အခဲအနည်းငယ်ရှိကြတယ် ဘာလို့လဲဆိုတော့ ကိုယ်လုပ်နေကြက ကိုယ့် Local Machine မှာ Run မယ် Unit Test, Integration Test Run မယ် အဲ့လောက်ပဲလုပ်ကြတာများတယ်။
DevOps Engineer ကျတော့ အဲ့လိုမဟုတ်တော့ပဲ Coding တွေပဲ အာရုံစိုက်နေလို့မရတော့ဘူး။
CI/CD, Test Automation, Deployment Architecture, Docker, Kubernetes, Security, Linux, Shell Script, Messaging, Logging, Application Monitoring & Alerts, Resources Monitoring & Alerts, Release Management, Version Management တွေအများကြီးကို စဥ်းစားရတယ်။ အခုနောက်ပိုင်း Software Engineer တွေက အဲ့ဒါတွပါသိထားမှအဆင်ပြေတယ်။ ပီတော့ အခုနောက်ပိုင်းမှာတော့ Job Demands တွေကလဲအဲ့ဒါတွေနဲ့ပါတ်သက်ပီး ခေါ်တာများလာတယ်။
အကောင်းဆုံးကတော့ ကိုယ်လုပ်နေတဲ့ အလုပ်က Coding တွေပဲ မဟုတ်ပဲ အဲ့လို Operation ပိုင်းတွေပါလုပ်ရရင်အဆင်ပြေတယ်။
Coding ပဲလုပ်နေရတဲ့လူ ရဲ့ တွေ့အကြုံနဲ့ Operation တွေပါလုပ်ရတဲ့ သူရဲ့ အတွေ့အကြုံက မတူတော့ဘူး။
ဥပမာ။
Application Logging နဲ့ Session Management ဆိုတာမျိုးတွေမှာ DevOps နဲ့ Coding ပဲရေးလာတဲ့သူ ရဲ့အတွေ့အကြုံတွေက ကွာလိမ့်မယ်။
ဘာလဲဆိုတော့ Coding ပဲရေးတဲ့သူက Logging ဆိုတာ သိပ်ရိုးရှင်းတယ် Log file ထဲကို Log တွေရိုက်ထုတ်လိုက်တာပဲ။
DevOps တစ်ယောက်အတွက်က တော့ Number of Replicas က ဘယ်လောက်ထားမယ် ပေါ်မူတည်ပီး Log management တွေလုပ်ရတယ်
Single Server Host လုပ်ထားတာ မဟုတ်ရင် ဘယ် Request က ဘယ် Replica ကို သွား hit မယ်ဆိုတာ မသိနိုင်ဘူး။ အဲ့ချိန် တစ်ခုခုဆို ဘယ် Replica က Log ကိုသွားကြည့်မလဲ
Container Based Application ဆို ပိုဆိုးသွားပီ Container create လုပ်ပီး Run နေတဲ့ချိန်အဆင်ပြေတယ် ဒါပေမဲ့ Destory ဖြစ်သွားရင် အကုန်ပျောက်ပီ။
Session Management
ဆိုလဲ အတူတူပဲ Coding ပဲရေးနေတဲ့လူအတွက် Session ထဲမှာ သိမ်းထား တဲ့ Value ကို Session ရှိနေသေးသ၍ ဘယ်ချိန်မဆို ရှိတယ်တဲ့အတွေးများရှိနေမှာပဲ။ ကျွန်တော်လဲ အဲ့လိုပဲစဥ်းစားလာတာပဲ။
ဒါပေမဲ့ DevOps အတွက်အဲ့လိုမဟုတ်တော့ဘူး Replicas တွေများလာတာနဲ့ Application Server တွေလဲ မတူတော့ဘူး အဲ့ချိန် Load Balancer ကလဲ ဒီ Session ဆို ဒီ Replica ကိုပဲသွားပါမယ်လို့ အာမ မခံဘူး။
Processing လုပ်တဲ့ Application Server ကွာရင် Session ဆိုတာလဲ မတူတော့ဘူး။
နောက်ဆုံပြောချင်တာက ကိုယ်က Outsourcing တွေပဲလုပ်မယ်ဆို အဲ့ဒါတွေ သုံးဖို့မလိူဘူး ဆိုရင်တော့ ပြသနာမရှိဘူး။
ကိုယ်က ပြည်ပထွက်ပီး အလုပ်လုပ်ချင်တယ် ဒါမှမဟုတ် အဲ့ဒါတွေစိတ်ဝင်စားတယ်ဆိုရင်တော့ သိထားဖို့လိုမယ်။
မြန်မာမှာလဲ DevOps တွေပါလုပ်ရတဲ့ Company တွေရှိပါတယ် နည်းတော့နည်းသေးတာပေါ့။
တွေ့ကြုံချင်းတူရင် Coding တွေပဲ လုပ်လာတဲ့ သူ နဲ့ DevOps တွေ့အကြုံရှိတဲ့သူနဲ့ အလုပ်ရှာတဲ့ခါ တော့ ကွာလာလိမ့်မယ်။