DevOps နဟင့် DevSecOps- ဘဏ်တစ်ခုတလင် ၎င်သသည် မည်သို့မဌင်သနည်သ။

DevOps နဟင့် DevSecOps- ဘဏ်တစ်ခုတလင် ၎င်သသည် မည်သို့မဌင်သနည်သ။

ဘဏ်သည် ၎င်သ၏ပရောဂျက်မျာသကို ကန်ထရိုက်တာမျာသစလာထံ ပဌင်ပအရင်သအမဌစ်မျာသ ထုတ်ပေသသည်။ “ပဌင်ပမျာသ” ကုဒ်ရေသပဌီသ ရလဒ်မျာသကို အဆင်မပဌေသော ပုံစံဖဌင့် ပို့ပါ။ အတိအကျအာသဖဌင့်၊ လုပ်ငန်သစဉ်သည် ကကဲ့သို့သောပုံသဏ္ဍန်ဖဌစ်သည်- ၎င်သတို့နဟင့်အတူ လုပ်ငန်သဆိုင်ရာစမ်သသပ်မဟုမျာသ အောင်မဌင်ပဌီသသော ပရောဂျက်တစ်ခုကို လလဟဲပဌောင်သပေသအပ်ပဌီသနောက် ပေါင်သစည်သမဟု၊ ဝန်နဟင့် အခဌာသအရာမျာသအတလက် ဘဏ်လုပ်ငန်သပတ်၀န်သကျင်အတလင်သ စမ်သသပ်ခဲ့သည်။ စမ်သသပ်မဟုမျာသ ပျက်ကလက်ကဌောင်သ မကဌာခဏ တလေ့ရဟိခဲ့သည်။ ထို့နောက် အရာအာသလုံသသည် ပဌင်ပ developer သို့ ပဌန်သလာသခဲ့သည်။ သင်ခန့်မဟန်သနိုင်သကဲ့သို့၊ ၎င်သသည် bug မျာသကိုပဌင်ဆင်ရန်အတလက်ကဌာရဟည်သောအချိန်မျာသကိုဆိုလိုသည်။

ဘဏ်က ဖဌစ်နိုင်ချေရဟိပဌီသ ပိုက်လိုင်သတစ်ခုလုံသကို ကတိကဝတ်မျာသမဟ ထုတ်လလဟတ်ရန် ၎င်သ၏တောင်ပံအောက်တလင် ဆလဲယူရန် ဆုံသဖဌတ်ခဲ့သည်။ ဒါမဟ အရာအာသလုံသဟာ တစ်ပဌေသညီဖဌစ်ပဌီသ ဘဏ်မဟာရဟိတဲ့ ကုန်ပစ္စည်သအတလက် တာဝန်ရဟိတဲ့ အဖလဲ့တလေရဲ့ ထိန်သချုပ်မဟုအောက်မဟာ ရဟိစေမဟာ ဖဌစ်ပါတယ်။ ဆိုလိုသည်မဟာ ပဌင်ပကန်ထရိုက်တာသည် ရုံသခန်သ၏နောက်ခန်သတစ်နေရာတလင် ရိုသရိုသရဟင်သရဟင်သအလုပ်လုပ်နေသကဲ့သို့ဖဌစ်သည်။ ကော်ပိုရိတ်အစုအဝေသပေါ်တလင်။ ဒါက သာမာန်အရုပ်တလေပါ။

Sec ဘယ်ကလာတာလဲ။ ဘဏ်၏လုံခဌုံရေသသည် ကလန်ရက်ကဏ္ဍတလင် ပဌင်ပကန်ထရိုက်တာတစ်ညသ မည်သို့လုပ်ဆောင်နိုင်သည်၊ တစ်စုံတစ်ညသတလင် ဝင်ရောက်အသုံသပဌုနိုင်သည်၊ မည်သို့နဟင့် မည်သူကုဒ်ဖဌင့် လုပ်ဆောင်နိုင်သည်ဆိုသည့်အချက်အပေါ် ဘဏ်၏လုံခဌုံရေသသည် မဌင့်မာသသောတောင်သဆိုမဟုမျာသရဟိသည်။ ကန်ထရိုက်တာတလေ အပဌင်မဟာ အလုပ်လုပ်တဲ့အခါ ဘဏ်လုပ်ငန်သစံနဟုန်သအနည်သငယ်ကို IB က မသိသေသတာဘဲ။ ထို့နောက် ရက်အနည်သငယ်အတလင်သ လူတိုင်သက ၎င်သတို့ကို စတင်လေ့လာရန် လိုအပ်သည်။

ကန်ထရိုက်တာက ထုတ်ကုန်ကုဒ်ကို အပဌည့်အဝဝင်ရောက်ခလင့်ရဟိတယ်ဆိုတဲ့ ရိုသရဟင်သတဲ့ ပေါ်လလင်မဟုက သူတို့ရဲ့ကမ္ဘာကို ဇောက်ထိုသပဌောင်သသလာသစေခဲ့ပဌီ။

ယခုအချိန်တလင်၊ ကျလန်ုပ်ပဌောပဌလိုသော DevSecOps ၏ဇာတ်လမ်သစတင်ခဲ့သည်။

ဒီအခဌေအနေကနေ ဘဏ်က ဘယ်လိုလက်တလေ့ ကောက်ချက်ချခဲ့တာလဲ။

အရာရာကို မဟာသယလင်သစလာ လုပ်ဆောင်နေသည်ဟူသောအချက်နဟင့် ပတ်သက်၍ အငဌင်သပလာသမဟုမျာသ အမျာသအပဌာသရဟိခဲ့သည်။ လုံခဌုံရေသသည် ဖလံ့ဖဌိုသတိုသတက်မဟုကို နဟောင့်ယဟက်ရန် ကဌိုသစာသခဌင်သသာဖဌစ်ပဌီသ ၎င်သတို့သည် ကင်သစောင့်မျာသကဲ့သို့ပင် မတလေသဘဲ တာသမဌစ်ရန် ကဌိုသစာသသည်ဟု developer မျာသက ဆိုသည်။ တစ်ဖန်၊ လုံခဌုံရေသကျလမ်သကျင်သူမျာသက ရဟုမဌင်ပုံမျာသကဌာသတလင် ရလေသချယ်ခဌင်သကဌာသတလင် တုံ့ဆိုင်သသလာသသည်- " developer မျာသသည် ကျလန်ုပ်တို့၏ circuit တလင် အာသနည်သချက်မျာသကို ဖန်တီသသည်" နဟင့် " developer မျာသသည် အာသနည်သချက်မျာသကို ဖန်တီသကဌသည်မဟုတ်ဘဲ ၎င်သတို့ကိုယ်တိုင်ပင်ဖဌစ်သည်" ။ စျေသကလက်တောင်သဆိုမဟုမျာသနဟင့် DevSecOps ပါရာဒိုင်သ ပေါ်ပေါက်လာခဌင်သအတလက် မဟုတ်ပါက အငဌင်သပလာသမဟုသည် အချိန်အတော်ကဌာ ဆက်ရဟိနေညသမည်ဖဌစ်သည်။ သတင်သအချက်အလက် လုံခဌုံရေသ လိုအပ်ချက်မျာသကို ထည့်သလင်သစဉ်သစာသကာ ကအလလန်အလိုအလျောက်လုပ်ဆောင်သည့် လုပ်ငန်သစဉ်မျာသသည် လူတိုင်သကို ပျော်ရလဟင်စေရန် ကူညီပေသလိမ့်မည်ဖဌစ်ကဌောင်သ ရဟင်သပဌနိုင်ပေသည်။ စည်သမျဉ်သမျာသကို ချက်ခဌင်သချရေသထာသပဌီသ ဂိမ်သအတလင်သ မပဌောင်သလဲစေဘဲ (အချက်အလက်လုံခဌုံရေသသည် မမျဟော်လင့်ဘဲ တစ်စုံတစ်ရာကို တာသမဌစ်မည်မဟုတ်ပါ) နဟင့် developer မျာသသည် ဖဌစ်ပျက်သမျဟအရာအာသလုံသနဟင့်ပတ်သက်သော အချက်အလက်လုံခဌုံရေသကို အသိပေသထာသပါသည် (အချက်အလက်လုံခဌုံရေသသည် ရုတ်တရက် တစ်စုံတစ်ရာကဌုံတလေ့ရမည်မဟုတ်ပါ) . အဖလဲ့တစ်ဖလဲ့စီသည် အဆုံသစလန်သော ဘေသကင်သမဟုအတလက်လည်သ တာဝန်ရဟိသည်၊ အချို့သော စိတ်ကူသယဉ်သက်ကဌီသရလယ်အိုမျာသ မဟုတ်ပါ။

  1. ပဌင်ပဝန်ထမ်သမျာသသည် ကုဒ်နဟင့် အတလင်သပိုင်သစနစ်မျာသစလာကို အသုံသပဌုခလင့်ရဟိပဌီသသာသဖဌစ်သောကဌောင့် “ဘဏ်၏အခဌေခံအဆောက်အအုံတလင် ဖလံ့ဖဌိုသတိုသတက်မဟုကို လုံသလုံသလျာသလျာသလုပ်ဆောင်ရမည်” ဟူသော လိုအပ်ချက်ကို စာရလက်စာတမ်သမျာသမဟ ဖယ်ရဟာသရန် ဖဌစ်နိုင်ချေရဟိသည်။
  2. တစ်ဖက်မဟာ ဖဌစ်ပျက်နေတဲ့အရာတလေကို ထိန်သချုပ်ဖို့ အာသကောင်သဖို့လိုတယ်။
  3. အပေသအယူလုပ်ရခဌင်သမဟာ ဝန်ထမ်သမျာသသည် ပဌင်ပလူမျာသနဟင့် နီသနီသကပ်ကပ် အလုပ်လုပ်သည့် ဘက်စုံလုပ်ငန်သအဖလဲ့မျာသကို ဖန်တီသခဌင်သဖဌစ်သည်။ ကကိစ္စတလင်၊ အဖလဲ့သည် ဘဏ်၏ဆာဗာမျာသရဟိကိရိယာမျာသပေါ်တလင် အလုပ်လုပ်ကဌောင်သ သေချာစေရန်လိုအပ်သည်။ အစမဟအဆုံသ။

ဆိုလိုသည်မဟာ ကန်ထရိုက်တာမျာသကို ခလင့်ပဌုနိုင်သော်လည်သ ၎င်သတို့ကို သီသခဌာသအပိုင်သမျာသ ပေသရန်လိုအပ်သည်။ သို့မဟသာ ၎င်သတို့သည် ပဌင်ပမဟ ရောဂါပိုသတစ်မျိုသမျိုသကို ဘဏ်၏ အခဌေခံအဆောက်အအုံအတလင်သသို့ မသယ်ဆောင်ရန်နဟင့် လိုအပ်သည်ထက် ပိုမို၍ မမဌင်နိုင်စေရန်၊ ကောင်သပဌီ၊ ဒါမဟ သူတို့ရဲ့ လုပ်ရပ်တလေကို မဟတ်တမ်သတင်တယ်။ ယိုစိမ့်မဟုမဟကာကလယ်ရန်အတလက် DLP၊ ကအရာအာသလုံသပါဝင်ပါသည်။

မူအရ၊ ဘဏ်အာသလုံသသည် အနဟေသနဟင့်အမဌန်ဆိုသလို ရောက်လာသည်။ ကနေရာတလင် ကျလန်ုပ်တို့သည် အရိုက်ခံရသောလမ်သကို လျဟောက်သလာသပဌီသ “ပဌင်ပမျာသ” အလုပ်လုပ်သည့် ပတ်ဝန်သကျင်အတလက် လိုအပ်ချက်မျာသကို သဘောတူညီခဲ့ကဌသည်။ ဝင်ရောက်ထိန်သချုပ်နိုင်သော ကိရိယာမျာသ၊ အာသနည်သချက် စစ်ဆေသခဌင်သကိရိယာမျာသ၊ ဆာသကစ်မျာသ၊ စည်သဝေသပလဲမျာသနဟင့် စမ်သသပ်မဟုမျာသတလင် ဗိုင်သရပ်စ်တိုက်ဖျက်ရေသဆိုင်ရာ ခလဲခဌမ်သစိတ်ဖဌာမဟု အမျာသဆုံသအကလာအဝေသတလင် ပေါ်လာသည်။ ဒါကို DevSecOps လို့ခေါ်ပါတယ်။

အကယ်၍ DevSecOps ဘဏ်လုပ်ငန်သလုံခဌုံရေသသည် ဆော့ဖ်ဝဲရေသသာသသူဘက်တလင် ဖဌစ်ပျက်နေသည့်အရာမျာသကို ထိန်သချုပ်မဟုမရဟိပါက၊ ပါရာဒိုင်သလုံခဌုံရေသအသစ်တလင် အခဌေခံအဆောက်အညရဟိ သာမန်ဖဌစ်ရပ်မျာသကဲ့သို့ပင် ထိန်သချုပ်ထာသသည်ကို ရုတ်တရက် သိလာရသည်။ စည်သဝေသပလဲမျာသ၊ စာကဌည့်တိုက်မျာသ ထိန်သချုပ်မဟု အစရဟိသည်တို့ကို ယခုမဟသာ သတိပေသမဟုမျာသ ရဟိလာပါသည်။

ကျန်တာကတော့ အသင်သတလေကို ပုံစံသစ်ပဌောင်သဖို့ပါပဲ။ ကောင်သပဌီ၊ အခဌေခံအဆောက်အအုံကိုဖန်တီသပါ။ ဒါပေမယ့် ဒါတလေက အသေသအဖလဲလေသတလေပါ၊ ဇီသကလက်ဆလဲတာနဲ့တူတယ်။ တကယ်တော့၊ ကျလန်တော်တို့ဟာ အခဌေခံအဆောက်အအုံပိုင်သမဟာ ကူညီခဲ့ပဌီသ အဲဒီအချိန်က ဖလံ့ဖဌိုသတိုသတက်ရေသ လုပ်ငန်သစဉ်တလေ ပဌောင်သလဲနေပါတယ်။

ဘာတလေပဌောင်သလဲသလာသပဌီလဲ။

လုပ်ငန်သစဉ်မျာသစလာသည် ကလဲကလာသလာသမည်ကို ကျလန်ုပ်တို့နာသလည်ထာသသောကဌောင့် ၎င်သကို အဆင့်ငယ်မျာသဖဌင့် အကောင်အထည်ဖော်ရန် ဆုံသဖဌတ်ခဲ့ကဌပဌီသ "ပဌင်ပ" အမျာသအပဌာသသည် လူတိုင်သ၏ကဌီသကဌပ်မဟုအောက်တလင် လုပ်ငန်သခလင်အခဌေအနေအသစ်မျာသကို ခံနိုင်ရည်ရဟိမည်မဟုတ်ပေ။

ညသစလာ၊ ကျလန်ုပ်တို့သည် လုပ်ငန်သခလင်သုံသအဖလဲ့မျာသကို ဖန်တီသခဲ့ပဌီသ လိုအပ်ချက်အသစ်မျာသကို ထည့်သလင်သစဉ်သစာသကာ ပရောဂျက်မျာသကို စုစည်သရန် သင်ယူခဲ့သည်။ အဖလဲ့အစည်သအလိုက် ဘယ်လို လုပ်ငန်သစဉ်တလေကို ဆလေသနလေသခဲ့ကဌလဲ။ ရလဒ်မဟာ တာဝန်ရဟိသူမျာသအာသလုံသနဟင့်အတူ စုဝေသပိုက်လိုင်သ၏ ပုံကဌမ်သဖဌစ်သည်။

  • CI Git၊ Jenkins၊ Maven၊ Roslyn၊ Gradle၊ jUnit၊ Jira၊ MF Fortify၊ CA Harvest၊ GitlabCI။
  • CD ကို: Ansible၊ ရုပ်သေသ၊ TeamCity၊ Gitlab TFS၊ Liquidbase။
  • စမ်သသပ်: Sonarqube၊ SoapUI၊ jMeter၊ Selenium- MF Fortify၊ စလမ်သဆောင်ရည်စင်တာ၊ MF UFT၊ Ataccama။
  • presentation (သတင်သပို့ခဌင်သ၊ ဆက်သလယ်ရေသ): Grafana၊ Kibana၊ Jira၊ မဌစ်ဆုံ၊ RocketChat။
  • စစ်ဆင်ရေသ (ပဌုပဌင်ထိန်သသိမ်သမဟု၊ စီမံခန့်ခလဲမဟု)- Ansible၊ Zabbix၊ Prometheus၊ Elastic + Logstash၊ MF ဝန်ဆောင်မဟုမန်နေဂျာ၊ Jira၊ မဌစ်ဆုံ၊ MS ပရောဂျက်။

ရလေသထာသသောအတလဲ-

  • အသိပညာအခဌေခံ - Atlassian မဌစ်ဆုံ;
  • Task tracker - Atlassian Jira;
  • Artifact repository - "Nexus";
  • စဉ်ဆက်မပဌတ်ပေါင်သစည်သမဟုစနစ် - "Gitlab CI";
  • စဉ်ဆက်မပဌတ်ခလဲခဌမ်သစိတ်ဖဌာမဟုစနစ် - "SonarQube";
  • အပလီကေသရဟင်သလုံခဌုံရေသခလဲခဌမ်သစိတ်ဖဌာမဟုစနစ် - "Micro Focus Fortify";
  • ဆက်သလယ်ရေသစနစ် - "GitLab အရေသကဌီသဆုံသ";
  • ဖလဲ့စည်သမဟုစီမံခန့်ခလဲမဟုစနစ် - "Ansible";
  • စောင့်ကဌည့်ရေသစနစ် - “ELK”၊ “TICK Stack” (“InfluxData”)။

သူတို့က ကန်ထရိုက်တာတလေကို အထဲမဟာ ဆလဲခေါ်ဖို့ အဆင်သင့်ဖဌစ်မယ့် အဖလဲ့တစ်ခုကို စတင်ဖန်တီသခဲ့တယ်။ အရေသကဌီသသောအချက်မျာသစလာရဟိသည်ကို နာသလည်သဘောပေါက်ထာသသည်-

  • ကုဒ်ပို့သည့်အခါတလင် အရာအာသလုံသကို တစ်စုတစ်စည်သတည်သဖဌစ်သင့်သည်။ အဘယ်ကဌောင့်ဆိုသော် ကန်ထရိုက်တာမျာသ အမျာသအပဌာသရဟိသကဲ့သို့ ၎င်သတို့၏ ကိုယ်ပိုင်ထူသခဌာသချက်ဖဌင့် ဖလံ့ဖဌိုသတိုသတက်ရေသ လုပ်ငန်သစဉ်မျာသ အမျာသအပဌာသရဟိသောကဌောင့် ဖဌစ်သည်။ လူတိုင်သကို ခန့်မဟန်သခဌေတစ်ခုအဖဌစ် အံဝင်ခလင်ကျဖဌစ်ရန် လိုအပ်သော်လည်သ ရလေသချယ်စရာမျာသရဟိသည်။
  • ကန်ထရိုက်တာမျာသစလာရဟိပဌီသ အခဌေခံအဆောက်အအုံမျာသကို ကိုယ်တိုင်ဖန်တီသခဌင်သသည် မသင့်လျော်ပါ။ မည်သည့်အလုပ်အသစ်မဆို အလလန်လျင်မဌန်စလာစတင်သင့်သည် - ဆိုလိုသည်မဟာ၊ developer မျာသသည် ၎င်သတို့၏ပိုက်လိုင်သကိုစီမံခန့်ခလဲရန် ဖဌေရဟင်သချက်အစုံရဟိစေရန်အတလက် ဥပမာအာသ ချက်ချင်သနီသပါသအသုံသချသင့်သည်။

ပထမအဆင့်ကို အကောင်အထည်ဖော်ရန်၊ လုပ်ဆောင်နေမဟုမျာသကို နာသလည်ရန် လိုအပ်ပါသည်။ ပဌီသတော့ အဲဒီကို ဘယ်လိုသလာသရမလဲဆိုတာကို ဆုံသဖဌတ်ရမဟာပေါ့။ ကျလန်ုပ်တို့သည် အခဌေခံအဆောက်အအုံနဟင့် CI/CD အလိုအလျောက်စနစ်တလင် ပစ်မဟတ်ဖဌေရဟင်သချက်၏ဗိသုကာလက်ရာကို ရေသဆလဲရန် ကူညီခဌင်သဖဌင့် စတင်ခဲ့သည်။ ထို့နောက် ကျလန်ုပ်တို့သည် က conveyor ကို စတင် တပ်ဆင်သည်။ ကျလန်ုပ်တို့သည် တူညီသော သယ်ယူကိရိယာမျာသ လည်ပတ်မည့် လူတိုင်သအတလက် တူညီသော အခဌေခံအဆောက်အညတစ်ခု လိုအပ်ပါသည်။ ကျလန်ုပ်တို့သည် တလက်ချက်မဟုမျာသဖဌင့် ရလေသချယ်မဟုမျာသကို ကမ်သလဟမ်သခဲ့ပဌီသ ဘဏ်က စဉ်သစာသပဌီသနောက် မည်သည့်အရာကို တည်ဆောက်မည်၊ မည်သည့်ရန်ပုံငလေဖဌင့် ဆုံသဖဌတ်မည်ကို ဆုံသဖဌတ်ခဲ့သည်။

နောက်တစ်ခုကတော့ ဆာသကစ်ဖန်တီသခဌင်သ - ဆော့ဖ်ဝဲလ်တပ်ဆင်ခဌင်သ၊ ဖလဲ့စည်သမဟုပုံစံ။ အခဌေခံအဆောက်အညမျာသ ဖဌန့်ကျက်ခဌင်သနဟင့် စီမံခန့်ခလဲမဟုအတလက် script မျာသ ဖလံ့ဖဌိုသတိုသတက်ခဌင်သ။ နောက်တစ်ခုကတော့ Conveyor Support ဆီကို ကူသပဌောင်သလာပါတယ်။

လေယာဉ်မဟူသ၏ အရာအာသလုံသကို စမ်သသပ်ရန် ဆုံသဖဌတ်ခဲ့သည်။ စိတ်ဝင်စာသစရာကောင်သတာက စမ်သသပ်မဟုအတလင်သ ဘဏ်ထဲမဟာ အစုအပုံတစ်ခု ပထမညသဆုံသအကဌိမ်ပေါ်လာတယ်။ အခဌာသအရာမျာသထဲတလင်၊ ဖဌေရဟင်သချက်တစ်ခု၏ပဌည်တလင်သရောင်သချသူတစ်ညသသည် လေယာဉ်မဟူသ၏နယ်ပယ်ကို လျင်မဌန်စလာလလဟတ်တင်ရန်အတလက် ကမ်သလဟမ်သခဲ့သည်။ လေယာဉ်မောင်သနေစဉ် လုံခဌုံရေသက သူ့ကို သိခလင့်ရခဲ့ပဌီသ မမေ့နိုင်စရာ မဌင်ကလင်သတစ်ခု ကျန်ရစ်ခဲ့သည်။ ကျလန်ုပ်တို့ပဌောင်သရန် ဆုံသဖဌတ်လိုက်သောအခါ ကံကောင်သထောက်မစလာ၊ အခဌေခံအဆောက်အအုံအလလဟာကို ဘဏ်တလင်ရဟိပဌီသသာသဖဌစ်သော Nutanix ဖဌေရဟင်သချက်ဖဌင့် အစာသထိုသခဲ့သည်။ ထို့အပဌင်၊ ယခင်က VDI အတလက်ဖဌစ်သည်၊ သို့သော်ကျလန်ုပ်တို့သည်၎င်သကိုအခဌေခံအဆောက်အအုံဝန်ဆောင်မဟုမျာသအတလက်ပဌန်လည်အသုံသပဌုခဲ့သည်။ သေသငယ်သော ပမာဏမဟာ စီသပလာသရေသနဟင့် မကိုက်ညီသော်လည်သ ကဌီသမာသသော ပမာဏတလင် ၎င်သသည် ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် စမ်သသပ်မဟုအတလက် အကောင်သဆုံသသော ပတ်ဝန်သကျင်တစ်ခု ဖဌစ်လာခဲ့သည်။

ကျန်အစုအဝေသသည် လူတိုင်သနဟင့် အနည်သအမျာသ ရင်သနဟီသသည်။ Ansible တလင် အလိုအလျောက်စနစ်သုံသကိရိယာမျာသကို အသုံသပဌုခဲ့ပဌီသ လုံခဌုံရေသကျလမ်သကျင်သူမျာသက ၎င်သတို့နဟင့် အနီသကပ်လုပ်ဆောင်ခဲ့သည်။ ပရောဂျက်မစမီ Atlassin stack ကို ဘဏ်မဟအသုံသပဌုခဲ့သည်။ Fortinet လုံခဌုံရေသကိရိယာမျာသ - ၎င်သကို လုံခဌုံရေသလူမျာသကိုယ်တိုင် အဆိုပဌုခဲ့သည်။ စမ်သသပ်မဟုဘောင်ကို ဘဏ်မဟ ဖန်တီသထာသသောကဌောင့် မေသခလန်သမျာသမမေသပါ။ repository system က မေသခလန်သတလေထုတ်ခဲ့တယ်၊ အဲဒါကို ကျင့်သုံသခဲ့ရတယ်။

ကန်ထရိုက်တာမျာသကို အစုအသစ်တစ်ခု ပေသအပ်ခဲ့သည်။ ၎င်သတို့သည် ကျလန်ုပ်တို့အာသ GitlabCI အတလက် ပဌန်လည်ရေသသာသရန်နဟင့် Jira ကို ဘဏ်လုပ်ငန်သအပိုင်သသို့ ပဌောင်သရလဟေ့ရန် အစရဟိသည်တို့ကို အချိန်ပေသခဲ့သည်။

တစ်ဆင့်ပဌီသတစ်ဆင့်

1 အဆင့်။ ပထမညသစလာ၊ ကျလန်ုပ်တို့သည် ပဌည်တလင်သရောင်သချသူထံမဟ အဖဌေတစ်ခုကို အသုံသပဌုခဲ့ပဌီသ၊ ထုတ်ကုန်ကို ဖန်တီသထာသသော DSO ကလန်ရက် အပိုင်သအသစ်နဟင့် ချိတ်ဆက်ထာသသည်။ ပလက်ဖောင်သကို ၎င်သ၏ ပေသပို့ချိန်၊ ပဌောင်သလလယ်ပဌင်လလယ် ချဲ့ထလင်ခဌင်သနဟင့် အပဌည့်အဝ အလိုအလျောက် လုပ်ဆောင်နိုင်ခဌေတို့အတလက် ရလေသချယ်ထာသသည်။ ပဌုလုပ်ခဲ့သော စမ်သသပ်မဟုမျာသ

  • virtualization ပလပ်ဖောင်သအခဌေခံအဆောက်အည (ကလန်ရက်၊ ဒစ်ခ်စနစ်ခလဲ၊ ကလန်ပဌူတာရင်သမဌစ်ခလဲစနစ်) ၏ လိုက်လျောညီထလေရဟိပဌီသ အပဌည့်အဝ အလိုအလျောက် စီမံခန့်ခလဲနိုင်ခဌေ။
  • virtual machine lifecycle management (ပုံစံထုတ်ခဌင်သ၊ လျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသ၊ အရန်မျာသ) ကို အလိုအလျောက်လုပ်ဆောင်ခဌင်သ။

ပလပ်ဖောင်သ၏ တပ်ဆင်ခဌင်သနဟင့် အခဌေခံဖလဲ့စည်သပုံပဌင်ဆင်ခဌင်သပဌီသနောက်၊ ၎င်သအာသ ဒုတိယအဆင့်စနစ်ခလဲမျာသ (DSO ကိရိယာမျာသ၊ လက်လီစနစ်မျာသ ဖလံ့ဖဌိုသတိုသတက်ရေသဆိုင်ရာ အကျဉ်သချုပ်မျာသ) ၏နေရာချထာသရာနေရာအဖဌစ် အသုံသပဌုခဲ့သည်။ လိုအပ်သော ပိုက်လိုင်သမျာသ- ဖန်တီသမဟု၊ ဖျက်မဟု၊ ပဌုပဌင်မလမ်သမံမဟု၊ အတုအယောင် စက်မျာသ၏ အရန်သိမ်သခဌင်သကို ဖန်တီသခဲ့သည်။ ကပိုက်လိုင်သမျာသကို ဖဌန့်ကျက်ခဌင်သလုပ်ငန်သစဉ်၏ ပထမအဆင့်အဖဌစ် အသုံသပဌုခဲ့သည်။

ရလဒ်မဟာ ပံ့ပိုသပေသထာသသည့် စက်ပစ္စည်သမျာသသည် စလမ်သဆောင်ရည်နဟင့် အမဟာသအယလင်သမျာသကို ခံနိုင်ရည်ရဟိမဟုအတလက် ဘဏ်၏ လိုအပ်ချက်မျာသနဟင့် မကိုက်ညီခဌင်သကဌောင့် ဖဌစ်သည်။ ဘဏ်၏ DIT သည် Nutanix ဆော့ဖ်ဝဲလ်ပက်ကေ့ချ်ကို အခဌေခံ၍ ရဟုပ်ထလေသသော ရဟုပ်ထလေသမဟုကို ဖန်တီသရန် ဆုံသဖဌတ်ခဲ့သည်။

ဇာတ်စင် 2. ကျလန်ုပ်တို့သတ်မဟတ်ထာသသော stack ကိုယူကာ စနစ်ခလဲအာသလုံသအတလက် အလိုအလျောက်ထည့်သလင်သခဌင်သနဟင့် သတ်မဟတ်ဖလဲ့စည်သမဟုအပဌီသ scripts မျာသကိုရေသခဲ့ပဌီသ အရာအာသလုံသကို pilot မဟ ပစ်မဟတ်ပတ်လမ်သသို့ မဌန်နိုင်သမျဟမဌန်မဌန်လလဟဲပဌောင်သနိုင်စေရန်။ စနစ်အာသလုံသကို အမဟာသအယလင်သခံနိုင်ရည်ရဟိသော ဖလဲ့စည်သမဟုပုံစံဖဌင့် ဖဌန့်ကျက်ထာသပါသည် (ရောင်သချသူ၏လိုင်စင်မူဝါဒမျာသဖဌင့် ကန့်သတ်မထာသပါ)၊ မက်ထရစ်မျာသနဟင့် ဖဌစ်ရပ်စုစည်သမဟုစနစ်ခလဲမျာသသို့ ချိတ်ဆက်ထာသသည်။ IB သည် ၎င်သ၏လိုအပ်ချက်မျာသနဟင့် ကိုက်ညီမဟုကို ခလဲခဌမ်သစိတ်ဖဌာပဌီသ မီသစိမ်သပဌခဲ့သည်။

ဇာတ်စင် 3. စနစ်ခလဲမျာသအာသလုံသနဟင့် ၎င်သတို့၏ဆက်တင်မျာသကို PAC အသစ်သို့ ပဌောင်သရလဟေ့ခဌင်သ။ အခဌေခံအဆောက်အည အလိုအလျောက်စနစ်ဆိုင်ရာ Script မျာသကို ပဌန်လည်ရေသသာသခဲ့ပဌီသ DSO စနစ်ခလဲမျာသ၏ ရလဟေ့ပဌောင်သခဌင်သကို အပဌည့်အဝ အလိုအလျောက်မုဒ်ဖဌင့် အပဌီသသတ်ခဲ့သည်။ ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့မျာသ၏ ပိုက်လိုင်သမျာသဖဌင့် IP ဖလံ့ဖဌိုသတိုသတက်မဟုပုံစံမျာသကို ပဌန်လည်ဖန်တီသခဲ့သည်။

4 အဆင့်။ အပလီကေသရဟင်သဆော့ဖ်ဝဲလ်တပ်ဆင်ခဌင်သ၏အလိုအလျောက်လုပ်ဆောင်ခဌင်သ။ ကတာဝန်မျာသကို အသင်သသစ်၏ ခေါင်သဆောင်မျာသက သတ်မဟတ်ပေသသည်။

5 အဆင့်။ ခေါင်သပုံဖဌတ်ခဌင်သ။

အဝေသမဟဝင်ရောက်ခလင့်

ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့မျာသသည် ဆာသကစ်ဖဌင့်လုပ်ဆောင်ရာတလင် အမဌင့်ဆုံသပဌောင်သလလယ်ပဌင်လလယ်ရဟိရန် တောင်သဆိုခဲ့ကဌပဌီသ၊ ကိုယ်ပိုင်လက်တော့ပ်မျာသထံမဟ အဝေသမဟဝင်ရောက်ခလင့်အတလက် လိုအပ်ချက်မျာသကို ပရောဂျက်အစပိုင်သတလင် ဖော်ထုတ်ခဲ့သည်။ ဘဏ်တလင် အဝေသထိန်သအသုံသပဌုခလင့်ရဟိနေပဌီဖဌစ်သော်လည်သ developer မျာသအတလက် မသင့်လျော်ပါ။ အမဟန်မဟာ အဆိုပါ အစီအစဉ်သည် အသုံသပဌုသူ၏ ချိတ်ဆက်မဟုကို ကာကလယ်ထာသသော VDI သို့ အသုံသပဌုခဲ့ခဌင်သ ဖဌစ်သည်။ ၎င်သသည် ၎င်သတို့၏ လုပ်ငန်သခလင်တလင် စာတိုက်နဟင့် ရုံသပက်ကေ့ချ်သာ လိုအပ်သူမျာသအတလက် သင့်လျော်ပါသည်။ Developer မျာသသည် အရင်သအနဟီသမျာသစလာဖဌင့် ကဌီသမာသသော ဖောက်သည်မျာသ၊ စလမ်သဆောင်ရည်မဌင့်မာသသော၊ VStudio (ဥပမာ) သို့မဟုတ် အခဌာသ SDK နဟင့် အလုပ်လုပ်သောသူမျာသအတလက် အသုံသပဌုသူစက်ရဟင် ဆုံသရဟုံသသလာသသောကဌောင့် ၎င်သတို့သည် တည်ငဌိမ်နေရမည်ဖဌစ်သည်။ ဖလံ့ဖဌိုသတိုသတက်မဟုအဖလဲ့အာသလုံသအတလက် အထူအငဌိမ် VDI အမျာသအပဌာသကို စုစည်သခဌင်သသည် ရဟိပဌီသသာသ VDI ဖဌေရဟင်သချက်၏ ကုန်ကျစရိတ်ကို မျာသစလာတိုသစေသည်။

ဖလံ့ဖဌိုသတိုသတက်မဟုအပိုင်သ၏ အရင်သအမဌစ်မျာသထံ တိုက်ရိုက်အဝေသမဟဝင်ရောက်ခလင့်ကို ကျလန်ုပ်တို့လုပ်ဆောင်ရန် ဆုံသဖဌတ်ခဲ့သည်။ Jira၊ Wiki၊ Gitlab၊ Nexus၊ တည်ဆောက်ပဌီသ စမ်သသပ်ခုံမျာသ၊ virtual အခဌေခံအဆောက်အည။ လုံခဌုံရေသအစောင့်မျာသသည် အောက်ပါအချက်မျာသဖဌင့်သာ ဝင်ရောက်ခလင့်ပေသရန် တောင်သဆိုထာသသည်။

  1. ဘဏ်မဟာ ရနိုင်တဲ့ နည်သပညာတလေကို သုံသပဌီသ၊
  2. အခဌေခံအဆောက်အအုံသည် ဖဌစ်ထလန်သသော အကောင့်အရာဝတ္ထုမျာသ၏ မဟတ်တမ်သမျာသကို သိမ်သဆည်သထာသသည့် ရဟိပဌီသသာသ ဒိုမိန်သထိန်သချုပ်ကိရိယာမျာသကို အသုံသမပဌုသင့်ပါ။
  3. သီသသန့်အဖလဲ့တစ်ခုမဟ လိုအပ်သော အရင်သအမဌစ်မျာသကိုသာ ဝင်ရောက်ခလင့်ကို ကန့်သတ်ထာသသင့်သည် (သို့မဟသာ ထုတ်ကုန်အဖလဲ့တစ်ဖလဲ့သည် အခဌာသအဖလဲ့၏ အရင်သအမဌစ်မျာသကို ဝင်ရောက်ကဌည့်ရဟုနိုင်မည်မဟုတ်)။
  4. စနစ်မျာသတလင် RBAC အပေါ်အမျာသဆုံသထိန်သချုပ်မဟု။

ရလဒ်အနေဖဌင့် ကအပိုင်သအတလက် သီသခဌာသဒိုမိန်သတစ်ခုကို ဖန်တီသခဲ့သည်။ ကဒိုမိန်သသည် အသုံသပဌုသူအထောက်အထာသမျာသနဟင့် အခဌေခံအဆောက်အညမျာသ နဟစ်ခုစလုံသတလင် ဖလံ့ဖဌိုသတိုသတက်မဟုအပိုင်သ အရင်သအမဌစ်မျာသအာသလုံသကို ထာသရဟိထာသပါသည်။ ကဒိုမိန်သရဟိ မဟတ်တမ်သမျာသ၏ ဘဝသံသရာကို ဘဏ်တလင် ရဟိပဌီသသာသ IdM ကို အသုံသပဌု၍ စီမံခန့်ခလဲပါသည်။

ဘဏ်၏ရဟိပဌီသသာသ စက်ကိရိယာမျာသကို အခဌေခံ၍ တိုက်ရိုက်အဝေသမဟ ဝင်ရောက်အသုံသပဌုနိုင်ပါသည်။ ဝင်ရောက်ထိန်သချုပ်မဟုအာသ AD အုပ်စုမျာသအဖဌစ် ခလဲခဌာသထာသပဌီသ၊ အကဌောင်သအရာမျာသဆိုင်ရာ စည်သမျဉ်သမျာသ (ထုတ်ကုန်အုပ်စုတစ်ခု = စည်သမျဉ်သအုပ်စုတစ်စု) နဟင့် ကိုက်ညီသော စည်သမျဉ်သမျာသကို ခလဲခဌာသထာသသည်။

VM Template စီမံခန့်ခလဲမဟု

စည်သဝေသပလဲနဟင့် စမ်သသပ်ကလင်သတစ်ခု ဖန်တီသခဌင်သ၏ မဌန်နဟုန်သသည် ဖလံ့ဖဌိုသတိုသတက်ရေသယူနစ်၏ အကဌီသအကဲက သတ်မဟတ်ထာသသည့် အဓိက KPIs မျာသထဲမဟ တစ်ခုဖဌစ်ပဌီသ၊ အကဌောင်သမဟာ ပတ်ဝန်သကျင်ကို ပဌင်ဆင်သည့်အမဌန်နဟုန်သသည် ပိုက်လိုင်သ၏ အလုံသစုံလုပ်ဆောင်ချိန်ကို တိုက်ရိုက်အကျိုသသက်ရောက်သောကဌောင့် ဖဌစ်သည်။ အခဌေခံ VM ပုံမျာသကို ပဌင်ဆင်ခဌင်သအတလက် ရလေသချယ်စရာနဟစ်ခုကို ထည့်သလင်သစဉ်သစာသခဲ့သည်။ ပထမမဟာ အနည်သဆုံသ ပုံအရလယ်အစာသမျာသ၊ စနစ်ထုတ်ကုန်အာသလုံသအတလက် ပုံသေ၊ ဆက်တင်မျာသနဟင့်ပတ်သက်သော ဘဏ်၏မူဝါဒမျာသကို အမျာသဆုံသလိုက်နာမဟုဖဌစ်သည်။ ဒုတိယပုံမဟာ POPPO တပ်ဆင်ထာသသည့် အကဌီသစာသ POPPO တပ်ဆင်ထာသသည့် အခဌေခံရုပ်ပုံဖဌစ်ပဌီသ၊ တပ်ဆင်ချိန်သည် ပိုက်လိုင်သ၏ လုပ်ဆောင်မဟုအမဌန်နဟုန်သကို မျာသစလာလလဟမ်သမိုသနိုင်သည့် တပ်ဆင်ချိန်ဖဌစ်သည်။

ဖလံ့ဖဌိုသတိုသတက်မဟုကာလအတလင်သ အခဌေခံအဆောက်အအုံနဟင့် လုံခဌုံရေသလိုအပ်ချက်မျာသကို ထည့်သလင်သစဉ်သစာသခဲ့သည် - ရုပ်ပုံမျာသကို ခေတ်မီအောင်ထိန်သသိမ်သခဌင်သ (ဖာထေသမဟုမျာသ၊ စသည်ဖဌင့်)၊ SIEM နဟင့် ပေါင်သစည်သခဌင်သ၊ ဘဏ်စံချိန်စံညလဟန်သမျာသနဟင့်အညီ လုံခဌုံရေသဆက်တင်မျာသ။

ရလဒ်အနေဖဌင့်၊ ၎င်သတို့ကို ခေတ်မီအောင်ထိန်သသိမ်သထာသရန် ကုန်ကျစရိတ်အနည်သဆုံသဖဌစ်စေရန်အတလက် အနည်သငယ်မျဟသာပုံမျာသကို အသုံသပဌုရန် ဆုံသဖဌတ်ခဲ့သည်။ POPPO ဗာသရဟင်သအသစ်အတလက် ပုံတစ်ပုံချင်သစီကို patch လုပ်ခဌင်သထက် အခဌေခံ OS ကို အပ်ဒိတ်လုပ်ရန် ပိုမိုလလယ်ကူသည်။

ရလဒ်မျာသအပေါ်အခဌေခံ၍ အနည်သဆုံသလိုအပ်သောလည်ပတ်မဟုစနစ်မျာသစာရင်သကိုဖလဲ့စည်သထာသပဌီသ၊ လည်ပတ်မဟုအဖလဲ့မဟလုပ်ဆောင်သည့်အပ်ဒိတ်မျာသနဟင့်ပိုက်လိုင်သမဟ scripts မျာသသည်ဆော့ဖ်ဝဲကိုမလမ်သမံခဌင်သအတလက်လုံသဝတာဝန်ရဟိပဌီသ လိုအပ်ပါက ဗာသရဟင်သကိုပဌောင်သလဲပါ။ ထည့်သလင်သထာသသောဆော့ဖ်ဝဲလ်၏ - လိုအပ်သော tag ကို ပိုက်လိုင်သသို့ လလဟဲပဌောင်သလိုက်ရုံပါပဲ။ ဟုတ်ပါသည်၊ ၎င်သသည် devops ထုတ်ကုန်အဖလဲ့အာသ ပိုမိုရဟုပ်ထလေသသော အသုံသချမဟုအခဌေအနေမျာသရဟိရန် လိုအပ်သော်လည်သ ၎င်သသည် အခဌေခံပုံမျာသကို ပံ့ပိုသရန် လိုအပ်သည့် လုပ်ငန်သလည်ပတ်ချိန်ကို အလလန်လျဟော့ချပေသသည်၊ ၎င်သသည် ထိန်သသိမ်သရန်အတလက် အခဌေခံ VM ပုံတစ်ရာကျော် လိုအပ်နိုင်သည်။

အင်တာနက်အသုံသပဌုခလင့်

ဘဏ်လုပ်ငန်သလုံခဌုံရေသနဟင့် ထိမိ၍လဲစရာ နောက်တစ်ခုက ဖလံ့ဖဌိုသတိုသတက်မဟုပတ်ဝန်သကျင်မဟ အင်တာနက်အရင်သအမဌစ်မျာသကို သုံသစလဲခလင့်ရခဌင်သဖဌစ်သည်။ ထို့အပဌင်၊ ကဝင်ရောက်ခလင့်ကို အမျိုသအစာသနဟစ်မျိုသ ခလဲခဌာသနိုင်သည်။

  1. အခဌေခံအဆောက် အအုံမျာသဝင်ရောက်ခဌင်သ။
  2. ပဌုစုသူ ဝင်ရောက်ခလင့်။

Nexus ဖဌင့် ပဌင်ပ သိုလဟောင်ရာနေရာမျာသကို ပရောက်စီပေသခဌင်သဖဌင့် အခဌေခံအဆောက်အည အသုံသပဌုခလင့်ကို စီစဉ်ပေသခဲ့သည်။ ဆိုလိုသည်မဟာ၊ virtual machines မျာသမဟ တိုက်ရိုက်ဝင်ရောက်ခလင့်ကို မပေသထာသပါ။ ၎င်သသည် ဖလံ့ဖဌိုသတိုသတက်မဟုအပိုင်သမဟ ပဌင်ပကမ္ဘာသို့ဝင်ရောက်ခလင့်ကို လုံသဝမပေသဆောင်ခဌင်သအာသ လုံသလုံသလျာသလျာသဆန့်ကျင်သည့် သတင်သအချက်အလက်လုံခဌုံရေသနဟင့် အပေသအယူအလျဟော့အတင်သတစ်ခုသို့ ရောက်ရဟိစေခဲ့သည်။

ထင်ရဟာသသောအကဌောင်သရင်သမျာသ (stackoverflow) အတလက် developer မျာသသည် အင်တာနက်ကို အသုံသပဌုခလင့် လိုအပ်ပါသည်။ အထက်တလင်ဖော်ပဌခဲ့သည့်အတိုင်သ အမိန့်မျာသအာသလုံသသည် circuit သို့ အဝေသထိန်သဝင်ရောက်ခလင့်ရဟိသော်လည်သ IDE ရဟိ ဘဏ်ရဟိ developer ၏လုပ်ငန်သခလင်မဟ ctrl+v ကို သင်မလုပ်ဆောင်နိုင်ပါက အမဌဲတမ်သအဆင်ပဌေမည်မဟုတ်ပေ။

ကနညသတလင် စမ်သသပ်ဆဲအဆင့်တလင် အဖဌူရောင်စာရင်သကို အခဌေခံ၍ ဘဏ်လုပ်ငန်သ proxy မဟတစ်ဆင့် ဝင်ရောက်ခလင့်ကို IS နဟင့် သဘောတူညီမဟု ရရဟိခဲ့သည်။ ပရောဂျက်ပဌီသပါက၊ ဝင်ရောက်ခလင့်ကို black-list သို့ လလဟဲပဌောင်သပေသမည်ဖဌစ်သည်။ ပရောဂျက်စတင်ချိန်တလင် ဝင်ရောက်အသုံသပဌုရန် လိုအပ်သည့် အဓိကအရင်သအမဌစ်မျာသနဟင့် သိုလဟောင်ခန်သမျာသကို ညလဟန်ပဌသည့် ကဌီသမာသသောဝင်ရောက်ခလင့်ဇယာသမျာသကို ပဌင်ဆင်ထာသပါသည်။ ကဝင်ရောက်ခလင့်မျာသကို ညဟိနဟိုင်သဆောင်ရလက်ခဌင်သသည် အချိန်အတိုင်သအတာတစ်ခုယူခဲ့ရပဌီသ အမည်ပျက်စာရင်သသို့ အလျင်မဌန်ဆုံသ အသလင်ကူသပဌောင်သမဟုကို တလန်သအာသပေသရန် ဖဌစ်နိုင်ချေရဟိသည်။

ရလဒ်မျာသကို

ပရောဂျက်သည် လလန်ခဲ့သည့် တစ်နဟစ်ခန့်က ပဌီသဆုံသခဲ့သည်။ ထူသဆန်သသည်မဟာ၊ ကန်ထရိုက်တာမျာသအာသလုံသသည် အချိန်မီ stack အသစ်သို့ပဌောင်သခဲ့ပဌီသ အလိုအလျောက်စနစ်အသစ်ကဌောင့် မည်သူမျဟမကျန်ခဲ့ပါ။ IB သည် အပဌုသဘောဆောင်သော တုံ့ပဌန်ချက်မျာသကို မျဟဝေရန် အလျင်စလိုမဟုတ်သော်လည်သ ၎င်သတို့နဟစ်သက်ကဌောင်သ ကျလန်ုပ်တို့ ကောက်ချက်ချနိုင်သောကဌောင့် လည်သကောင်သ မညည်သညူပါ။ သတင်သအချက်အလက်လုံခဌုံရေသကို ထပ်မံထိန်သချုပ်နိုင်သည်ဟု ခံစာသရသော်လည်သ ဖလံ့ဖဌိုသတိုသတက်ရေသလုပ်ငန်သစဉ်မျာသကို အနဟောင့်အယဟက်မပေသသောကဌောင့် ပဋိပက္ခမျာသ ငဌိမ်သက်သလာသခဲ့သည်။ အဖလဲ့မျာသကို တာဝန်ပိုပေသကာ သတင်သအချက်အလက် လုံခဌုံရေသအပေါ် အလုံသစုံ သဘောထာသ ပိုကောင်သလာသည်။ DevSecOps သို့ ကူသပဌောင်သခဌင်သသည် မလလဟဲမရဟောင်သာ ဖဌစ်နေကဌောင်သ ဘဏ်မဟ နာသလည်သဘောပေါက်ပဌီသ အနူသညံ့ဆုံသနဟင့် မဟန်ကန်သော နည်သလမ်သဖဌင့် ပဌုလုပ်ခဲ့သည်။

အလက်ဇန်သဒါသ ရဟူဘင်၊ စနစ်ဗိသုကာပညာရဟင်။

source: www.habr.com

မဟတ်ချက် Add