Monthly Archives: April 2012

X as a Service (XaaS)

X as a Service (XaaS) ဆိုတော့ ဘာပါလိမ့်လို့ ဇဝေဇဝါဖြစ်နိုင်ပါတယ် အခုနောက်ပိုင်း လူပြောများတဲ့ Cloud Computing ဆိုတာကို ကိုယ်တိုင်နာမည်တပ်ထားတာပါ။ Intel ရဲ့ x86 Processor တို့ Motorola ရဲ့ 680×0 တို့မှာ ပြောင်းလဲနေတဲ့ စကားလုံးအတွက် X ကိုထည့်သုံးလေ့ရှိကြတယ် မှီငြမ်းပြီးတော့ကိုယ်လည်း အသုံးအနှုန်းတုပလိုက်ရတယ်။ အင်တာနက်ရဲ့ Bandwidth တွေမြင့်လာကို အကျိုးရှိရှိ အသုံးချကြတာရယ် Software Piracy တွေကိုထိမ်းချုပ်နိုင်တယ်ရယ်ကြောင့် ပထမဆုံးအနေနဲ့ Software as a Service (SaaS) ဆိုပြီးမြင်ခဲ့ရတယ်။ အရင်တုံးကဆိုရင် ဆော့ဝဲတွေကို ကွန်ပျူတာမှာ Install လုပ်ပြီးတော့သုံးရတယ် အခုအချိန်မှာတော့ Install လုပ်ဖို့မလိုပဲနဲ့ Browser ပေါ်ကနေသုံးနိုင်တဲ့ Services တွေအများကြီးပေါ်လာပါတယ်။

SaaS ဆိုတော့ ဘာပါလိမ့်လို့ အထူးအဆန်းဖြစ်ကောင်းဖြစ်မယ် တကယ်ကတော့ အခုအချိန်မှာတော့ နေ့တိုင်းမြင်နေတဲ့အရာတွေ ဖြစ်လာပါပြီ ဥပမာဆိုရင် လူအသုံးအများဆုံး Software တွေဖြစ်တဲ့ Office Application တွေကို ကွန်ပျူတာမှာ Install လုပ်ဖို့ တစ်ချိန်တုံးကလိုတယ် အခုတော့မလိုအပ်တော့ပါဘူး Google Document သုံးမယ်ဆိုရင် အိမ်မှာပဲဖြစ်ဖြစ် ရုံးမှာပဲဖြစ်ဖြစ် Internet & Browser ပဲလိုအပ်လိမ့်မယ် Microsoft Product သုံးချင်ရင်လည်း Office 365 သုံးလို့ရတာပါပဲ။ ဒီလိုနဲ့ပဲတစ်ချိန်က Software ကို Customer တွေရဲ့ ကွန်ပျူတာထဲကို Distribute လုပ်တဲ့လူတွေ တစ်ဖြည်းဖြည်းနဲ့ Internet ပေါ်ကနေ Service ကို Provide လုပ်တဲ့လုပ်ငန်းအဖြစ်ကို ပြောင်းကုန်ကြတယ်။ ဒီနေရာမှာ SaaS ဆိုတာ Install မလုပ်ပဲ သုံးလို့ရတဲ့ဟာလားလို့ ကြံကြံဖန်ဖန်မေးရင်တော့ အဲလိုတော့မဆိုလိုပါဘူး Provider ကထောက်ပံ့ပေးတဲ့ Service ကိုယူသုံးပြီး အလုပ်လုပ်တယ်လို့ပဲ ဆိုလိုပါတယ် အဲဒီလိုယူသုံးဖို့ Minimal Installation တစ်ခုတော့ လိုအပ်ကောင်းလိုအပ်နိုင်တာပေါ့။

တစ်ချိန်က Software Development လုပ်ကြတဲ့လူတွေ ပြောကြတဲ့စကားတစ်ခုရှိတယ် အခြားသောလုပ်ငန်းတွေမှာ ပစ္စည်းတစ်ခုထုတ်လုပ်ရင် Development Cost and Production Cost နှစ်မျိုးလုံးရှိတဲ့အတွက် အရင်းအနှီးလည်းပိုလိုတယ် Software Development မှာကတော့ Development Cost ပြီးရင် Production Cost ကမရှိသလောက်နည်းတယ်လို့ဆိုကြတယ် ဒါပေမယ့် အဲဒီ့အားသာချက်ဟာ Piracy အတွက်စဉ်းစားရင်တော့ အင်မတန်ကြီးတဲ့ ချို့ယွင်းချက်ပဲပေါ့။ SaaS ပြောင်းသွားတဲ့ခေတ်မှာ အဲဒီ့အဆိုဟာ မမှန်တော့ပါဘူး ရောင်းတဲ့လူအနေနဲ့ Service ကိုရောင်းတာဖြစ်တဲ့အတွက် Computing Service အတွက်အရင်းအနှီးလိုပါတယ်။ တစ်ချိန်က Development လုပ်ငန်းအတွက် ရုံးအတွင်းက Computing Facilities နဲ့ Software ထုတ်နိုင်ပေမယ့် အခုအချိန်မှာတော့ Customer တွေအတွက်ပါ လိုအပ်တဲ့အတွက် Computing Infrastructure ခိုင်ခိုင်မာမာလိုပါတယ်။ Computing Infrastructure တစ်ခု ခိုင်ခိုင်မာမာမရှိပဲ SaaS လုပ်ဖို့မဖြစ်နိုင်ပါဘူး။

SaaS တွေအဖြစ် ပြောင်းကြတဲ့အချိန်မှာ အရင်ကတည်းက ခိုင်မာတဲ့ ကုမ္ပဏီကြီးတွေအတွက်က Computing Infrastructure အတွက်က ခက်ခဲလှတယ်မဟုတ်ပါဘူး သူတို့မှာက အရင်ကတည်းက ကိုယ်ပိုင် Data Center တွေရှိပြီးသားလည်းဖြစ်တယ် မရှိခဲ့ရင်တော့ အရင်းအနှီးအတွက် ခက်ခဲကြတာမဟုတ်တော့ အသစ်ဆောက်ဖို့လိုလည်း အခက်အခဲသိပ်မရှိပါဘူး။ ဒီနေရာမှာ ကိုယ်ပိုင် Computing Infrastructure တစ်ခုတည်ဆောက်ဖို့ဆိုတာက သာမန်လုပ်ငန်းတွေအတွက် မဖြစ်နိုင်တဲ့အရာတစ်ခုပါ Dedicated Server တစ်လုံး Data Center မှာထားဖို့အတွက်ကိုပဲ ကုန်ကျစရိတ်ဟာ နည်းလှတယ်လို့ပြောလို့မရပါဘူး Data Center ကိုယ်ပိုင်မရှိတဲ့အတွက် Computing Infrastructure အတိုးအလျှော့လည်း လုပ်ရတာလွယ်တယ်မဟုတ်ပါဘူး အချိန်အတိုင်းအတာတစ်ခုအထိတော့ ကြာတာပါပဲ ဒီနေရာမှာ အတိုးအလျှော့ဆိုပေမယ့် ပစ္စည်းဆိုတာက ဝယ်ပြီးသွားရင်ပြန်လျှော့လည်း ကုန်ကျစရိတ်ဟာ ပြန်မရနိုင်တော့ပါဘူး ဒီတော့တိုးလို့ပဲရတယ်လို့ပဲ ဆိုရပါလိမ့်မယ်။

ဒီနေရာမှာ Infrastructure ကိုလက်လီရောင်းစားတဲ့ Infrastructure as a Service (IaaS) အလုပ်တွေပေါ်လာပါတယ်။ IaaS ကိုတစ်ချိန်တုံးက Virtual Private Server (VPS) ရောင်းတဲ့လူတွေက ဒါတွေကသူတို့အရင်လုပ်တာနဲ့ အတူတူပဲလို့ဆိုချင်ဆိုမယ် တကယ်ကတော့ ပေးနိုင်တဲ့ Facilities အများကြီးကွာဟပါတယ်။ Amazon လို IaaS ကုမ္ပဏီတွေကနေ Infrastructure ကိုသုံးရင်သုံးသလောက် နာရီပိုင်းနဲ့ရောင်းစားတယ် အဲဒီ့အတွက် တိုးပြီးလျှော့လို့မဖြစ်တာ ပြေလည်သွားတယ် နောက်ပြီးတော့ လိုချင်သလောက် Computing Resource ကိုစက္ကန့်ပိုင်းအတွင်းတိုးနိုင်တယ် ပိုနေရင်လည်း ချက်ချင်းပြန်လျှော့လို့ရတဲ့အတွက် ကုန်ကျစရိတ်ကလည်း အပိုကုန်ကျစရိတ်မရှိအောင် ထိမ်းထားလို့ရတဲ့အတွက် ပိုပြီးတော့တွက်ခြေကိုက်ပါတယ်။

အရင်ကဆို Amazon Web Services (AWS), Rackspace စသည်ဖြင့် IaaS ပေးတဲ့ ကုမ္ပဏီသိပ်များများမရှိပေမယ့် အခုအချိန်မှာ IBM, Fujitsu, Sun, HP တို့လို Hardware ရောင်းစားတဲ့လူတွေ Server အရောင်းကျလို့ IaaS လက်လီရောင်းနေကြရပြီ။ နောက်မှလုပ်တဲ့လူဟာ ရှေ့လူကိုမှီအောင် လုပ်ယူဖို့အတော်ကြိုးစားကြရတယ် IBM ကရုံးမှာလာပြီးတော့ သူတို့ရဲ့ Cloud ကို Demonstration လုပ်ပြီးတော့ ရောင်းဖို့လာစပ်တယ် ဆာဗာတစ်ခုတက်လာဖို့ ၁၂ မိနစ်လောက်ပဲကြာတယ်လို့ ဂုဏ်ယူစွာနဲ့ပြောတော့ အဲဒါဆိုကြာတာပေါ့လို့ လွှတ်ကနဲပြောလိုက်မိတော့ သူတို့လည်းမျက်နှာ အတော်ပျက်သွားတယ်။ ဒါပေမယ့် သူတို့မှာလည်း အားသာချက်တွေတော့ရှိပါတယ် ဈေးနှုန်းကိုချလို့ရတယ် US အပြင်ဘက်က ကုမ္ပဏီတွေအတွက်ဆိုရင် အခွန်ပေးစရာမလိုတဲ့အတွက် ဘယ်လောက်ရာခိုင်နှုန်းအထိ ချပေးနိုင်တယ်တို့လည်းရှိတာပေါ့။

IaaS ကိုအသုံးချပြီး အလုပ်လုပ်နေကြတဲ့လူတွေ အများကြီးရှိပါတယ် Dropbox ဆိုရင် File Sync လုပ်ပေးတယ် တချိန်ကဆိုရင် အဲလိုအလုပ်လုပ်ဖို့ အိုင်ဒီယာရှိပေမယ့် လုပ်လို့မဖြစ်နိုင်အောင် Infrastructure အရင်းအနှီးကြီးပါတယ် အခုအချိန်မှတော့ Dropbox ဟာ AWS ပေါ်မှာ အကုန်လုံးအလုပ်လုပ်နေတယ် ကိုယ်တိုင်တည်ဆောက်ထားတဲ့ Physical Infrastructure တစ်ခုမှမရှိပါဘူး ဒါပေမယ့် အင်မတန်အောင်မြင်နေတာပဲ။ အရင်းနှီးနည်းတဲ့လူပဲ IaaS သုံးတယ်တော့မဟုတ်ဘူး ဥပမာဆိုရင် Zynga ရှိတယ် Zynga ဆိုတာဘာလဲထပ်မေးရင် Firmville ဆိုရင်ဆော့ဖူးတယ် ပြောကြတော့မယ်။ Zynga မှာဂိမ်းတွေအများကြီးထုတ်တယ် ဒါပေမယ့် ဘယ်ဟာအောင်မြင်မယ် မအောင်မြင်ဘူးသူတို့လည်း မှန်းရတာခက်ခဲတယ် အဲဒီ့အတွက်ကြောင့် ဂိမ်အသစ်တစ်ခုအတွက် Physical Infrastructure နဲ့အရင်းအနှီးလုပ်ရင် ကုန်ကျစရိတ်ပိုတဲ့အတွက် AWS ပေါ်မှာပဲ အလုပ်လုပ်လေ့ရှိပါတယ်။ ဒါပေမယ့် Rightscale ကလူတစ်ယောက်နဲ့ စကားစပ်မိလို့ ပြောမိတော့ Zynga ဟာ AWS ကိုအဓိကသုံးပေမယ့် တစ်ခုခုဖြစ်ရင် ချိန်မရွေးအစားထိုးနိုင်အောင် ကိုယ်ပိုင် Infrastructure ရှိတယ်လို့သူကဆိုတယ်။

IaaS ကိုသုံးလို့ဘာတွေ အကျိုးရှိတယ်ပြီးတော့ အခက်အခဲရှိတာတွေကို ပြောရလိမ့်မယ်။ တကယ်တော့ IaaS သုံးတာခက်လို့ရယ်တော့ မဟုတ်ပါဘူး အများအားဖြင့် IaaS တွေမှာက Infrastructure ပဲပေးတာဖြစ်လို့ ကိုယ့်လိုအပ်ချက်နဲ့ကိုက်အောင် သုံးမယ့်ဆော့ဝဲတွေကို ပြန်တင်ရလိမ့်မယ် စက္ကန့်ပိုင်းအတွင်းမှာ လိုချင်တဲ့ ဆာဗာအရေအတွက် ရနိုင်တယ်ဆိုပေမယ့် ကိုယ်တစ်ခါတည်းသုံးလို့ရမယ့် ဆာဗာတွေဖြစ်ဖို့ဆိုရင်တော့ ကြိုပြီးတော့သုံးမယ့် ဆာဗာတွေဆော့ဝဲတွေ ဘယ်လို Configure လုပ်ထားမယ်ဆိုတာ ကိုယ်သုံးနေတဲ့ IaaS ကပေးထားတဲ့ Services တွေကိုအသေအချာ နားလည်ရလိမ့်မယ်။ ဒီနေရာမှာတော့ Server Configuration and Software Development Skill နှစ်မျိုးလုံးရှိတဲ့ လူလိုအပ်ပါတယ် အဲဒီ့အတွက် ခက်ခဲတဲ့အလုပ်တွေမဟုတ်ပေမယ့် လူတိုင်းလုပ်တတ်ဖို့တော့ နည်းနည်းခက်ခဲပါသေးတယ်။

ဒီနေရာမှာလည်း IaaS တွေကို Manage လုပ်ပေးတဲ့ ကုမ္ပဏီတွေထွက်လာတယ် Rightscale ဟာ IaaS တွေကို Manage လုပ်ပေးတဲ့နေရာမှာ နာမည်ကြီးပါတယ် အခုအချိန်မှာလူသိများတဲ့ IaaS Provider တွေရဲ့ Services အတော်များများကို သူကလွယ်လွယ်ကူကူ လုပ်ပေးနိုင်ပါတယ်။ Rightscale မှာတစ်ခါတည်း Configure လုပ်ပြီးသား ကိုယ့်လိုအပ်ချက်နဲ့ ကိုက်ညီမယ့် Server Template တွေရှိတယ် ကိုယ်အသုံးချမယ့် Software တွေတင်ပြီးသား Template ကိုရွေးလိုက်ရင် Configure လုပ်ပြီးသား Server တွေရနိုင်တဲ့အတွက် ကိုယ်တိုင် Manage မလုပ်နိုင်တဲ့လူတွေအတွက် အဆင်ပြေပါတယ်။ အဲလိုလုပ်ပေးတဲ့အတွက် Rightscale ကိုပေးရမယ့် ကုန်ကျစရိတ်ရှိပါလိမ့်မယ်။

Rightscale လိုမျိုး IaaS Management သုံးရင်လည်း Infrastructure ကိုပဲ Manage လုပ်ပေးတာဖြစ်လို့ ကိုယ့်တည်ဆောက်မယ့် Software မှာတော့ ကိုယ်သုံးထားတဲ့ Infrastructure ကိုအကျိုးရှိရှိအသုံးချနိုင်မယ့် Architecture ကိုတော့ ကိုယ်တိုင်တည်ဆောက်ရပါမယ်။ အဲဒီ့အတွက်ကတော့ Software Architecture ဟာအရေးကြီးပါတယ်။ Scalable Architecture ဖြစ်အောင် တည်ဆောက်နိုင်တဲ့ Developer ဟာလည်း နေရာတိုင်းမှာမရှိနိုင်တဲ့အတွက် Development Process ကိုပဲလိုအပ်ပြီးတော့ နောက်ကွယ်ကအရာတွေအတွက် တာဝန်ယူပေးမယ့် Services တွေလည်းထွက်လာတယ် အဲဒါတွေကိုတော့ Platform as a Service (PaaS) လို့ခေါ်ရလိမ့်မယ် အဲဒါတွေသုံးမယ်ဆိုရင်တော့ ကိုယ် Development လုပ်မယ့် Runtime Platform ကိုပဲ အာရုံစိုက်ဖို့လိုအပ်ပါလိမ့်မယ်။

မြင်သာတဲ့ Platform as a Service (PaaS) ကိုပြပါဆိုရင် Heroku လိုဟာကို အလွယ်ပြလို့ရပါတယ် သူရေးလို့ရတဲ့ Platform တွေ Ruby, PHP, Java, Node.js စသည်ဖြင့်ပြောထားတယ် Developer တွေအတွက် သူ့ရဲ့ Application Deploy လုပ်ချင်ရင် အင်မတန်လွယ်ပါတယ် Heroku Server ပေါ်ကို Git Revision Control ကိုသုံးပြီးတော့ Push လုပ်လိုက်ရုံပါပဲ ကျန်တဲ့ Application Server Setup တွေလည်းသိဖို့မလိုအပ်ပါဘူး ကိုယ့်ရဲ့ Application ဟာအလုပ်လုပ်နေပါပြီ။ လူသုံးများလို့ နှေးလာတယ်ဆိုရင် Heroku ကနေ Computing အတွက်ပိုထပ်ဝယ်ရုံပါပဲ။

ဒီလိုအလုပ်ကိုလုပ်ပေးတဲ့ PaaS တွေအတော်များများရှိပါတယ် လူသိများတာတွေဆိုရင် Google Apps Engine, AppScale, Engine Yard, Windows Azure စသည်ဖြင့်ရှိကြပါတယ်။ လွန်ခဲ့တဲ့ နှစ်ပါတ်လောက်က AWS ကနေပြီးတော့ Elastic Beanstalk ကိုစပြီးတော့ Beta ထုတ်တာတွေ့မိလို့ ကြည့်မိတယ်။ ကိုယ့်တစ်ယောက်ထဲ အမြင်နဲ့ပြောပါဆိုရင်တော့ AWS အပေါ်မှာအခြေခံတဲ့ PaaS တွေဟာရပ်သွားဖို့ပဲရှိတယ် Beanstalk သုံးရင် Scaling ရယ် Application တွေအားလုံးတင်ပြီးသား Server ချက်ချင်းရမယ့်အပြင် Server ကိုလည်းကိုယ်တိုင် Manage ထပ်လုပ်လို့ရပါတယ်။

အခုအချိန်မှာ Hardware ရောင်းစားကြတဲ့ ကုမ္ပဏီတွေအတော်များများ IaaS ပြောင်းဖို့ကြိုးစားနေကြရသလို လူသုံးများတဲ့ Software တွေအတော်များများ SaaS ပြောင်းကုန်ကြတယ်။ ဒီနေရာမှာ လူတိုင်းသုံးတာမဟုတ်ပေမယ့် စီးပွားရေးလုပ်ငန်းတွေမှာသုံးတဲ့ Software တွေလည်း ရပ်နေလို့မရကြတော့ဘူး။ SAP, Oracle, IBM လို Business Software ရောင်းကြတဲ့ကုမ္ပဏီကြီးတွေလည်း SaaS ပဲပြောပြော PaaS ပဲပြောပြော IaaS တွေနဲ့တွဲပြီးတော့ ရောင်းလာကြရတော့တယ်။ အရင်တုံးကဆိုရင် လိုင်စင်ဆိုတာက Per Server, Per Seat, Per Device အခုအချိန်မှာဆိုရင်တော့ Per Hour ဆိုပြီးတော့ အသုံးအနှုံးတစ်ခုတောင် ထပ်တိုးကြရတော့မယ်။ ဘာတွေပိုအဆင်ပြေသွားသလဲ ဥပမာပေးပါဆိုရင် တစ်ချိန်ကဆိုရင် Oracle လိုမျိုး Server သုံးမယ်ဆိုရင် ကျွမ်းကျင်တဲ့လူရှိမှ Setup လုပ်ပြီးတော့ စမ်းသုံးလို့ရနိုင်တယ် အခုအချိန်မှာတော့ Configure လုပ်ပြီးသားကို နာရီနဲ့ရောင်းတော့ စမ်းသုံးကြည့်လိုရတာပေါ့ အသုံးမတည့်တော့လည်း ဆက်မသုံးတော့ဘူးဆိုလည်း ဘာမှမဖြစ်ပါဘူး ပြောပလောက်တဲ့ ကုန်ကျစရိတ်သိပ်မရှိနိုင်ပါဘူး။

လွန်ခဲ့တဲ့ တစ်ရက်နှစ်ရက်က AWS ကနေ AWS Marketplace ဖွင့်တဲ့အကြောင်း ရောက်လာလို့သွားကြည့်မိတယ်။ Marketplace မှာ SAP, Oracle, Microsoft ကနေ 10gen လို Open Source အထိ Application Stack အစုံတွေ့နိုင်တယ် တင်ထားတဲ့ဆော့ဝဲအပေါ် မူတည်ပြီးတော့ IaaS ကုန်ကျစရိတ်အပြင် PaaS ကုန်ကျစရိတ်နဲ့ တွက်ချက်ပြီး တစ်နာရီကုန်ကျစရိတ် ပြထားပါတယ် ကိုယ်အသုံးတည့်မယ့်အရာကိုရွေး Mouse Click တစ်ချက်နှိပ်ဖို့ပဲလိုပါတော့တယ်။ WYSIWYG ဆိုပြီးစခဲ့တဲ့ခေတ်ကနေ အခုအချိန်မှာတော့ Mouse Click တစ်ခုနှိပ်ရုံနဲ့ အသင့်သုံးနိုင်တဲ့ Infrastructure တစ်ခုရနိုင်တဲ့ခေတ်ကို ရောက်သွားခဲ့ပြီ။ ဒါဆိုရင်လူတိုင်း Infrastructure Management လုပ်နိုင်ပြီလားမေးရင်တော့ မဟုတ်ဘူးလို့ပဲဖြေရမှာပါ အရင်လိုလိုအပ်တဲ့ လူအရေအတွက် လျော့နည်းသွားတယ် ဒါပေမယ့် အဲဒီ့အရာတွေကို နားလည်ပြီးတော့ ဆုံးဖြတ်မယ့် လူတစ်ယောက်တော့ လိုအပ်ပါတယ်။

ပရိုဂရမ်မာဋီကာ (၂)

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

သို့ပေမယ့် ဟောင်းလေလေ အဖိုးတန်လေလေဆိုတာ့ ပရိုဂရမ်မာတွေလို့ ပြောလို့ရပါတယ်။ ဒါကိုလည်း လူငယ်ခြေတက် ပရိုဂရမ်မာတွေက လက်ခံဦးမယ်မဟုတ်ဘူး ဘယ်နှယ့်ဗျာ Fortran, COBOL, BASIC ခေတ်က ပရိုဂရမ်မာအိုကြီးတွေတော့ သုံးရမယ်မဟုတ်ပါဘူးလို့ ဆိုချင်ဆိုကြဦးမယ် အဲလိုမြင်တဲ့လူတွေကို အပြစ်မပြောထိုက်ဘူး ခိုင်းစားလို့ရတဲ့ ပရိုဂရမ်မာ အမြန်ထုတ်လို့ရတဲ့ခေတ်မှာ ပရိုဂရမ်မာဖြစ်လာတဲ့ လူတွေရဲ့အမြင်ကိုးဗျ။

တစ်ခေတ်တစ်ခါက ပရိုဂရမ်မာဆိုတာက ကွန်ပျူတာတွေ ဘယ်လိုအလုပ်လုပ်သလဲ အရင်ဆုံးနားလည်ပြီးမှသာ ကွန်ပျူတာကိုခိုင်းတဲ့ ပရိုဂရမ်ကိုရေးလို့ရတယ်။ အခုခေတ် ပရိုဂရမ်မာဆိုတာက ကွန်ပျူတာဆိုတာ ဘယ်လိုအလုပ်လုပ်သလဲ အသေအချာမသိလည်း ပရိုဂရမ်ဆိုတာက ရေးလို့ရတဲ့ခေတ်မှာ လူဖြစ်ကြသကိုးလို့ ပြောရမလိုဖြစ်တယ်။ အခြေခံဖြစ်တဲ့ Processor တွေက Instruction တွေကို ဘယ်လို Execute လုပ်သလဲ Memory ထဲမှာ Data တွေဘယ်လိုသိမ်းသလဲ Operating System တွေဘယ်လို အလုပ်လုပ်သလဲ Network ပေါ်မှာ Data တွေဘယ်လိုသွားသလဲ အသေအချာ နားလည်တဲ့ ပရိုဂရမ်မာဆိုတာ အခုခေတ်မှာက အတော်ရှားသွားပြီ။

ဥပမာပြောရရင် ကွန်ပျူတာတစ်လုံးကနေ အခြားတစ်လုံးကို Network ပေါ်ကနေ Data ပို့ချင်ရင် အခုအချိန်မှာ အင်မတန်လွယ်ပါတယ် အခုခေတ်မှာ အလွန်ဆုံးရေးရမယ်ဆို အကြောင်းနှစ်ဆယ်အစိတ်ပေါ့။ တစ်ချိန်ကဆိုရင် Socket Server တစ်ခုရေး Port တစ်ခုကိုဖွင့် အဲဒီ့ Port ကိုလာသမျှ Data တွေကို အဆက်မပြတ်ဖတ်ပြီးတော့ ရေးယူကြရတယ်။ ဒီထက်ပို ခက်တဲ့ အချိန်ကဆိုရင် ကိုယ်သွားမယ့် Network အမျိုးအစားအလိုက် Protocol ကအစ ဘာသုံးသလဲသိဖို့လိုပြီး သက်ဆိုင်ရာ Operating System ကပေးထားတဲ့ API တွေကိုခေါ်ဖို့လိုတယ်။

အဲဒီတော့ ဒီခေတ်မှာ ဒါတွေသုံးမှမသုံးတာလို့ ပြောကောင်းပြောမယ် ဟုတ်ပါတယ်မသုံးပါဘူး ဒါပေမယ့် အလုပ်ဘယ်လိုလုပ်သွားသလဲ အသေးစိတ်သိနေတဲ့အတွက် သူတို့ရဲ့ Knowledge Level ဟာ လက်ရှိလူတွေထက် ပိုများနေတဲ့အတွက် ခက်ခက်ခဲခဲ ပြဿနာတစ်ခုဖြစ်ရင် အဲလိုလူတွေက ဘယ်လိုကြောင့်ဖြစ်တယ်ဆိုတာ ပိုပြီးတော့ရှင်းပေးနိုင်ပါတယ်။ အဲဒါကြောင့် အလုပ်လုပ်ဖို့ဆိုရင်တော့ ငယ်တဲ့ပရိုဂရမ်မာကိုခန့်ရတယ် ဒါပေမယ့် ပြဿနာရှင်းဖို့ နေရာအတွက်တော့ အိုဟောင်းနေတဲ့ ပရိုဂရမ်မာတွေကို ခန့်ကြရတာပေါ့။

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

ဒီတော့ အခုအချိန်မှာ အသေအချာ လေ့လာခဲ့တဲ့လူတွေက တစ်ချိန်ကျရင် အဖိုးတန်တဲ့ ပရိုဂရမ်မာအိုကြီးတွေ ဖြစ်လာဦးမှာပေါ့။ ဟောင်းသွားတိုင်း ကောင်းမှာလားမေးရင်တော့ ကိုယ့်ခေတ်က အတတ်ပညာမှ အသေအချာမတတ်ရင် နောင်တစ်ခေတ်က အတတ်ပညာကိုလည်း နားလည်မှာမဟုတ်​တော့ သစ်သီးများလိုပဲ အချိန်ကြာတော့ ပုတ်သွားသလိုပဲ အသက်ကြီးလာလို့ ဘယ်နားမှသုံးမရလို့ ဘယ်သူကမှလည်း အလုပ်မခန့်တော့တဲ့ ပရိုဂရမ်မာအိုကြီးတွေလည်း အများကြီးပဲပေါ့။ ဟောင်းသွားအောင် အတင်းကြိုးစားစရာမလိုပေမယ့် ပုတ်သွားမယ့်အထဲ မပါအောင်တော့ အသေအချာဂရုစိုက်ရလိမ့်မယ်။

ပရိုဂရမ်မာဋီကာ (၁)

အပျင်းကြီးတယ်ဆိုတာ ပရိုဂရမ်မာစစ်စစ်တွေရဲ့ ကြန်အင်လက္ခဏာများထဲက အရေးကြီးတဲ့ အချက်များထဲက တစ်ချက်ပေါ့ ဒီအချက်နဲ့ မပြည့်စုံရင် ထူးချွန်တဲ့ပရိုဂရမ်မာ ဖြစ်လာနိုင်ဖို့ ရာခိုင်နှုန်း အတော်နည်းပါတယ်။ တကယ်တော့ သူတိုရဲ့စိတ်ထဲမှာ အလုပ်တစ်ခုကို တစ်ခါလုပ်ပြီးရင် ထပ်မလုပ်ချင်ပဲ လုပ်ပြီးသားအလုပ်ကို ပြန်သုံးချင်တဲ့ အပျင်းကနေအစပြုပါတယ်။

ဂဏန်းလေးနှစ်လုံး ပေါင်းချင်တယ်ဆိုပါစို့ စိတ်နဲ့မပေါင်းချင်တောင် ဂဏန်းပေါင်းစက်လေးယူပြီး ပေါင်းပေးလိုက်ရင် ချက်ချင်းအဖြေထွက်တာပေါ့ အဲဒါကိုနောက်တစ်ခါ လာခိုင်းနေရင် လုပ်ပေးရမှာစိုးတော့ ပေါင်းတဲ့ပရိုဂရမ်လေး တစ်ခုရေးပေးလိုက်တာ ကောင်းပါတယ် ပြီးမှပေးလိုက်ရင် သူ့ဟာသူတွက်ပေါ့ နောက်တစ်ခါ ငါအလုပ်ရှုပ်သက်သာတယ်ဆိုပြီး Console မှာအလုပ်လုပ်တဲ့ ပရိုဂရမ်လေးရေးလိုက်ပါရော။

ပရိုဂရမ်လေးအလုပ်လုပ် အဖြေလည်းထွက်တော့ စိတ်ကူးကတစ်မျိုးပြောင်းပြန်တယ် ဒီခေတ်မှာတော့ Command Line မှာသုံးတတ်တဲ့လူက မရှိသလောက်ဖြစ်နေပြီ ပေးလိုက်ရင် ဒီအတိုင်းသုံးတတ်မယ်မထင်ဘူး သင်ပေးရဦးမယ်ထင်တယ် သင်ပေးတော့အချိန်ကုန်တယ် သူ့ဟာသူစမ်းသုံးလို့လွယ်မယ့် UI လေးတော့ ထည့်ပေးလိုက်မယ်ဆိုပြီး Textbox လေး Button လေးတွေထည့်မိပြန်တယ်။

UI လေးနဲ့ အလုပ်လုပ်တာ ပြီးသွားတော့ ထပ်စဉ်းစားမိတာက သူကရုံးမှာသုံးလိုက် အိမ်မှာသုံးလိုက် သုံးချင်တယ်ဆိုပြီး ဖြစ်နေရင်တော့ လိုက်ပြီးတော့ Install လုပ်ပေးရရင်လည်း ငါအတော်အလုပ်ပျက်မယ့် သဘောရှိတယ် ဘာမှထည့်စရာမလိုပဲ လှမ်းသုံးလို့လွယ်အောင် Web ဆိုရင်ပိုအဆင်ပြေတယ်ဆိုပြီး ပရိုဂရမ်ကို အင်တာနက်ပေါ် တင်ဖို့ကြိုးစားပြန်တယ်။

ပရိုဂရမ် Web ပေါ်ပို့ပြီးပြန်တော့ တကယ်တော့ အင်တာနက်ဆိုတာ နေရာတိုင်းရတာမဟုတ် ကွန်ပျူတာဆိုတာက အကြီးကြီးပဲ နေရာတကာသယ်နိုင်တာမဟုတ် သွားရင်းလာရင်းတွက်လို့ရအောင် ဖုန်းထဲမှာအလုပ်လုပ်ရင် အဆင်အပြေဆုံးပဲဆိုပြီး အပေါ်တင်ထားတဲ့ ပရိုဂရမ်ကို ပြန်ဆွဲချပြီးတော့ အတင်းပဲဖုန်းထဲကို မရမက အတင်းသွပ်ပြန်တယ်။

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

ဒီမှာလည်း ပျင်းတဲ့ရောဂါက မရပ်သေးပါဘူး ရေးထားတာလေးက ကောင်းနေတယ် သုံးမယ့်လူမရှိလည်း ငါ့လိုပျင်းတဲ့ နောင်လာနောက်သား သုံးလိမ့်မပေါ့ဆိုပြီး ရေးထားတာတွေ အပျင်းကြီးသူတွေ နားလည်စေဖို့ဆိုပြီး ဖြစ်သလိုရေးထားတဲ့ နေရာတွေကို အသေအချာလိုက်ရှာပြီး Comment တွေထည့် Document တွေရေးပြီးတော့ Opensource လုပ်လိုက်ရပါတယ်။

နေ့လည်းမအိပ် ညလည်းဇီးကွက်လို အလုပ်မပြီးမချင်း ထိုင်ရာကမထတဲ့လူမျိုးက ဘယ်လိုပျင်းသလဲလို့ မေးကောင်းမေးကြဦးမယ်။ ဒါလည်းမေးထိုက်တယ် ထပ်ပြီးတော့ဖြေရမယ်ဆိုရင် ပရိုဂရမ်မာတွေက ပျင်းရုံတင်ဘယ်ကမလဲ ခဏလုပ်ရမယ့်အလုပ် ထပ်လုပ်ရမှာပျင်းလို့ ပရိုဂရမ်ရေးမိရကာကနေ နောက်ဆုံး ဘယ်သူမှမသုံးတဲ့ အခြေအနေ ရောက်ရောက်သွားတော့ ဒီလိုလူတွေကိုမှ အတုံးဆုံးလူလို့မပြော ဘယ်လူတွေကို ပြောလို့ရပါဦးမလဲ။