Data Sharing
အိမ်သုံးရုံးသုံးစတဲ့ နေရာဌာနတစ်ခုအတွင်းမှာပဲ အသုံးပြုကြတဲ့ Local Networks တွေမှာ Internet ချိတ်ဆက်အသုံးပြုလို့ရနိုင်ရုံမဟုတ်ဘဲ Network ချိတ်ဆက်ထားတဲ့ Computers တွေ အချင်းချင်းလည်း ချိတ်ဆက်ပြီးဆက်သွယ်လို့ရကြပါတယ်။ တခါတရံမှာ Computer တစ်လုံးဟာ Server ဖြစ်နေပြီး တခါတရံမှာတော့ Client အဖြစ် ပြုမူဆောင်ရွက်ရတာတွေရှိပါတယ်။ ဆိုလိုတာကတော့ Desktop Computer ပေါ်မှာ သိမ်းဆည်းထားတဲ့ ဖိုင်တဖိုင်ကို USB Drive လိုမျိုး သယ်ယူရလွယ်ကူတဲ့ Portable Device ထဲကိုကူးယူတာမျိုး၊ အပြန်အလှန်အားဖြင့် Computer ထဲကို ပြန်လည်ကူးယူတာမျိုးတွေလို၊ Network ချိတ်ဆက်ထားတဲ့ Computer တွေ အချင်းချင်းလည်း ဖိုင်တွေကို အပြန်အလှန်ကူးယူနိုင်တာမျိုးပါ။
Linux Machines တွေကြားမှာတော့ Network File System (NFS) ကို သုံးလေ့ရှိပါတယ်။ NFS Protocol ဟာ Unix/Linux Machines တွေပဲချိတ်ဆက်ထားတဲ့ Network တွေမှာ ဖိုင်တွေမျှဝေသုံးစွဲဖို့ စံသတ်မှတ်ထားတဲ့ နည်းလမ်းတစ်ခုပါ။ NFS အသုံးပြုပြီး Network ပေါ်က Computer တလုံးဟာ သူ့ရဲ့ Directories တွေကို Share ပြီး အခြား Computers တွေအတွက် သူတို့ရဲ့ကိုယ်ပိုင် Directories တွေလို ပုံစံမျိုးနှင့် Shared Directories တွေထဲက Files တွေကို ဖတ်တာ ပြင်တာစတဲ့ Access ပြုလုပ်နိုင်စေပါတယ်။ OS ရဲ့ Directory Tree တစ်ခုလုံး Share ပြီး Clients တွေအတွက် System စတင်နိုင်ဖို့ Boot တက်ဖို့အတွက်တောင် NFS ကို အသုံးပြုနိုင်ပါတယ်။ အဲ့ဒီလိုအသုံးပြုတဲ့ Clients တွေကို Thin Clients လို့ခေါ်ဆိုကြပြီး အများအားဖြင့် Computer တစ်လုံးစီမှာ OS တင်ပြီး သီးခြားထိန်းသိမ်းပြုပြင်ရတာတွေ ရှောင်ရှားချင်တဲ့ Large Networks တွေမှာ တွေ့ရတတ်ပါတယ်။
Network ထဲမှာ မတူညီတဲ့ OS တွေအသုံးပြုထားတဲ့ Computers တွေရှိနေမယ်ဆိုလျင်တော့ အားလုံးကနားလည်လက်ခံမယ့် Data Sharing Protocol အသုံးပြုဖို့လိုပါတယ်။ အဲ့ဒါကတော့ Samba ပါပဲ။ မူလတော့ Windows OS တွေချိတ်ဆက်ထားတဲ့ Network အတွက် စတင်ခဲ့ပေမယ့် အခုခါမှာတော့ Major OS အားလုံးနှင့် တွဲဘက်အသုံးပြုနိုင်ပါပြီ။ Samba အသုံးပြုပြီး Network ပေါ်က ဖိုင်တွေကို Share ရုံသာမက၊ Printer တွေလည်း မျှဝေသုံးစွဲနိုင်ပါတယ်။
အချို့ Local Networks တွေရဲ့ Workstation တွေအတွက် Login Authorization ကို Domain Controller လို့ခေါ်တဲ့ Central Server တစ်လုံးကပဲ ဆောင်ရွက်ပြီး Local နှင့် Remote Resources တွေကို စီမံခန့်ခွဲပါတယ်။ Domain Controller ဟာ Microsoft ရဲ့ Active Directory ကပေးတဲ့ Service တစ်ခုပါပဲ။ Linux Workstation တွေဟာ Samba အသုံးပြုတဲ့ Domain Controller (သို့) System Security Services Daemon (SSSD) လို့ခေါ်တဲ့ Authentication Subsystem တို့နှင့် ချိတ်ဆက်နိုင်ကြပါတယ်။ Samba Version 4 မှာတော့ OS နှင့် Protocols တွေ အဓိကအားဖြင့် မတူညီကြတဲ့ Access လုပ်ပုံတွေ မတူညီကြတဲ့ Heterogeneous Network တွေပေါ်မှာပါ Domain Controller တစ်လုံးအဖြစ် ပြုလုပ်နိုင်ပါပြီ။
Web အခြေခံတဲ့ Data Sharing တွေပြုလုပ်ပေးနိုင်မယ့် Cloud Computing Solution အတွက်ဆိုလျင်တော့ အခြားရွေးချယ်စရာနှစ်ခုက ownCloud နှင့် Nextcloud တွေပါ။ အဲ့ဒီ Projects နှစ်ခုက ဆင်တူပေမယ့် ownCloud မှာ အခြေခံပြီး ခွဲထွက်လာတဲ့ Spin-off တစ်ခုဖြစ်တဲ့ Nextcloud ကတော့ Open Source Project တွေရဲ့ သဘောသဘာဝအတိုင်း ပိုမိုအားသာချက်တွေရှိနေပါတယ်။ အဲ့ဒီလို Spin-offs တွေကို Fork လို့လည်း ခေါ်ဆိုလေ့ရှိပါတယ်။ နှစ်ခုလုံးဟာ ဖိုင်တွေမျှဝေသုံးစွဲခြင်း (File Sharing)၊ နေရာအစုံက ဖိုင်တွေကို တပြေးညီ Update ပြုလုပ်နိုင်ဖို့ ထိန်းညှိထားခြင်း (File Sync)၊ စုပေါင်းလုပ်ဆောင်နိုင်တဲ့နေရာ (Collaborative Workspaces)၊ Calendar၊ Contacts နှင့် Mail စတဲ့ Basic Features တွေအားလုံးကို Desktop, Mobile နှင့် Web Interfaces တွေမှတဆင့် အသုံးပြုလို့ရစေပါတယ်။ Nextcloud က Private Audio/Video Conferencing တွေပါ အသုံးပြုခွင့်ပေးသလို ownCloud က Third-party Software တွေနှင့် ပူးပေါင်းလုပ်ဆောင်နိုင်မှုတွေ File Sharing ပြုလုပ်နိုင်မှုတွေအပေါ်မှာ ပိုပြီးအာရုံစိုက်ပါတယ်။ ပိုမိုများပြားတဲ့ Features တွေကို Plugins တွေအနေနှင့် နောက်ပိုင်းမှာ လိုအပ်သလို ရယူအသုံးပြုနိုင်ပါတယ်။
ownCloud နှင့် Nextcloud တို့မှာ Extra Features နှင့် Extended Support တွေ ရနိုင်မယ့် Paid Version လည်း ရှိပါတယ်။ အခြား Commercial Solutions တွေနှင့် ကွာခြားတာကတော့ ကိုယ်မသိတဲ့ Server တစ်လုံးမှာ ကိုယ့်ရဲ့ အရေးကြီးတဲ့ အချက်အလက်တွေမထားတော့ဘဲ ကိုယ့်ကိုယ်ပိုင် Private Server ပေါ်မှာ ကိုယ်ပိုင် Cloud Installation ကို Free ပြုလုပ်နိုင်တာပါပဲ။ PHP နှင့်ရေးသားထားပြီး HTTP Communication Services တွေဖြစ်တာမို့ Apache လို Web Server ပေါ်မှာ အသုံးပြုဖို့တော့ လိုပါမယ်။ ကိုယ်ပိုင် Server ပေါ်မှာ အသုံးပြုမယ်ဆိုလျင်တော့ Cloud Connections အားလုံးကို Encrypt လုပ်ပေးမယ့် HTTPS အသုံးပြုနိုင်ဖို့တော့ ပြင်ဆင်ထားရပါမယ်။