01 -Understanding the Google Cloud Resource Hierarchy
Google Cloud’s Resource Hierarchy
Google Cloud ၏ resource hierarchy တွင် အောက်ခြေမှစတင်၍ အဆင့်လေးဆင့်ပါဝင်ပြီး ၎င်းတို့မှာ resources, projects, folders, and an organization node တို့ ဖြစ်ကြသည်။

ပထမအဆင့်တွင် virtual machines များ၊ Cloud Storage buckets များ၊ BigQuery ရှိ tables များ သို့မဟုတ် Google Cloud အတွင်းရှိ အခြားမည်သည့်အရာကိုမဆို ကိုယ်စားပြုသည့် resources များရှိကြသည်။
ဒုတိယအဆင့်တွင် projects များရှိပြီး resources များကို projects များအဖြစ် စုစည်းထားသည်။
တတိယအဆင့်တွင် projects များကို folders များ သို့မဟုတ် subfolders များအဖြစ် စုစည်းနိုင်သည်။
ထို့နောက် အပေါ်ဆုံးအဆင့်တွင် organization node တစ်ခုရှိပြီး ၎င်းသည် organization အတွင်းရှိ projects များ၊ folders များနှင့် resources အားလုံးကို လွှမ်းခြုံထားသည်။
ဤ Google Cloud ၏ resource hierarchy အဆင့်ဆင့်ဖွဲ့စည်းပုံကို နားလည်ရန် အလွန်အရေးကြီးပါသည်၊ အကြောင်းမှာ ၎င်းသည် Google Cloud ကို အသုံးပြုသောအခါ policies မူ၀ါဒတွေကို (စီမံခန့်ခွဲခြင်းနှင့် လက်တွေ့အသုံးချခြင်း) တို့နှင့် တိုက်ရိုက်သက်ဆိုင်နေသောကြောင့်ဖြစ်သည်။
Policies များကို projects, folders, and an organization node အဆင့်များတွင် သတ်မှတ်နိုင်သည်။

အချို့သော Google Cloud services များသည် individual resources များပေါ်တွင် policies များကို အသုံးပြုခွင့်ပေးသည်။

Policies များသည် inherited downward အနေဖြင့် အောက်သို့ အမွေဆက်ခံပါသည်။

ဆိုလိုသည်မှာ သင်သည် folder တစ်ခုတွင် policy တစ်ခုကို အသုံးချပါက ထို folder အတွင်းရှိ project အားလုံးတွင်ပါ အသုံးချမည်ဖြစ်သည်။
Resource hierarchy ဖွဲ့စည်းပုံ၏ ဒုတိယအဆင့်ဖြစ်သော projects များကို အသေးစိတ်ကြည့်ကြပါစို့။ projects များသည် Google Cloud services များကို enable ဖွင့်ပြီး အသုံးပြုရန်အတွက် အခြေခံဖြစ်သည်၊ ဥပမာ managing APIs, enabling billing, adding and removing collaborators, and enabling other Google services တို့ကို enable ဖွင့်ပေးခြင်းတို့ ပါဝင်သည်။
Project တစ်ခုစီသည် organization node တစ်ခုအောက်တွင် သီးခြား entity တစ်ခုဖြစ်ပြီး

resource တစ်ခုစီသည် project တစ်ခုနှင့်သာ သက်ဆိုင်သည်။

Projects များသည် သီးခြားငွေတောင်းခံခြင်းနှင့် စီမံခန့်ခွဲခြင်းများပြုလုပ်နိုင်သောကြောင့် မတူညီသော ပိုင်ရှင်များနှင့် အသုံးပြုသူများ ရှိနိုင်သည်။

Google Cloud project တစ်ခုစီတွင် သတ်မှတ်ဖော်ပြထားသော Project ID, Project name and Project number တို့ရှိသည်။

Project ID သည် Google မှ သတ်မှတ်ပေးသော Globally identifier တစ်ခုဖြစ်ပြီး ဖန်တီးပြီးနောက် ပြောင်းလဲ၍မရပါ။ ၎င်းတို့ကို ပြောင်းလဲ၍မရသော (immutable) အဖြစ် ရည်ညွှန်းပါသည်။ Project ID များကို မတူညီသော contexts များတွင် အသုံးပြုပြီး Google Cloud အား အတိအကျ လုပ်ဆောင်ရမည့် project ကို အသိပေးရန်အတွက် ဖြစ်သည်။ ဆိုလိုတာက Google Cloud မှာ projects တွေ အများကြီးရှိနေနိုင်တယ်။ အဲဒီထဲက ဘယ် project မှာ အလုပ်လုပ်မလဲဆိုတာ Google Cloud ကို အတိအကျ သိအောင် ပြောပြဖို့ Project ID ဆိုတာကို သုံးတယ်။ ဥပမာ၊ မတူညီတဲ့ အလုပ်တွေ ဒါမှမဟုတ် အကြောင်းအရာတွေမှာ (ဥပမာ၊ app တစ်ခုဖန်တီးတာ၊ ဒေတာသိမ်းတာ စသဖြင့်) ဘယ် project ကို ရည်ညွှန်းမှာလဲဆိုတာ ရှင်းရှင်းလင်းလင်း သိအောင် သတ်မှတ်ပေးဖို့ ဒီ ID ကို အသုံးပြုတာပါ။
Project name များသည် အသုံးပြုသူမှ ဖန်တီးထားခြင်းဖြစ်သည်။ ၎င်းတို့သည် ထူးခြားရန်မလိုဘဲ အချိန်မရွေး ပြောင်းလဲနိုင်သောကြောင့် ပြောင်းလဲ၍မရသော (immutable) မဟုတ်ပါ။
Google Cloud သည် project တစ်ခုစီကို ထူးခြားသော project number တစ်ခု သတ်မှတ်ပေးပါသည်။ ဤ Google မှ generated ပြုလုပ်သော numbers များတည်ရှိကြောင်း သိရှိထားရမည်။

Google Cloud ၏ Resource Manager tool သည် သင့် projects များကို pro-grammatically အရ စီမံခန့်ခွဲရန် ကူညီပေးရန် ဒီဇိုင်းထုတ်ထားသည်။

၎င်းသည် အကောင့်တစ်ခုနှင့် ဆက်စပ်နေသော projects အားလုံး၏ စာရင်းကို စုဆောင်းနိုင်သော၊ ပရောဂျက်အသစ်များ ဖန်တီးနိုင်သော၊ ရှိပြီးသား ပရောဂျက်များကို အပ်ဒိတ်လုပ်နိုင်သော နှင့် ပရောဂျက်များကို ဖျက်နိုင်သော API တစ်ခုဖြစ်သည်။ ၎င်းသည် ယခင်က ဖျက်ခဲ့သော ပရောဂျက်များကိုပင် ပြန်လည်ရယူနိုင်ပြီး RPC API နှင့် REST API မှတဆင့် ဝင်ရောက်အသုံးပြုနိုင်သည်။
Resource hierarchy ဖွဲ့စည်းပုံ၏ တတိယအဆင့်မှာ folders များဖြစ်သည်။ Folders များသည် ရွေးချယ်လိုက်သော granularity အဆင့်တွင် resources အတွက် policies များ ချမှတ်လို့ရတယ်၊ သတ်မှတ်နိုင်တယ်။ ဥပမာ၊ သင့်မှာ projects တွေ အများကြီးရှိတယ်ဆိုပါစို့၊ အဲဒါတွေကို သပ်သပ်စီထားဖို့ Folders တွေ ဖန်တီးပြီး စုစည်းလို့ ရတယ်။
“Granularity အဆင့်” ဆိုတာက ဘယ်လောက်ထိ အသေးစိတ် ခွဲခြားသတ်မှတ်ချင်လဲ ဆိုတဲ့ အတိုင်းအတာကို ဆိုလိုတာပါ။ ဆိုလိုတာက သင်ကိုယ်တိုင် ရွေးချယ်လိုက်တဲ့ အဆင့်မှာ (ဥပမာ၊ အကြမ်းဖျင်းပဲ သတ်မှတ်မလား၊ ဒါမှမဟုတ် အသေးစိတ်ထိ သတ်မှတ်မလား) Folders တွေကို အသုံးပြုပြီး resources အတွက် policies တွေ ချမှတ်လို့ ရတယ်၊ သတ်မှတ်လို့ရတယ် ဆိုတဲ့ သဘောပါ။
Folder တစ်ခုရှိ resources များသည် ထို folder သို့ သတ်မှတ်ထားသော policies များနှင့် ခွင့်ပြုချက်များကို အမွေဆက်ခံပါသည်။

folder တစ်ခုတွင် projects များ၊ အခြား folders များ (သို့မဟုတ်) နှစ်ခုလုံးပေါင်းစပ်ထားနိုင်သည်။

သင်သည် Folders များကို အသုံးပြု၍ organization တစ်ခုအောက်တွင် projects များကို အဆင့်ဆင့် စုစည်းနိုင်သည်။ ဥပမာအားဖြင့် သင့်အဖွဲ့အစည်းတွင် ဌာနများစွာ ပါဝင်နိုင်ပြီး ဌာနတစ်ခုစီတွင် ၎င်းတို့၏ သီးသန့် Google Cloud အရင်းအမြစ်များ ရှိနိုင်သည်။ Folders များသည် ဤအရင်းအမြစ်များကို ဌာနအလိုက် စုစည်းပေးနိုင်စေသည်။

Folders များသည် အဖွဲ့များအား စီမံခန့်ခွဲမှု အခွင့်အရေးများကို လွှဲအပ်ပေးနိုင်သည့် စွမ်းရည်ကိုလည်း ပေးစွမ်းပြီး ထိုအဖွဲ့များအနေဖြင့် သီးသန့်လွတ်လပ်စွာ လုပ်ဆောင်နိုင်စေသည်။
ယခင်က ဖော်ပြခဲ့သည့်အတိုင်း folder တစ်ခုရှိ resource များသည် ထို folder မှ policies and permissions များကို အမွေဆက်ခံပါသည်။

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

Folders များကို အသုံးပြုရန် သင့်တွင် Organization Node တစ်ခု ရှိရမည်ဖြစ်ပြီး ၎င်းသည် Google Cloud’s resource hierarchy တွင် အမြင့်ဆုံးဖြစ်သည်။ ထိုအကောင့်နှင့် ချိတ်ဆက်ထားသော အရာအားလုံးသည် ဤ Node အောက်တွင် ရှိပြီး ၎င်းတွင် Folders၊ ပရောဂျက်များ၊ နှင့် အခြားအရင်းအမြစ်များ ပါဝင်သည်။

Organization node နှင့် ဆက်စပ်နေသော special roles များရှိပါသည်။

Organization Policy Administrator
ဤ role ကို သတ်မှတ်ခြင်းဖြင့်၊ policies များကို ပြောင်းလဲနိုင်သူများကို ကန့်သတ်နိုင်ပါသည်။
ဤ role ရှိသူများသာ policies များကို ပြင်ဆင်နိုင်မည်ဖြစ်ပါသည်။
Project Creator Role
ဤ role ကို သတ်မှတ်ခြင်းဖြင့်၊ မည်သူများ projects များကို ဖန်တီးနိုင်သည်ကို ထိန်းချုပ်နိုင်ပါသည်။
ဤ role ရှိသူများသာ projects များကို ဖန်တီးနိုင်ပြီး၊ ငွေကြေးသုံးစွဲနိုင်မည်ဖြစ်ပါသည်။
Organization Node ဖန်တီးခြင်း

Google Workspace Customer - သင့်ကုမ္ပဏီသည် Google Workspace customer ဖြစ်ပါက၊ Google Cloud projects များသည် အလိုအလျောက် organization node နှင့် ချိတ်ဆက်သွားမည်ဖြစ်ပါသည်။
Cloud Identity - Google Workspace customer မဟုတ်ပါက၊ Cloud Identity (Google ၏ identity, access, application, နှင့် endpoint management platform) ကို အသုံးပြု၍ organization node တစ်ခုကို ဖန်တီးနိုင်ပါသည်။
Organization Node ဖန်တီးပြီးနောက်

- Projects and Billing Accounts - Domain အတွင်းရှိ မည်သူမဆို projects နှင့် billing accounts များကို ဖန်တီးနိုင်မည်ဖြစ်ပါသည်။

Folders and Projects - Organization node အောက်တွင် folders များကို ဖန်တီးနိုင်ပြီး၊ projects များကို ထည့်သွင်းနိုင်ပါသည်။
Children - Folders နှင့် projects များသည် organization node ၏ “children” အဖြစ် သတ်မှတ်ပါသည်။