ဝဘ်အပလီကေးရှင်းများ ဖန်တီးခြင်းနှင့် ထုတ်ဝေခြင်းအတွက် စစ်ဆေးရန်စာရင်း

ကျွန်ုပ်တို့ခေတ်တွင် သင့်ကိုယ်ပိုင် ဝဘ်အက်ပလီကေးရှင်းကို ဖန်တီးရန်အတွက် ၎င်းကို ဖွံ့ဖြိုးတိုးတက်ရန် မလုံလောက်ပါ။ အရေးကြီးသောအချက်မှာ အပလီကေးရှင်းဖြန့်ကျက်ခြင်းအတွက် ကိရိယာများတပ်ဆင်ခြင်း၊ စောင့်ကြည့်ခြင်းအပြင် ၎င်းလုပ်ငန်းလည်ပတ်နေသည့် ပတ်ဝန်းကျင်ကို စီမံခန့်ခွဲခြင်းနှင့် စီမံခန့်ခွဲခြင်းတို့ဖြစ်သည်။ လူကိုယ်တိုင်အသုံးပြုမှုခေတ်သည် မေ့ပျောက်ပျောက်ကွယ်သွားသည်နှင့်အမျှ ပရောဂျက်ငယ်များအတွက်ပင်၊ အလိုအလျောက်စနစ်သုံးကိရိယာများသည် မြင်သာထင်သာသောအကျိုးကျေးဇူးများကို ဆောင်ကြဉ်းပေးနိုင်ပါသည်။ "လက်ဖြင့်" ဖြန့်ကျက်သောအခါ၊ ကျွန်ုပ်တို့သည် တစ်ခုခုကို ရွှေ့ရန် မကြာခဏ မေ့သွားတတ်သည်၊ ဤသို့မဟုတ် ထိုထူးခြားချက်ကို ထည့်သွင်းစဉ်းစားကာ မေ့သွားသော စမ်းသပ်မှုတစ်ခုကို လုပ်ဆောင်သည်၊ ဤစာရင်းကို အချိန်အတော်ကြာအောင် ဆက်လက်လုပ်ဆောင်နိုင်သည်။

ဤဆောင်းပါးသည် ဝဘ်အက်ပလီကေးရှင်းများဖန်တီးခြင်း၏ အခြေခံများကို သင်ယူနေပြီး အခြေခံစည်းမျဉ်းများနှင့် ကွန်ဗင်းရှင်းများအကြောင်း အနည်းငယ်နားလည်လိုသူများအတွက် ကူညီပေးနိုင်ပါသည်။

ထို့ကြောင့်၊ တည်ဆောက်ခြင်းအပလီကေးရှင်းများကို အပိုင်း ၂ ပိုင်းခွဲထားနိုင်ဆဲဖြစ်သည်- အပလီကေးရှင်းကုဒ်နှင့်သက်ဆိုင်သည့်အရာအားလုံးနှင့် ဤကုဒ်ကိုလုပ်ဆောင်သည့်ပတ်ဝန်းကျင်နှင့်သက်ဆိုင်သည့်အရာအားလုံးကို ခွဲခြားနိုင်သည်။ တစ်ဖန် အပလီကေးရှင်းကုဒ်ကို ဆာဗာကုဒ် (ဆာဗာပေါ်တွင် လုပ်ဆောင်လေ့ရှိသော၊ မကြာခဏ- လုပ်ငန်းဆိုင်ရာ ယုတ္တိ၊ ခွင့်ပြုချက်၊ ဒေတာသိမ်းဆည်းမှု စသည်) နှင့် သုံးစွဲသူကုဒ် (အသုံးပြုသူ၏စက်ပေါ်တွင် လုပ်ဆောင်သည့် မကြာခဏ) ဟူ၍လည်း ခွဲခြားထားသည်။ အင်တာဖေ့စ်၊ ၎င်းနှင့်ဆက်စပ်သောယုတ္တိဗေဒ)။

ဗုဒ္ဓဟူးနေ့နဲ့ စလိုက်ရအောင်။

မည်သည့်ကုဒ်၊ စနစ် သို့မဟုတ် ဆော့ဖ်ဝဲလ်များ၏ လုပ်ဆောင်မှုများအတွက် အခြေခံသည် အော်ပရေးရှင်းစနစ်ဖြစ်သည်၊ ထို့ကြောင့် အောက်တွင် ကျွန်ုပ်တို့သည် hosting စျေးကွက်တွင် လူကြိုက်အများဆုံးစနစ်များကို ကြည့်ရှုပြီး ၎င်းတို့အား အတိုချုံးဖော်ပြချက်ပေးပါမည်။

Windows ကို server ကို - တူညီသော Windows ဖြစ်သော်လည်း server ကွဲလွဲမှုတစ်ခုတွင်ဖြစ်သည်။ Windows ၏ client (ပုံမှန်) ဗားရှင်းတွင် ရရှိနိုင်သော လုပ်ဆောင်ချက်အချို့သည် ဤနေရာတွင် မတွေ့ရပေ၊ ဥပမာ၊ စာရင်းဇယားများနှင့် အလားတူဆော့ဖ်ဝဲများကို စုဆောင်းရန်အတွက် ဝန်ဆောင်မှုအချို့၊ သို့သော် ကွန်ရက်စီမံခန့်ခွဲခြင်းအတွက် အသုံးဝင်မှုများ၊ ဆာဗာများဖြန့်ကျက်ရန်အတွက် အခြေခံဆော့ဖ်ဝဲများ (ဝဘ်၊ ftp၊ ...) ယေဘူယျအားဖြင့် Windows Server သည် ပုံမှန် Windows နှင့်တူပြီး ပုံမှန် Windows ကဲ့သို့ quacks ဖြစ်သော်လည်း၊ ၎င်းသည် ၎င်း၏ ပုံမှန် counterpart များထက် 2 ဆ ပိုကုန်ကျပါသည်။ သို့ရာတွင်၊ သင်သည် အပလီကေးရှင်းကို သီးသန့်/အတုအယောင်ဆာဗာတစ်ခုပေါ်တွင် ဖြန့်ကျက်ထားနိုင်သောကြောင့်၊ ၎င်းသည် တိုးလာနိုင်သော်လည်း သင့်အတွက် နောက်ဆုံးကုန်ကျစရိတ်မှာ မစိုးရိမ်ရပါ။ Windows ပလပ်ဖောင်းသည် စားသုံးသူ OS စျေးကွက်တွင် လွှမ်းမိုးနေရာတစ်ခုအဖြစ် သိမ်းပိုက်ထားသောကြောင့် ၎င်း၏ဆာဗာထုတ်ဝေမှုသည် သုံးစွဲသူအများစုအတွက် အရင်းနှီးဆုံးဖြစ်လိမ့်မည်။

Unix က- အလားတူစနစ်။ ဤစနစ်များတွင် သမားရိုးကျအလုပ်သည် အသုံးပြုသူအား ထိန်းချုပ်မှုဒြပ်စင်တစ်ခုအဖြစ် ကွန်ဆိုးလ်တစ်ခုသာ ပေးဆောင်သည့် အကျွမ်းတဝင်ရှိသော ဂရပ်ဖစ်အင်တာဖေ့စ်တစ်ခုရှိရန် မလိုအပ်ပါ။ အတွေ့အကြုံမရှိသောအသုံးပြုသူတစ်ဦးအတွက်၊ ဤဖော်မတ်ဖြင့်လုပ်ဆောင်ခြင်းသည် ခက်ခဲနိုင်သည်၊ ဒေတာတွင်အတော်လေးရေပန်းစားသော စာသားတည်းဖြတ်ခြင်းမှ ထွက်ရသည့်ကုန်ကျစရိတ်မှာ အဘယ်နည်း။ Vimယင်းနှင့်ပတ်သက်သည့် မေးခွန်းတစ်ခုသည် ၆ နှစ်အတွင်း ကြည့်ရှုမှု ၁.၈ သန်းကျော် ရရှိထားပြီးဖြစ်သည်။ ဤမိသားစု၏ အဓိက ဖြန့်ဝေမှုများ (တည်းဖြတ်မှုများ) မှာ- Debian - လူကြိုက်များသော ဖြန့်ဖြူးမှု၊ ၎င်းရှိ ပက်ကေ့ဂျ်ဗားရှင်းများကို LTS (အဓိကအားဖြင့် အာရုံစိုက်ထားသည်။ရေရှည်အထောက်အပံ့ - အချိန်ကြာမြင့်စွာ ပံ့ပိုးမှု)၊ စနစ်နှင့် ပက်ကေ့ခ်ျများ၏ မျှတမှုမြင့်မားသော ယုံကြည်စိတ်ချရမှုနှင့် တည်ငြိမ်မှုကို ဖော်ပြသည်။ Ubuntu ကို - တည်ငြိမ်မှုကို ထိခိုက်စေနိုင်သော ၎င်းတို့၏ နောက်ဆုံးဗားရှင်းများတွင် ပက်ကေ့ဂျ်အားလုံး၏ ဖြန့်ဝေမှုများပါရှိသည်၊ သို့သော် သင်သည် ဗားရှင်းအသစ်များပါရှိသည့် လုပ်ဆောင်နိုင်စွမ်းကို အသုံးပြုခွင့်ပေးသည်။ Red Hat Enterprise Linux - OSစီးပွားဖြစ်အသုံးပြုရန်အတွက် နေရာချထားပေးသော၊ ပေးဆောင်ရသော်လည်း၊ ဆော့ဖ်ဝဲရောင်းချသူများထံမှ ပံ့ပိုးမှု၊ အချို့သော မူပိုင်ပက်ကေ့ခ်ျများနှင့် ယာဉ်မောင်းပက်ကေ့ခ်ျများ၊ CentOS - ပွင့်လင်းအရင်းအမြစ် တစ်ဦးတည်းပိုင် ပက်ကေ့ဂျ်များနှင့် ပံ့ပိုးကူညီမှု မရှိခြင်းကြောင့် လက္ခဏာရပ်ဖြစ်သော Red Hat Enterprise Linux ၏ ကွဲပြားမှု။

ဤနယ်ပယ်ကို စတင်ကျွမ်းကျင်သောသူများအတွက် ကျွန်ုပ်၏အကြံပြုချက်မှာ စနစ်များဖြစ်သည်။ Windows ကို server ကိုသို့မဟုတ် Ubuntu ကို. Windows ကိုစဉ်းစားရင် ဒါက system ရဲ့ အဓိကရင်းနှီးမှု၊ Ubuntu ကို – အပ်ဒိတ်များကို ပိုမိုခံနိုင်ရည်ရှိပြီး ဥပမာအားဖြင့်၊ ဗားရှင်းအသစ်များလိုအပ်သော နည်းပညာများတွင် ပရောဂျက်များကို စတင်သောအခါတွင် ပြဿနာနည်းပါးသည်။

ထို့ကြောင့် OS ကိုဆုံးဖြတ်ပြီးနောက်၊ သင်အသုံးပြုရန် (ထည့်သွင်းရန်)၊ အပ်ဒိတ်လုပ်ရန်နှင့် ဆာဗာပေါ်ရှိ အက်ပ်၏အခြေအနေ သို့မဟုတ် ၎င်း၏အစိတ်အပိုင်းများကို စောင့်ကြည့်ခွင့်ပြုသည့် ကိရိယာအစုံသို့ ဆက်သွားကြပါစို့။

နောက်အရေးကြီးသော ဆုံးဖြတ်ချက်မှာ သင်၏ အက်ပ်လီကေးရှင်း၏ နေရာချထားမှုနှင့် ၎င်းအတွက် ဆာဗာဖြစ်သည်။ ယခုအချိန်တွင် အဖြစ်များဆုံးမှာ နည်းလမ်း 3 ခုဖြစ်သည်။

  • သင့်ကိုယ်ပိုင်ဆာဗာကို ထားရှိခြင်း (သိမ်းဆည်းခြင်း) သည် ဘတ်ဂျက်နှင့် အဆင်ပြေဆုံး ရွေးချယ်မှုဖြစ်သည်၊ သို့သော် သင့်အရင်းအမြစ်များသည် အချိန်နှင့်အမျှ ၎င်း၏လိပ်စာကို မပြောင်းလဲစေရန် သင့်ပံ့ပိုးပေးသူထံမှ တည်ငြိမ် IP ကို ​​မှာယူရမည်ဖြစ်သည်။
  • Dedicated Server (VDS) ကို ငှားပါ – ၎င်းကို လွတ်လပ်စွာ စီမံခန့်ခွဲပြီး အတိုင်းအတာ ဝန်အား ငှားရမ်းပါ။
  • အသုံးပြုသည့်အရင်းအမြစ်များအတွက် ငွေပေးချေမှုပုံစံသည် အတော်လေးသာလွန်လေ့ရှိသည့် အချို့သော cloud hosting သို့ စာရင်းသွင်းမှုအတွက် ပေးချေခြင်း (မကြာခဏဆိုသလို ၎င်းတို့သည် သင့်အား ပလပ်ဖောင်း၏လုပ်ဆောင်နိုင်စွမ်းကို အခမဲ့စမ်းသုံးရန် အခွင့်အရေးပေးသည်)။ ဤလမ်းညွှန်မှု၏ အထင်ရှားဆုံး ကိုယ်စားလှယ်များ- Amazon AWS (၎င်းတို့သည် ဝန်ဆောင်မှုများကို တစ်နှစ်အခမဲ့ အသုံးပြုခွင့် ပေးသော်လည်း လစဉ် ကန့်သတ်ချက်ဖြင့်)၊ Google Cloud (၎င်းတို့သည် cloud hosting ဝန်ဆောင်မှုများတွင် တစ်နှစ်အတွင်း သုံးစွဲနိုင်သည့် အကောင့်အား ဒေါ်လာ 300 ပေးသည်) ၊ Yandex.Cloud (သူတို့သည် ၂ လအတွက် ရူဘယ် ၄၀၀၀ ပေးသည်)၊ Microsoft Azure (တစ်နှစ်အတွက် လူကြိုက်များသောဝန်ဆောင်မှုများကို အခမဲ့အသုံးပြုခွင့်၊ + တစ်လအတွက် မည်သည့်ဝန်ဆောင်မှုများအတွက်မဆို ရူဘယ် ၁၂၅၀၀)။ ထို့ကြောင့် သင်သည် တစ်ပြားတစ်ချပ်မျှ အသုံးမပြုဘဲ ဤဝန်ဆောင်မှုပေးသူများထဲမှ တစ်ခုခုကို စမ်းကြည့်နိုင်သော်လည်း ပေးဆောင်သည့် အရည်အသွေးနှင့် ဝန်ဆောင်မှုအဆင့်နှင့် ပတ်သက်၍ အနီးစပ်ဆုံး ထင်မြင်ချက်ကို ရယူပါ။

ရွေးချယ်ထားသောလမ်းကြောင်းပေါ် မူတည်၍ အနာဂတ်တွင် ပြောင်းလဲသွားမည့် တစ်ခုတည်းသော အရာမှာ ဤ သို့မဟုတ် ထိုအုပ်ချုပ်ရေးနယ်ပယ်အတွက် မည်သူက အဓိက တာဝန်ရှိသနည်း။ သင်ကိုယ်တိုင် လက်ခံကျင်းပမည်ဆိုပါက လျှပ်စစ်၊ အင်တာနက်၊ ဆာဗာကိုယ်တိုင်၊ ၎င်းတွင် တပ်ဆင်ထားသော ဆော့ဖ်ဝဲလ်များ ပြတ်တောက်မှုမှန်သမျှသည် သင့်ပခုံးပေါ်တွင် လုံးလုံးလျားလျား ရှိနေကြောင်း သင်နားလည်ထားရပါမည်။ သို့သော်၊ လေ့ကျင့်ရေးနှင့်စမ်းသပ်မှုအတွက်၊ ဤအရာသည် လုံလောက်သည်ထက်ပိုပါသည်။

အကယ်၍ သင့်တွင် ဆာဗာတစ်ခု၏ အခန်းကဏ္ဍကို ထမ်းဆောင်နိုင်သော အပိုစက်မရှိပါက၊ သင်သည် ဒုတိယ သို့မဟုတ် တတိယနည်းလမ်းကို အသုံးပြုလိုမည်ဖြစ်သည်။ ခြွင်းချက်အနေဖြင့် ဒုတိယကိစ္စရပ်သည် ပထမကိစ္စနှင့် တူညီသည်၊ ဆာဗာ၏ရရှိနိုင်မှုနှင့် ၎င်း၏ပါဝါကို hoster ၏ပခုံးဆီသို့ လွှဲပြောင်းပေးသည့် ခြွင်းချက်ဖြစ်သည်။ ဆာဗာနှင့် ဆော့ဖ်ဝဲလ်၏ စီမံခန့်ခွဲမှုသည် သင့်ထိန်းချုပ်မှုအောက်တွင် ရှိနေဆဲဖြစ်သည်။

နောက်ဆုံးအနေနှင့်၊ cloud ပံ့ပိုးပေးသူများ၏စွမ်းရည်ကို ငှားရမ်းခြင်း၏ ရွေးချယ်မှု။ ဤတွင် သင်သည် နည်းပညာဆိုင်ရာ အသေးစိတ်အချက်အလက်များကို အလွန်အကျွံမဖော်ပြဘဲ အရာအားလုံးနီးပါးကို အလိုအလျောက်ထိန်းချုပ်မှုကို သတ်မှတ်နိုင်သည်။ ထို့အပြင်၊ စက်တစ်ခုအစား၊ သင်သည် သီးခြားဆာဗာတစ်ခုပိုင်ဆိုင်ခြင်းနှင့် ကုန်ကျစရိတ်များစွာကွာခြားခြင်းမရှိသော်လည်း၊ ဥပမာအားဖြင့်၊ အပလီကေးရှင်း၏ကွဲပြားခြားနားသောအစိတ်အပိုင်းများအတွက်တာဝန်ယူနိုင်သည့် parallel running instances များစွာရှိနိုင်သည်။ ထို့အပြင်၊ တီးမှုတ်ခြင်း၊ ကွန်တိန်နာပြုလုပ်ခြင်း၊ အလိုအလျောက်ဖြန့်ကျက်ခြင်း၊ စဉ်ဆက်မပြတ်ပေါင်းစပ်ခြင်းနှင့် အခြားအရာများအတွက် ကိရိယာများလည်း ရှိပါသည်။ ဤအရာများထဲမှ အချို့ကို အောက်တွင် ကြည့်ပါမည်။

ယေဘူယျအားဖြင့်၊ ဆာဗာအခြေခံအဆောက်အအုံသည် ဤကဲ့သို့ဖြစ်ပုံရသည်- ကျွန်ုပ်တို့တွင် "သံစုံတီးဝိုင်း" ဟုခေါ်သော ("သံစုံတီးဝိုင်း" သည် ဆာဗာဖြစ်ရပ်များစွာကို စီမံခန့်ခွဲသည့်လုပ်ငန်းစဉ်ဖြစ်သည်)၊ ဆာဗာဥပမာတစ်ခု၊ virtualization ကွန်တိန်နာ (ရွေးချယ်နိုင်သော်လည်း အတော်လေး မကြာခဏအသုံးပြုသည်)၊ ၎င်းသည် သင့်အား အပလီကေးရှင်းအား သီးခြားယုတ္တိအလွှာများအဖြစ် ပိုင်းခြားနိုင်စေကာ၊ စဉ်ဆက်မပြတ်ပေါင်းစပ်ဆော့ဖ်ဝဲ—“စခရစ်များ” မှတစ်ဆင့် အပ်ဒိတ်များကို လက်ခံထားသည့်ကုဒ်များကို ခွင့်ပြုပေးသည်။

ထို့ကြောင့်၊ orchestration သည် သင့်အား ဆာဗာများ၏ အခြေအနေကို မြင်နိုင်သည်၊ သို့မဟုတ် ဆာဗာပတ်ဝန်းကျင်သို့ အပ်ဒိတ်များကို နောက်ကြောင်းပြန်လှည့်ခြင်း အစရှိသည်တို့ကို လုပ်ဆောင်နိုင်စေပါသည်။ အစပိုင်းတွင်၊ ဤအသွင်အပြင်သည် သင့်အား သက်ရောက်မှုရှိမည်မဟုတ်ပါ၊ အဘယ်ကြောင့်ဆိုသော် မည်သည့်အရာကိုမဆို စီမံကွပ်ကဲရန်အတွက် သင်သည် ဆာဗာများစွာ လိုအပ်သည် (သင့်တွင်တစ်ခုရှိနိုင်သော်လည်း ၎င်းမှာ အဘယ်ကြောင့် လိုအပ်သနည်း။)၊ ဆာဗာများစွာရှိရန် ၎င်းတို့ကို လိုအပ်ပါသည်။ ဤလမ်းညွှန်ချက်အတွက် ကိရိယာများထဲတွင် ရေပန်းအစားဆုံးမှာ Kubernetes မှ ဖန်တီးထားခြင်း ဖြစ်သည်။ Google.

နောက်တစ်ဆင့်ကတော့ OS အဆင့်မှာ virtualization ဖြစ်ပါတယ်။ ယနေ့ခေတ်တွင်၊ “dockerization” ၏သဘောတရားသည် ကျယ်ကျယ်ပြန့်ပြန့်ဖြစ်လာပြီး tool မှလာသည်။ Dockerတစ်ခုနှင့်တစ်ခု ခွဲထုတ်ထားသော ကွန်တိန်နာများ၏ လုပ်ဆောင်နိုင်စွမ်းကို ပံ့ပိုးပေးသော်လည်း လည်ပတ်မှုစနစ်တစ်ခု၏ အခြေအနေတွင် စတင်ဆောင်ရွက်ပါသည်။ ဒါက ဘာကိုဆိုလိုသလဲ- ဤကွန်တိန်နာတစ်ခုစီတွင် သင်သည် အက်ပလီကေးရှင်းတစ်ခု သို့မဟုတ် အပလီကေးရှင်းတစ်ခုစီကိုပင် လုပ်ဆောင်နိုင်သည်၊ ၎င်းတို့သည် OS တစ်ခုလုံးတွင် တစ်ဦးတည်းရှိကြောင်းကိုပင် သံသယမရှိဘဲ ၎င်းတို့သည် OS တစ်ခုလုံးတွင် တစ်ခုတည်းဖြစ်ကြောင်း ယုံကြည်လိမ့်မည်။ ဤလုပ်ဆောင်ချက်သည် မတူညီသောဗားရှင်းများ၏ ထပ်တူကျသည့်အက်ပ်လီကေးရှင်းများကိုဖွင့်ရန်၊ သို့မဟုတ် ရိုးရိုးရှင်းရှင်းကွဲလွဲနေသည့်အက်ပ်လီကေးရှင်းများအပြင် အက်ပ်တစ်ခု၏အပိုင်းများကို အလွှာများခွဲ၍ လုပ်ဆောင်ရန်အတွက် အလွန်အသုံးဝင်သည်။ ဤအလွှာကို ကာစ်စ်သည် နောက်ပိုင်းတွင် ရုပ်ပုံတစ်ခုသို့ ရေးသားနိုင်သည်၊ ဥပမာ၊ အက်ပ်တစ်ခုအား အသုံးပြုရန် အသုံးပြုနိုင်သည်။ ဆိုလိုသည်မှာ၊ ဤပုံအား ထည့်သွင်းပြီး ၎င်းတွင်ပါရှိသော ကွန်တိန်နာများကို အသုံးချခြင်းဖြင့်၊ သင်သည် သင်၏အပလီကေးရှင်းကို အသုံးပြုရန်အတွက် အဆင်သင့်လုပ်ထားသော ပတ်ဝန်းကျင်ကို ရရှိမည်ဖြစ်သည်။ ပထမအဆင့်တွင်၊ သင်သည် ဤကိရိယာကို အချက်အလက်ဆိုင်ရာ ရည်ရွယ်ချက်များအတွက် နှစ်မျိုးလုံးသုံးနိုင်ပြီး အပလီကေးရှင်းယုတ္တိကို မတူညီသောအလွှာများသို့ ပိုင်းခြားခြင်းဖြင့် အလွန်အစစ်အမှန်အကျိုးခံစားခွင့်များရရှိရန် သင်အသုံးပြုနိုင်ပါသည်။ သို့သော် လူတိုင်းသည် dockerization မလိုအပ်ပါ၊ အမြဲတမ်းလည်းမဟုတ်၊ Dockerization သည် အပလီကေးရှင်းကို "အစိတ်စိတ်အမွှာမွှာခွဲထားသည်"၊ ၎င်း၏ကိုယ်ပိုင်လုပ်ငန်းတာဝန်တစ်ခုစီအတွက် တာဝန်ရှိသော၊ "microservice architecture" ဟုခေါ်သော အပိုင်းငယ်များခွဲထားသည့် ကိစ္စများတွင် တရားမျှတပါသည်။

ထို့အပြင်၊ ပတ်ဝန်းကျင်ကိုပံ့ပိုးပေးသည့်အပြင်၊ ကုဒ်အသွင်ပြောင်းခြင်း၊ အက်ပ်လီကေးရှင်းနှင့်ဆက်စပ်သောစာကြည့်တိုက်များနှင့်ပက်ကေ့ဂျ်များထည့်သွင်းခြင်း၊ စမ်းသပ်မှုများလုပ်ဆောင်ခြင်း၊ ဤလုပ်ဆောင်ချက်များနှင့်ပတ်သက်သော အသိပေးချက်များ အစရှိသည်တို့ပါဝင်သည့် အရည်အချင်းပြည့်မီသောအသုံးချပလီကေးရှင်းတစ်ခုအား သေချာစေရန် လိုအပ်ပါသည်။ ဤနေရာတွင် “စဉ်ဆက်မပြတ် ပေါင်းစည်းခြင်း” (Continuous Integration) ဟူသော သဘောတရားကို အာရုံစိုက်ရန် လိုအပ်ပါသည်။CI - စဉ်ဆက်မပြတ် ပေါင်းစည်းခြင်း။) ယခုအချိန်တွင် ဤနယ်ပယ်ရှိ အဓိကကိရိယာများမှာ Jenkins (Java တွင်ရေးသားထားသော CI ဆော့ဖ်ဝဲလ်သည် အစပိုင်းတွင် အနည်းငယ်ရှုပ်ထွေးပုံပေါ်နိုင်သည်)၊ ဗစ် CI (ပတ္တမြားဖြင့် ရေးထားသည်၊ အစီအရင်၊ အတန်ငယ် ပိုရိုးရှင်းသည်။ Jenkinsသို့ရာတွင်၊ ဖြန့်ကျက်ဖွဲ့စည်းမှုနယ်ပယ်တွင် အသိပညာအချို့ လိုအပ်နေသေးသည်)၊ Gitlab CI (ရေးသားခဲ့သည်။ ပတ္တမြားနဲ့ သွားတော့).

ထို့ကြောင့်၊ သင်၏အပလီကေးရှင်းအလုပ်လုပ်မည့်ပတ်ဝန်းကျင်အကြောင်းပြောပြီးနောက်၊ ဤအပလီကေးရှင်းများကိုဖန်တီးရန်အတွက် ခေတ်မီကမ္ဘာက ကျွန်ုပ်တို့ကိုပေးဆောင်သည့်ကိရိယာများကို နောက်ဆုံးတွင်ကြည့်ရှုရန်အချိန်တန်ပြီဖြစ်သည်။

အခြေခံများနှင့်စကြပါစို့။ backend (backend) – ဆာဗာအပိုင်း။ ဘာသာစကားရွေးချယ်မှု၊ အခြေခံလုပ်ဆောင်ချက်များနှင့် ကြိုတင်သတ်မှတ်ထားသောဖွဲ့စည်းပုံ (မူဘောင်) ကို ဤနေရာတွင် ပုဂ္ဂိုလ်ရေးအရ ဦးစားပေးမှုများဖြင့် အဓိကဆုံးဖြတ်ထားသော်လည်း မည်သို့ပင်ဆိုစေကာမူ ထည့်သွင်းစဉ်းစားရန် လိုအပ်သည် (ဘာသာစကားများနှင့် ပတ်သက်၍ စာရေးဆရာ၏ ထင်မြင်ယူဆချက်သည် အလွန်ပုဂ္ဂလဒိဋ္ဌိဖြစ်သည်၊ ဘက်မလိုက်သော ဖော်ပြချက်သို့)

  • Python သည် အတွေ့အကြုံမရှိသောအသုံးပြုသူအတွက် အတော်လေးဖော်ရွေသောဘာသာစကားတစ်ခုဖြစ်ပြီး အမှားအယွင်းအချို့ကို ခွင့်လွှတ်နိုင်သော်လည်း ၎င်းသည် ဆိုးရွားသည့်အရာများကို မလုပ်မိစေရန် developer နှင့်လည်း အတော်လေး တင်းကျပ်နိုင်ပါသည်။ 1991 ခုနှစ်တွင် ပေါ်ထွန်းခဲ့သော အတော်လေး ရင့်ကျက်ပြီး အဓိပ္ပါယ်ရှိသော ဘာသာစကားတစ်ခု ဖြစ်နေပါပြီ။
  • Go - Google မှဘာသာစကားတစ်ခုဖြစ်ပြီး အတော်လေးဖော်ရွေပြီး အဆင်ပြေသည်၊ ၎င်းသည် မည်သည့်ပလက်ဖောင်းပေါ်တွင်မဆို executable ဖိုင်တစ်ခုကို စုစည်းရန်နှင့် ရယူရန်အတော်လေးလွယ်ကူသည်။ ရိုးရှင်းပြီး သာယာနိုင်သည်၊ သို့မဟုတ် ရှုပ်ထွေးပြီး လေးနက်နိုင်သည်။ ငယ်ရွယ်နုပျိုပြီး မကြာသေးမီက 2009 ခုနှစ်တွင် ပေါ်လာသည်။
  • Rust သည် 2006 ခုနှစ်တွင် ထွက်ရှိခဲ့သော ၎င်း၏ ယခင်လုပ်ဖော်ကိုင်ဖက်များထက် အနည်းငယ်ပိုကြီးသော်လည်း ၎င်း၏လုပ်ဖော်ကိုင်ဖက်များနှင့် နှိုင်းယှဉ်ပါက အလွန်ငယ်သေးသည်။ ပရိုဂရမ်မာအတွက် အဆင့်နိမ့်အလုပ်များစွာကို ဖြေရှင်းရန် ကြိုးစားနေသော်လည်း အတွေ့အကြုံပိုရှိသော developer များအတွက် ရည်ရွယ်ပါသည်။
  • Java သည် 1995 ခုနှစ်တွင် စတင်မိတ်ဆက်ခဲ့သော စီးပွားဖြစ်ဖွံ့ဖြိုးတိုးတက်မှု၏ဝါရင့်ဖြစ်ပြီး ယနေ့ခေတ်လုပ်ငန်းပလီကေးရှင်းဖွံ့ဖြိုးတိုးတက်မှုတွင် အသုံးအများဆုံးဘာသာစကားများထဲမှတစ်ခုဖြစ်သည်။ ၎င်း၏ အခြေခံသဘောတရားများနှင့် လေးလံသော တပ်ဆင်မှုတို့ဖြင့်၊ စတင်အသုံးပြုသူအတွက် အတော်လေး စိန်ခေါ်မှုဖြစ်လာနိုင်သည်။
  • ASP.net သည် Microsoft မှထုတ်လွှတ်သော application development platform တစ်ခုဖြစ်သည်။ လုပ်ဆောင်နိုင်စွမ်းကိုရေးရန်၊ 2000 ခုနှစ်တွင်ပေါ်လာသော C# ဘာသာစကား (အသံထွက် C Sharp) ကို အဓိကအားဖြင့်အသုံးပြုသည်။ ၎င်း၏ရှုပ်ထွေးမှုသည် Java နှင့် Rust ကြားအဆင့်နှင့် နှိုင်းယှဉ်နိုင်သည်။
  • PHP ကို ​​မူလက HTML preprocessing အတွက် အသုံးပြုထားသော်လည်း၊ လက်ရှိတွင် ၎င်းသည် ဘာသာစကားစျေးကွက်တွင် လုံးဝဦးဆောင်မှုရရှိထားသော်လည်း အသုံးပြုမှုကျဆင်းမှုဆီသို့ ဦးတည်သွားပါသည်။ ၎င်းတွင် ဝင်ရောက်မှု ကန့်သတ်ချက် နည်းပါးပြီး ကုဒ်ရေးရန် လွယ်ကူသော်လည်း တစ်ချိန်တည်းတွင် အလွန်ကြီးမားသော အပလီကေးရှင်းများကို တီထွင်သောအခါတွင် ဘာသာစကား၏ လုပ်ဆောင်နိုင်စွမ်းသည် မလုံလောက်နိုင်ပါ။

ကောင်းပြီ၊ ကျွန်ုပ်တို့၏ အပလီကေးရှင်း၏ နောက်ဆုံးအပိုင်း - သုံးစွဲသူအတွက် မြင်သာထင်သာရှိဆုံး - frontend (frontend) – သင့်အပလီကေးရှင်း၏မျက်နှာဖြစ်သည်၊ ၎င်းသည် အသုံးပြုသူတိုက်ရိုက်ဆက်ဆံသည့် ဤအပိုင်းနှင့်ဖြစ်သည်။

အသေးစိတ်အချက်အလက်များကို မဖော်ပြဘဲ၊ ခေတ်မီမျက်နှာစာသည် အသုံးပြုသူအင်တာဖေ့စ်များဖန်တီးရန်အတွက် ဘောင်သုံးခု (နှင့် သိပ်မများ) ပေါ်တွင် ရပ်တည်နေသည်။ ထို့ကြောင့် လူသုံးအများဆုံး သုံးမျိုးမှာ-

  • ReactJS သည် မူဘောင်တစ်ခုမဟုတ်ဘဲ စာကြည့်တိုက်တစ်ခုဖြစ်သည်။ အမှန်မှာ၊ မူဘောင်သည် အချို့သောလုပ်ဆောင်ချက်များ "out of the box" မရှိဘဲနှင့် ၎င်းတို့ကို ကိုယ်တိုင်ထည့်သွင်းရန် လိုအပ်ခြင်းမှသာလျှင် ၎င်း၏ ဂုဏ်ယူဖွယ်ခေါင်းစဉ်နှင့် ကွဲပြားပါသည်။ ထို့ကြောင့်၊ ဤစာကြည့်တိုက်၏ "ပြင်ဆင်မှု" တွင် ထူးခြားသောမူဘောင်များဖွဲ့စည်း၍ ကွဲပြားမှုများရှိသည်။ အခြေခံမူအချို့နှင့် တည်ဆောက်မှုပတ်ဝန်းကျင်၏ အပြင်းအထန်ပြင်ဆင်မှုများကြောင့် အစပြုသူအတွက် အနည်းငယ်ခက်ခဲနိုင်သည်။ သို့သော်၊ အမြန်စတင်ရန်အတွက် သင်သည် "create-react-app" ပက်ကေ့ဂျ်ကို အသုံးပြုနိုင်သည်။
  • VueJS သည် အသုံးပြုသူ အင်တာဖေ့စ်များကို တည်ဆောက်ရန်အတွက် မူဘောင်တစ်ခုဖြစ်သည်။ ဤသုံးပါးပေါင်းတစ်ဆူထဲမှ၊ ၎င်းသည် အသုံးပြုသူအလွယ်ကူဆုံးဘောင်၏ခေါင်းစဉ်ကို မှန်မှန်ကန်ကန်ယူသည်၊ Vue တွင် ဖွံ့ဖြိုးတိုးတက်မှုအတွက်၊ ဝင်ရောက်ရန်အတားအဆီးသည် အခြားဖော်ပြထားသောညီအစ်ကိုများထက် နည်းပါးသည်။ ထို့အပြင် သူသည် ၎င်းတို့တွင် အငယ်ဆုံးဖြစ်သည်။
  • Angular သည် လိုအပ်သော တစ်ခုတည်းသော မူဘောင်များအနက် အရှုပ်ထွေးဆုံးဟု ယူဆပါသည်။ TypeScript (Javascript ဘာသာစကားအတွက် add-on)။ မကြာခဏ ကြီးမားသော လုပ်ငန်းသုံး အက်ပလီကေးရှင်းများ တည်ဆောက်ရန် အသုံးပြုသည်။

အထက်တွင်ရေးခဲ့သည့်အရာများကို အကျဉ်းချုပ်အားဖြင့်၊ ယခု application တစ်ခုကို ဖြန့်ကျက်ခြင်းသည် ယခင်က ဤလုပ်ငန်းစဉ်နှင့် အလွန်ကွာခြားကြောင်း ကျွန်ုပ်တို့ ကောက်ချက်ချနိုင်ပါသည်။ သို့သော်၊ သင့်အား "ဖြန့်ကျက်ခြင်း" ကို ရှေးခေတ်ပုံစံအတိုင်း လုပ်ဆောင်ခြင်းမှ မည်သူမျှ တားဆီးခြင်းမပြုပါ။ သို့သော် အစတွင် သိမ်းဆည်းထားသော အချိန်အနည်းငယ်သည် ဤလမ်းကြောင်းကို ရွေးချယ်သော developer မှ ခြေလှမ်းစရမည့် အမှားပေါင်းများစွာနှင့် ထိုက်တန်ပါသလား။ အဖြေမဟုတ်ဘူးလို့ ယုံကြည်ပါတယ်။ ဤကိရိယာများနှင့် သင့်ကိုယ်သင် ရင်းနှီးအောင် အချိန်အနည်းငယ်ပိုပေးခြင်းဖြင့် (ထိုထက်ပို၍ မလိုအပ်ပါ၊ သင်၏လက်ရှိပရောဂျက်တွင် ၎င်းတို့ကို လိုအပ်သည်ဖြစ်စေ မရှိသည်ကို နားလည်ရန် လိုအပ်သောကြောင့်) ၎င်းကို သိသိသာသာ လျှော့ချနိုင်သည်၊ ဥပမာ၊ ဥပမာ၊ ပတ်ဝန်းကျင်အပေါ် မူတည်ပြီး တစ္ဆေအမှားအယွင်းများ ဖြစ်ပွားမှုများနှင့် ထုတ်လုပ်မှုဆာဗာတွင်သာ ပေါ်လာသည့်အရာများ၊ ဆာဗာပျက်ကျခြင်းကို ဖြစ်စေသည့်အရာများနှင့် မည်သည့်အရာက မစတင်နိုင်သည်ကို ညစဉ်အချိန်တိုင်း ခွဲခြမ်းစိတ်ဖြာခြင်း နှင့် အခြားအရာများ။

source: www.habr.com

မှတ်ချက် Add