Calm Hill My Random Thoughts

X as a Service (XaaS)

X as a Service (XaaS) ဆိုတော့ ဘာပါလိမ့်လို့ ဇဝေဇဝါဖြစ်နိုင်ပါတယ် အခုနောက်ပိုင်း လူပြောများတဲ့ Cloud Computing ဆိုတာကို ကိုယ်တိုင်နာမည်တပ်ထားတာပါ။ Intel ရဲ့ x86 Processor တို့ Motorola ရဲ့ 680x0 တို့မှာ ပြောင်းလဲနေတဲ့ စကားလုံးအတွက် 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 လုပ်နိုင်ပြီလားမေးရင်တော့ မဟုတ်ဘူးလို့ပဲဖြေရမှာပါ အရင်လိုလိုအပ်တဲ့ လူအရေအတွက် လျော့နည်းသွားတယ် ဒါပေမယ့် အဲဒီ့အရာတွေကို နားလည်ပြီးတော့ ဆုံးဖြတ်မယ့် လူတစ်ယောက်တော့ လိုအပ်ပါတယ်။