Skip to main content

Posts

Showing posts from June, 2021

Git - Version Control

Git - Version Control About Version Control Version Control ဆိုတာ System တစ်ခုပဲဖြစ်ပါတယ်။ Computer System ပေါမှာ Files ကို update လုပ်တဲ့အခါမှာ သူတို့ရဲ့ပြောင်းလဲမှုတွေကို အချိန်နဲ့ တစ်ပြေးညီ Versions တွေနဲ့ မှတ်တမ်းတင်ထားပေးခြင်းဖြစ်ပါတယ်။ လိုအပ်တဲ့ အချိန်မှာ သက်ဆိုင်ရာ version တွေမှာ ဘာတွေပြောင်းလဲခဲ့လဲ၊ ဘယ်အချိန်ပြောင်းလဲခဲ့လဲ ဆိုတာတွေကို ပြန်လည် ကြည့်နိုင်တယ်။ ပြီးတော့ ကိုယ်ကြိုက်တဲ့ Version တစ်ခုခု ကိုလဲ အချိန်မရွေး ပြန်ယူနိုင်ပါတယ်။ ဥပမာ - Programming အတွက်ဆိုရင်တော့ Source Code files တွေကို Version Control လုပ်ပြီးအသုံးပြုကြပါတယ်။ Source Code file တွေမှမဟုတ်ပဲ၊ ဘယ် File အမျိုးအစားကို မဆို Version Control နဲ့ အသုံးပြုနိုင်ပါတယ်။ ဥပမာ - ဓာတ်ပုံ၊ ဗွီဒီရို၊ Excel file, Word file and etc.Version Control Systems တွေကတော့ အောက်ပါအတိုင်း သုံးမျိုးရှိပါတယ်။  Local Version Control Systems Centralized Version Control Systems Distributed Version Control System 1. Local Version Control Systems အများစုက Local Version Control Systems အနေနဲ့ File တွေကို copy ကူးပြီး၊ တခြားတစ်နေရာရာ မှာ သိမ်းထာ

Software Package Manager - Windows

Software Package Manager - Windows Package Manager လို့ပြောရင် သာမန် Windows users တွေနဲ့ အနည်းငယ် စိမ်းနေပေမယ့် Software Engineer/ Server Administration ပိုင်းမှာလုပ် လေ့လာဖူးတဲ့သူတွေကတော့ ရင်းနှီးပြီးသားပါ။ Linux user တွေအတွက်တော့ ထွေထွေထူးထူးပြောနေစရာမလိုတော့ပါဘူး။ Linux မှာတော့ Package (App) တစ်ခုခု install လုပ်မယ်ဆိုရင်သင်တော်ရာ package managers တွေဖြစ်တဲ့ yum, wget တွေနဲ့ command line ကနေ install လုပ်ကြတာများပါတယ်။ Mac users တွေဆိုရင်လဲ တော်တော်များများ Homebrew ကို အသုံးပြုကြပါတယ်။ ဒီတစ်ခါအဓိက ပြောချင်တာကတော့ Package Manager ကို တစ်ခါမှ မသုံးဖူးသေးတဲ့ users တွေနဲ့ ၊ Windows အတွက် package manager အကြောင်းပါ။ Package(App) Manager - ဆိုတာကတော့ အလွယ်ပြောရရင် install လုပ်ချင်တဲ့ software ကို download ဆွဲဒါတွေ၊ install လုပ်တာတွေကို automate လုပ်ထားတယ်လို့ပြောလို့ရပါတယ်။ download တွေဆွဲ၊ ပြီးရင် ရလာတဲ့ exe file ကို run ပြီး install လုပ်မယ်ဆို အချိန်ကုန်ပါတယ်၊ အလုပ်ရှုပ်ပါတယ်။ Software တစ်ခု၊ နှစ်ခုလောက် သွင့်တဲ့အချိန် ပြသနာမရှိပေမဲ့ Environment Setup လုပ်တဲ့အခါ တို့ Windows ပြန်တင်ထား

Logging and Monitoring

  Application Logging and Monitoring Application တစ်ခုက server ဒါမှမဟုတ် cloud မှာ run ရုံပဲဆိုရင်တော့ လွယ်ပါလိမ့်မယ်။ personal အမြင် အရဆိုရင်တော့ proper monotorings and alerts တွေ မရှိရင် application ကိုရပ်ထားတာ အကောင်းဆုံးပါပဲ။ ဘာလို့လဲဆိုတော့ ကိုယ့် application/service က ဘာတွေဖြစ်နေတယ်၊ ဘာ error တက်နေတယ်၊ users တွေက တကယ်ရောသုံးလို့ရရဲ့လား အစရှိတာတွေ သိဖို့လိုပါတယ်။ Application မှာ error တစ်ခုခု တက်တာနဲ့ ကိုယ်က သိဖို့လိုပါတယ်၊ user ကပြောမှသိတာမျိုးဆိုရင်တော့ အတော်ကိုအဆင်မပြေပါဘူး။ Bad VOC(Voice of Customers) တွေပဲရပြီး ဘယ်သူမှသုံးချင်တော့မှာမဟုတ်ပါဘူး။ ဒါတွေထဲက တစ်စိတ်တစ်ပိုင်းဖြေရှင်းဖို့အတွက် Logging and Alerts tools တွေအများကြီးရှိပါတယ်။ Splunk ELK Graylog Etc... ဒီထဲကမှ Splunk အကြောင်းကိုနည်းနည်း ပြောချင်ပါတယ်။ Splunk က log management and centralized logging tool တစ်ခုဖြစ်တယ်။ ဘာလို့ ဒီ log management ကိုသုံးရလဲ ဆိုတော့ ကိုယ့် Application/Service က very high performance နဲ့ very high QPS တွေနဲ့ run တယ်ဆိုရင် log တွေကို အလွယ်တကူကြည့်ဖို့ ရှာဖို့ဆိုတာ မလွယ််ပါဘူး။ Instances တွေအမျာ

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 တွေအများကြီးကို စဥ်းစားရတယ်။