What is AWS and its services?

လွန်ခဲ့တဲ့ ရက်ပိုင်းက Amazon Web Service နဲ့ ပတ်သက်တဲ့ သင်တန်းလေး တခု တက်လိုက်ရတာလေးကို ခေါင်းထဲမှာ ကျန်နေတုန်းလေး မှတ်စုအနေနဲ့ ချရေးထားတာပါ။
လေ့လာချင်တဲ့သူတွေ သိချင်တဲ့သူတွေအတွက် Information အနည်းငယ် ရသွားတယ်ဆိုရင် ကျေနပ်ပါတယ်။
အောက်မှာ ရေးထားတာတွေက General Idea ရစေဖို့ Briefing လုပ်ထားတဲ့ သဘောပါပဲ။
အသေးစိတ်ကိုတော့ နောက်များ အချိန်ပေးနိုင်တဲ့ အခါ တခုချင်းစီကို Lab နဲ့ တကွ လုပ်ပြပြီး ရေးပါအုံးမယ်။

Amazon ဆိုတဲ့ Company က Amazon Web Services (AWS) ဆိုပြီးတော့ Cloud Computing လောကကို 2006 ခုနှစ်ကနေ စတင်ဝင်ရောက်လာတာ ခုဆို Market Leader အဖြစ်ရပ်တည်နေပါတယ်။
ဒီတော့ AWS ဆိုတာဘာလဲ။ သူက ဘာ Service တွေ ပေးတာလဲ။ ဘယ်လိုတွေ သုံးလို့ရတာလဲ။ ဘယ်လိုမျိုး ဝန်ဆောင်မှုတွေအတွက်ဘယ်လောက် ကုန်ကြနိုင်မလဲဆိုတာတွေ ကို ဝေမျှပေးလိုက်ပါတယ်။

AWS က ပေးနိုင်တဲ့ Service တွေကတော့
- AWS Compute Services
- AWS Storage Services
- AWS Database Services
- AWS Networking Services
- AWS Monitoring Services
- AWS Security Services
- AWS Application Domain
တို့ပဲ ဖြစ်ပါတယ်။

ဒါက အကျဉ်းချုံးပြီး ရေးထားတာပါ။ သူပေးနိုင်တဲ့ Service တွေက အများကြီးပါ။
ဒီထက်ပိုသိချင်ရင်တော့ AWS Website မှာ သွားလေ့လာနိုင်ပါတယ်။ လိပ်စာကတော့ https://aws.amazon.com/products/ ပါ။
နောက်ဆုံးမှာတော့ Pricing အကြောင်းကို ရေးထားပါတယ်။

တခုချင်းစီကိုတော့ အောက်မှာ ခေါင်းစဉ်အလိုက် ရှင်းပြထားပါတယ်။

AWS Compute Service မှာတော့ EC2, Lambda, Leastic Beanstalk, Elastic Load Balancer နဲ့ AutoScaling ဆိုပြီး Service တွေရှိပါတယ်။

EC2 (Elastic Compute)
သူကတော့ ပြောရမယ်ဆိုရင် RAW Server ပေါ့။ Windows, Ubuntu, Redhat အစရှိတဲ့ Operating System ချည်းပဲ ဘာဆို ဘာမှ လုပ်မထားရသေးတဲ့ Server ပေါ့။
သူ့ကို နောက်တမျိုး အနေနဲ့ "Instance" လို့လဲ ခေါ်သေးတယ်။

Lambda
သူကတော့ RAW Server မဟုတ်တော့ပဲ Backgroup Task တွေ ဆောင်ရွက်ပေးနိုင်တဲ့ Server မျိုးပါ။

Elastic Beanstalk
သူကတော့ Environment အလိုက် အသင့်သုံး နိုင်အောင် လုပ်ပေးထားတဲ့ Server မျိုးပါ။
ဆိုလိုတာက PHP သုံးတဲ့ Web Server တလုံးလိုချင်တယ်ဆိုရင် ဒီ Elastic Beanstalk Service ပေးတဲ့ Server တွေထဲက PHP ကို အသင့်သုံးနိုင်အောင် Setup/configure လုပ်ထားတဲ့ Server မျိုးကို ပြောတာ။

Elastic Load Balancer
သူကတော့ Instance တွေ အများကြီးက ပေးတဲ့ Service တွေနဲ့ Instance တွေဆီကို ရောက်လာတဲ့ Service Request တွေကို Load Balance လုပ်ပေးတာပါ။ Automatic  Load Balance လုပ်ပေးတာပါ။

AutoScaling
သူကတော့ Elastic Load Balancer နဲ့ တွဲသုံးရတဲ့ Service တခုပါ။
သူ့ကို သုံးဖို့ အတွက် Metric တွေ သတ်မှတ်ပေးထားရပါတယ်။
ဘယ်လိုလဲ ဆိုတော့ ပထမဆုံး အနေနဲ့ Web/Application Server Instance တလုံးထဲ Run ထားပြီး Server ရဲ့ CPU Usage, RAM usage နဲ့ Network Bandwidth Utilization တွေ ဘယ်နှစ်ရာခိုင်နှုန်းထိရောက်ပြီး အဲဒီရာခိုင်နှုန်းက ဘယ်အချိန်အထိ ဆက်ရှိနေသေးပြီး ကျမသွားဘူးဆိုရင် နောက်ထပ် Instance ဘယ်နှစ်လုံး ထပ် Run အောင် လုပ်ပေးတာမျိုးကို ပြောတာပါ။ Metric တန်ဖိုးတွေ ကျသွားခဲ့ရင်လဲ သတ်မှတ်ထားတဲ့ အချိန်ထိ စောင့်ပြီးတာနဲ့ မလိုတော့တဲ့ Instance တွေကို ပြန် Shutdown လုပ်ပေးတာမျိုးပါ။ အပိုထပ် Run လာတဲ့ Instance တွေကို Load Balance လုပ်ပေးဖို့ အတွက် Elastic Load Balancer ကို လဲ အကြောင်းကြားပါသေးတယ်။

AutoCloudWatch
သူက Elastic Load Balancer, AutoScaling တို့နဲ့ တွဲလုပ်ပေးတဲ့ Service ပါ။
အပေါ်က AutoScaling အလုပ်လုပ်ဖို့ အတွက် လိုတဲ့ Metric တန်ဖိုးတွေကို စောင့်ကြည့်ပေးတဲ့ Monitoring လုပ်ငန်းကို လုပ်တာပါ။

AWS Storage Services မှာတော့ S3, Cloudfront, Elastic Block Storage, Glacier နဲ့ Snowball ဆိုပြီးရှိပါတယ်။

S3 (Simple Storage Service)
သူက Objects-Oriented File System တခုပါ။
File တနည်းအားဖြင့် Object တွေကို Bucket လို့ ခေါ်တဲ့ Folder ထဲမှာ သိမ်းပေးတာပါ။ Bucket ကိုတော့ Root Folder လို့ သတ်မှတ်ထားပြီး Bucket အောက်မှာ Create လုပ်ထားတဲ့ folder ကိုတော့ lingo လို့ AWS က ခေါ်ပါတယ်။

Application က Lingo ထဲကယူသုံးချင်တဲ့  File/Object ကို access လုပ်ဖို့ file path လေးပဲ လိုပါတယ်။

Cloudfront
သူ့ကိုတော့ Caging Service လို့လဲ ခေါ်ပါတယ်။ Content Delivery Network Service နဲ့ တွဲသုံးရတာပါ။
အတိအကျ ပြောရမယ်ဆိုရင် ကမ္ဘာပေါ်က မည်သည့်နေရာက မဆို မိမိ ရဲ့ Hosted Service ကို အသုံးပြုနေသူတွေတိုင်း အတွက် ရရှိရမယ့် Performance က အတူတူ (သို့မဟုတ်) သိပ်မကွားခြားနေဖို့ပါပဲ။
ဥပမာ အနေနဲ့ဆို Netflix သုံးပြီး Movie တခုထဲကို  ကြည့်နေတဲ့ US ကသူရယ်၊ Singapore က သူရယ်နဲ့ Myanmar က သူရယ်တို့က Latency, Quality and Speed တွေ အရမ်းကွာမနေအောင် လုပ်ပေးတာပါ။

Elastic Block Storage (EBS)
သူကတော့ ယနေ့သုံးနေကြတဲ့ Hard Disk နဲ့ သဘောတရား အတူတူပါပဲ။
Instance တခုကို EBS တခုပဲ တွဲသုံးလို့ရပါတယ်။

Glacier
သူကတော့ Archiving Service ပါ။
ခဏခဏ ပြန်ယူသုံးဖို့ မလိုတဲ့ Data တွေကို Archive လုပ်ထားဖို့အတွက်ပါ။

Snowball
သူကတော့ Tera/Petabytes Data တွေကို Private/On-Premise Data Center တွေကနေ AWS Cloud ကို Migrate/Transfer လုပ်ဖို့အတွက်ပါ။
ဒီ Service ကို သုံးချင်တယ်ဆိုရင်တော့ Data Transfer လုပ်ဖို့အတွက် မိမိဆီကို AWS က Physical Storage Device ကို ပို့ပေးပါတယ်။

Storage Gateway
 သူကတော့ Data Recovery အတွက် သုံးဖို့ပါ။
သူ့ကို Cloud နဲ့ private datacenter ကြားမှာထားပါတယ်။
သူအလုပ်လုပ်ပုံက Storage Server တခုချင်းစီကို Snapshot တွေ ယူယူထားပြီး အကြောင်းအမျိုးမျိုးကြောင့် Server တလုံးလုံး (သို့မဟုတ်) Stored Data ပျက်သွားခဲ့တာနဲ့ သူက သိပြီး ပြန် Restore လုပ်ပေးတာပါ။
သူ့ကို Hybrid-Cloud, Full Cloud ပုံစံ Infra တွေမှာ သုံးနိုင်ပါတယ်။

AWS Database Service မှာတော့ RDS, Aurora, DynamoDB, ElastiCache နဲ့ RedShift ဆိုပြီး ရှိပါတယ်။

RDS (Relational Database Management Service)
Relational Database ကို Auto Management လုပ်ပေးတဲ့ Service ပါ။
သူက Support လုပ်တဲ့ Database တွေကတော့ Microsof SQL, MySQL, Oracle, MartiaDB, PostgreSQL, AmazonAurora  တွေပါတဲ့။
Manage လုပ်တယ်ဆိုတာမှာ Database ကြီးကို ကိုယ့်ကိုယ်စား သူက Manage လုပ်ပေးတာမျိုး မဟုတ်ပါဘူး။ DB Engine ကို Update/Downgrade, DB Server OS ကို Patching, Upgrade/Downgrade စတာတွေကို ပဲ Auto Manage လုပ်ပေးတာပါတဲ့။

Aurora
သူက MySQL ပေါ်မှာ အခြေခံထားတဲ့ AWS Database ပါ။
AWS ပြောထားတာကတော့ တခြား Database တွေထက် ၅ ဆ ပိုမြန်ပါတယ်တဲ့။

DynamoDB
သူက RDS နဲ့ ဆန့်ကျင်ဖက်ဗျ။
Non-relational Database ကို Manage လုပ်ပေးတာပါ။

ElastiCache
သူကတော့ ရှင်းပါတယ်။ User နဲ့ Database ကြားကနေပြီး DB data ကို Cache လုပ်ပေးထားတာ။

RedShift
သူကတော့ RDS က ပဲဖြစ်ဖြစ် DynamoDB က ပဲ ဖြစ်ဖြစ် Data တွေကို DataWarehouse လုပ်ပြီး Analytics လုပ်ပေးတဲ့ Service ပါ။

AWS Networking Services မှာတော့ VPC, Direct Connect နဲ့ Route53 ဆိုပြီး ရှိပါတယ်။

VPC (Virtual Private Cloud)
သူကတော့ AWS ပေါ်မှာပဲ ကိုယ်ပိုင် Private Cloud တခု ဆောက်နိုင်တဲ့ Service ပါ။
ဒါကတော့ Private Datacenter လည်းရှိတယ် AWS မှာလဲ Datacenter ရှိတယ်။ DC နှစ်ခု တခုနဲ့ တခု ချိတ်ဆက်ပြီး သုံးဖို့လိုတယ်ဆိုရင် VPN Service ပါ ထပ်ဝယ်သုံးလို့ရပါသေးတယ်။

Direct Connect
ဒါကတော့ AWS မှာရှိတဲ့ ကိုယ့် Datacenter  ကို အင်တာနက်ကနေ ချိတ်ဆက်ပြီး သုံးတဲ့အခါ နှေးကွေးနေတယ်လို့ ခံစားရတဲ့အခါ မျိုးမှာ မလိုချင်ဘူး တိုက်ရိုက်ပဲ ချိတ်ချင်တယ်ဆိုတဲ့ သူတွေ အတွက်ပေးတဲ့ Service ပါ။

Route53
ဒါကတော့ Domain Name Service လို့ခေါ်ပါတယ်။ မိမိ Website ရဲ့ URL ကို IP ပြောင်းပေးတဲ့ Service ပါ။

AWS Monitoring Services မှာတော့  CloudWatch, CloudFormation, CloudTrail, CLI, OpsWorks နဲ့ Trusted Advisor ဆိုပြီးရှိပါတယ်။

CloudWatch
သူ့ကိုတော့ အပေါ်က AutoScaling service အကြောင်းမှာ ပြောပြီးပါပြီ။

CloudFormation
သူကတော့ ကိုယ့်ရဲ့ Project Infra တွေက အတူတူပဲ ဆိုရင် Project တခုချင်းစီအတွက် Instance, Storage, Loadbalancer စတာတွေ ထပ်ထပ်ပြီး ဆောက်မနေတော့ပဲ တခုဆောက်ပြီးတာနဲ့ နောက် Project တွေအတွက် Infra ကို Clone လုပ်ပေးတဲ့ Service ပါ။

CloudTrail
သူကတော့ Logging Service ပါ။

CLI
GUI ကို မသုံးချင်တဲ့ သူတွေရှိတဲ့အခါ CLI သုံးချင်ရင် သုံးနိုင်အောင်ပါ။

OpsWorks
ဒါကတော့ Instance တခုချင်း၊ Infra တခုချင်းစီအတွက် Configuration ပြောင်းလဲမှုလိုက်တိုင်း လိုက်ပြောင်းနေစရာ မလိုအောင် Central Stacking Management လုပ်ပေးတဲ့ service ပါ။
Central တနေရာထဲက Configuration ပြောင်းပေးတာနဲ့ လိုအပ်တဲ့ နေရာတွေမှာ Auto လိုက်ပြောင်းပေးတာပါ။

Trusted Advisor
ဒါကတော့ လုပ်ငန်းတွေ အများကြီး လုပ်ရတဲ့ Administrator တွေအတွက် လုပ်ရမယ့် လုပ်ငန်းစဉ်တွေ မေ့မသွားအောင် ကျော်မသွားအောင် ဘာလုပ်ပြီးရင်တော့ ဘယ်အဆင့်ကို လုပ်ပါဆိုပြီး ကူညီပေးမယ့် personal assistant ပေါ့ဗျာ။

AWS Security Services မှာတော့ IAM နဲ့ KMS ဆိုပြီး ရှိပါတယ်။

IAM (Identity and Access Management)
သူကတော့ ဘယ်သူကတော့ Infra တခုရဲ့ ဘာကို Access လုပ်ခွင့်ရှိမယ်။ ဘယ်သူကတော့ ဘယ် Instance ကို Shutdown လုပ်ခွင့်ရှိမယ် စသည်တို့ကို ထိန်းချုပ်နိုင်ဖို့ လုပ်ပေးနိုင်တဲ့ Service ပါ။

KMS (Key Management Service)
AWS ပေါ်က Instance တွေကို Access လုပ်တဲ့ အခါ Private Key , Public Key တွေလိုပါတယ်။ ဒီလိုအပ်တဲ့ Key တွေကို စီမံခန့်ခွဲပေးတဲ့ Service ပါ။

AWS Application Domain မှာတော့ SES, SQS နဲ့ SNS ဆိုပြီး ရှိပါတယ်။

SES
Simple Email Service ဆိုတဲ့ အတိုင်း Email Distribution လုပ်ပေးတာကို လွယ်ကူမြန်ဆန်အောင် လုပ်ပေးတာပါ။

SQS
Simple Queue Service ဆိုတာကတော့ Instance တခု လုပ်ရမယ့် Task တွေကို Priority ပေါ်မူတည်ပြီး ဘယ်ဟာအရင် ဘယ်ဟာနောက် မှလုပ်ဆိုပြီး စီမံခန့်ခွဲပေးတာပါ။

SNS
Simple Notification Service ဆိုတဲ့ အတိုင်း Infra ကို စောင့်ကြည့်ပြီး အချိန်နဲ့ တပြေးညီ Notification တွေကို မိမိဆီ ပို့ပေးမှာပါ။

AWS Pricing 
ပိုက်ဆံနဲ့ ပတ်သက်ပြီး ပြောရမယ်ဆိုရင်တော့ ကြိုက်သလောက်သုံး ကျသလောက်ရှင်း ဆိုတဲ့ မူကို AWS က လက်ကိုင်ထားပါတယ်။
ဒါ့အပြင် Instance တွေကို Reserve လုပ်ထားပြီးတော့လဲ ကုန်ကျစရိတ် ၇၅% ခန့်ကို သက်သာစေပါသေးတယ်တဲ့။
ဒါကတော့ Engineering Design Project တွေလိုမျိုး Server တွေကို Project ရှိတုန်း သုံးပြီး နောက် Project က လာတော့လာမယ် နည်းနည်း ကြာအုံးမယ် ခုလဲ ဒီ Server တွေကို သုံးဖို့ မလိုသေးဘူး ဆိုတဲ့ သူတွေအတွက်ပိုကိုက်တဲ့ Service မျိုးပေါ့။


ဒီလောက်ဆိုရင်တော့ AWS နဲ့ သူ့ဆီက ရနိုင်တဲ့ Service တွေ အကြောင်းကို ယေဘုယျအနေနဲ့ သိလောက်ပြီလို့ ထင်ပါတယ်။ Service တွေက ထပ်ထပ်တိုးနေတာကြောင့် ဒီစာရေးနေချိန်နဲ့ နောက်ပိုင်းအချိန်တွေမှာတောင် တူချင်မှ တူနိုင်မယ်ထင်ပါတယ်။
Cloud တွေနဲ့ ပတ်သက်လာရင် ကျတော်မြင်တာကတော့ Solution Architect တွေရဲ့ Skill က အတော်လေး အရေးပါပါတယ်။
ဘာလို့လဲ ဆိုတော့ ကြိုက်သလောက်သုံး ကျသလောက်ရှင်းဆိုတဲ့ Pricing Model တခုပေါ်မှာ လိုချင်တဲ့ Infra နဲ့ ကုန်ကျစရိတ်ကို သေချာတွက်ချက်နိုင်ဖို့က အရေးအကြီးဆုံးလို့ မြင်မိတာကြောင့်ပါ။

ကျေးဇူးတင်ပါတယ်။

ပျော်ရွှင်ပါစေဗျာ။
(Be knowledgeable, pass it on then)