Skip to main content

DevOps Engineer


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 တွေ့အကြုံရှိတဲ့သူနဲ့ အလုပ်ရှာတဲ့ခါ တော့ ကွာလာလိမ့်မယ်။

Popular posts from this blog

Pigeon Myanmar's free Wireguard VPN

Pigeon Myanmar's free Wireguard VPN  Pigeon Myanmar ရဲ့ Free VPN service ကိုအသုံးပြုရန်အတွက် အောက်ပါ Telegram Chatbot ကို message ပို့ပြီး Config file ဒါမှမဟုတ် QR Code ကိုရယူနိုင်ပါတယ်။ အသုံးမပြုလိုသူများ၊ newvpn request မလုပ်ဖို့မတ္တာရပ်ခံအပ်ပါတယ်၊ client က limit ရှိတာကြောင့် လိုအပ်တဲ့သူတွေမရမှာစိုးလို့ပါ။ Telegram Chat Bot Telegram Chat Bot:  https://t.me/pigeonmyanmarbot Chat Bot မှာ /start ကိုလို့ပို့ပြီး သက်ဆိုင်ရာ Operation ကိုရေးပြီး VPN အသုံးပြုရန်အတွက် QR Code ဒါမှမဟုတ် Config file ရယူနိုင်ပါတယ်။ Telegram Account တစ်ခုကို client တစ်ခုသတ်မှတ်ထားဒါကြောင့် နောက်အကြိမ်တွေ ထပ်မှတ်ရယူပါကလည်း client အဟောင်းကိုသာ ရရှိတော့မှဖြစ်ပါတယ်။ QR Code/Config File ကို ပျောက်ပျက်သွားတဲ့အခါမှာလည်း ထပ်မံတောင်းခံ ကြည့်ရှူနိုင်ပါတယ်။   /newvpnqr - VPN QR Code ရယူရန်။ /newvpn - VPN Config File ရယူရန်။ VPN Installation and Setup သက်ဆိုင်ရာ Application ကိုအောက်ပါ link များမှ install လုပ်ပါ။  Application မှာ  + / Add a tunnel ခလုတ်နှိပ်ပါ။  Create from file or archive ဒါမှမဟုတ် Create from QR

How to use GIT? GIT ကိုဘယ်လို အသုံးပြုကြမလဲ (Cheat sheet)...

How to use GIT?  Git အသုံးပြုပုံကို နားလည်ကျွမ်းကျင်ဖို့ GIT ဘယ်လိုအလုပ်လုပ်လဲ ဆိုတာ နည်းနည်းတော့ သိထားဖို့လိုလိမ့်မယ်။  File ရဲ့ statuses တွေနဲ့ file transitions တွေကို သေချာ နားလည်ထားဖို့လိုတယ်။ File status မှာဆိုရင် file တစ်ခုကို git ကဘယ်အချိန်မှာ track စလုပ်လဲ၊ ဘယ်အချိန်မှာ modified, unmodified, staged statuses တွေဖြစ်သွားလဲဆိုတာတွေ နဲ့ File transitions မှာဆိုရင် file တစ်ခုက ဘယ် command run ရင် local repository မှာရှိတယ်။ ဘယ် command run ရင်တော့ remote repository (server) ကိုရောက်သွားလဲ ဆိုတာတွေကို အနည်းငယ်နားလည်ထားဖို့တော့လိုမယ်။ Git File Statuses Git မှာ file တွေကို track လုပ်နေတဲ့ statuses တွေရှိတယ်။ အဲ့ဒါတွေကတော့ အောက်ပါအတိုင်းဖြစ်တယ်။ Untracked Unmodified Modified Staged Untracked Status Untracked ဆိုတာက file တစ်ခုက ပထမဆုံး create လုပ်ပြီးတဲအချိန်မှာ git က အဲ့ file ကိုလုံးဝ track မလုပ်ရသေးတဲ့ file တွေက git မှာ untracked အနေနဲ့ရှိနေတယ်။ အဲ့ဒါကို git ကို စပြီး track လုပ်စေချင်တယ်ဆိုင်တော့ git add <file> command နဲ့ git ကို စ track လုပ်ခိုင်းလို့ရတယ်။ အဲ့လို git add လုပ်လို

Editor Config

Editor Config ကျွန်တော်တို့ Developer တွေတော်တော်များများက၊ ကိုယ်နဲ့ကျွမ်းကျင်ရာ ဒါမှမဟုတ် နှစ်သက်ရာ IDE/Text Editor တွေကို သုံးလေ့ရှိကြပါတယ်။ အဲ့နေရာမှာ ပြသနာတစ်ခုက IDE/Text Editor မတူတာနဲ့ Coding Style, Format တွေမှာ မတူတာ တွေဖြစ်တတ်ကြပါတယ်။ ဥပမာ - Eclipse သုံးတဲ့သူ အချင်းချင်းဆို setting ကို export လုပ်ပြီး အတူတူထားလို့ရပေမယ့်၊​ IntelliJ IDEA သုံးတဲ့သူတွေနဲ့ ဆို အဆင်မပြေဖြစ်ပြန်ရော။ Visual Studio Code, Atom, Sublime Text တွေကအများကြီးကို ကြားထဲ Indentation တွေ၊ Code Style တွေကို Standardize လုပ်ဖို့ ခက်ခဲလာတယ်။ အဲ့ဒါကြောင့် တစ်ချို့  Company/Project တွေဆိုရင် ဘယ် IDE/ Text Editor ပဲသုံးရမယ်ဆိုပြီးသတ်မှတ်ထားလေ့ရှိကြတယ်။ အကျိုးဆက်အနေနဲ့ကတော့ Productivity နဲ့ Developers တွေက သတ်မှတ်ထားတဲ့ tools တွေနဲ့ အကျွမ်းဝင်ဖို့ အချိန်ပေးရပါတယ်။ အဲ့ဒါ တွေကို Editor Config ကအလွယ်တကူဖြေရှင်းပေးနိုင်ပါတယ်။ Editor Config ရဲ့ အားသာချက်ကတော့ အတော်များများ IDE/ Text Editor တွေမှာ built-in ပါပြီးသားဖြစ်ပြီး၊ built-in မပါရင်လဲ Plugin တွေက အတော်များများအတွက်ရှိပါတယ်။  # EditorConfig is awesome: https://Edito