Cloud Computing Fundamentals in Sinhala | AWS Basics for Beginners

Cloud Computing Fundamentals: AWS සමඟින් ලෝකයට පිවිසෙමු!
ආයුබෝවන් යාළුවනේ! අද අපි කතා කරන්න යන්නේ මේ දවස්වල Software Engineering ලෝකයේ හැමතැනම ඇහෙන, කතාබහට ලක්වෙන Hot Topic එකක් ගැන – ඒ තමයි Cloud Computing! ඔයාලා කවුරුත් අහලා ඇතිනේ AWS, Azure, Google Cloud කියලා. මේ හැමදේකම මූලික පදනම තමයි මේ Cloud Computing කියන එක. මේක හරියට අද කාලේ Software Engineer කෙනෙකුට නැතිවම බැරි දෙයක් වගේ. මොකද, අනාගතයේදී හැමදේම වගේ Cloud එකට යන නිසා, මේ ගැන හොඳ අවබෝධයක් තියෙන එක ඔයාගේ Career එකට ලොකු වාසියක් වේවි.
හරි, එහෙනම් අපි බලමු මේ Cloud Computing කියන්නේ මොකක්ද? මේක කොහොමද වැඩ කරන්නේ? මොනවද මේකේ තියෙන වාසි කියලා.
Cloud Computing කියන්නේ මොකක්ද? (What is Cloud Computing?)
සරලවම කිව්වොත්, Cloud Computing කියන්නේ ඔයාගේ පරිගණක සම්පත් (Computing Resources) – ඒ කියන්නේ Servers, Storage, Databases, Networking, Software වගේ දේවල් – අන්තර්ජාලය හරහා ලබාගෙන පාවිච්චි කරන්න පුළුවන් සේවාවක්. මේවා ඔයාට අයිති කරගන්න, ඒවගේ නඩත්තුව ගැන හිතන්න ඕනේ නැහැ. ඒ වෙනුවට, ඔයාට ඕන වෙලාවට, ඕන තරම් විතරක් අරගෙන, ඒකට විතරක් ගෙවලා වැඩ කරන්න පුළුවන්. හරියට විදුලිය පාවිච්චි කරනවා වගේ. ඔයා Generator එකක් අරගෙන පවර් හදන්නේ නැතුව, විදුලිබල මණ්ඩලයෙන් Current අරගෙන බිල ගෙවනවා වගේ තමයි මේකත්.
මේ Cloud Computing වල ප්රධාන සපයන්නන් තමයි Amazon Web Services (AWS), Microsoft Azure, සහ Google Cloud Platform (GCP). මේගොල්ලෝ තමයි ලෝකේ පුරා තියෙන Data Centers වල මේ සම්පත් ඔක්කොම තියාගෙන ඉන්නේ.
NIST Cloud Computing වල ප්රධාන ලක්ෂණ (NIST Characteristics of Cloud Computing)
ඇමරිකාවේ NIST (National Institute of Standards and Technology) ආයතනය Cloud Computing කියන්නේ මොකක්ද කියලා අර්ථ දක්වලා තියෙනවා. ඒකට තියෙන ප්රධාන ලක්ෂණ පහක් තියෙනවා. මේවා තමයි Cloud එකක තියෙන්නම ඕන දේවල්.
- On-demand Self-service (ඕන වෙලාවට ගන්න පුළුවන්):මේකෙන් කියන්නේ ඔයාට Servers, Storage වගේ දේවල් ඕන වෙලාවට, මිනිස්සුන්ගේ උදව් නැතුවම (self-service) අන්තර්ජාලය හරහා ලබාගන්න පුළුවන් වීම. හරියට ඔයාගේ Netflix Account එකට ගිහින් ඕන Film එකක් Play කරනවා වගේ. කාටවත් කතා කරන්න ඕනේ නැහැ.
- Broad Network Access (විශාල ජාල ප්රවේශය):Cloud සම්පත් වලට Smartphones, Laptops, Tablets වගේ ඕනම Device එකකින්, ඕනම තැනක ඉඳන් (Internet තියෙනවනම්) ප්රවේශ වෙන්න පුළුවන්. ඒ කියන්නේ, ඔයාට කොළඹ ඉඳන් ලන්ඩන් වල තියෙන Server එකක වැඩ කරන්න පුළුවන්.
- Resource Pooling (සම්පත් එකතුව):Cloud Provider කෙනෙක් තමන්ගේ Data Centers වල තියෙන Hardware සම්පත් එකට එකතු කරලා තියාගෙන, විවිධ පරිශීලකයන්ට ඒක බෙදා දෙනවා. ඒ කියන්නේ, එකම Physical Server එකක ඔයාගේ Application එකත්, වෙන කෙනෙක්ගේ Application එකත් Run වෙන්න පුළුවන්. මේකෙන් සම්පත් කාර්යක්ෂමව පාවිච්චි කරන්න පුළුවන්.
- Rapid Elasticity (ඉක්මන් ව්යාප්ත වීමේ හැකියාව):මේක නම් Cloud එකේ තියෙන නියමම Features වලින් එකක්! ඔයාගේ Application එකට හිටිහැටියේම වැඩි Users ලා ආවොත්, ඔයාට තත්පර ගානකින් Servers ප්රමාණය වැඩි කරගන්න පුළුවන්. ඒ වගේම, Users ලා අඩු වුණාම, නැවතත් Servers අඩු කරගන්න පුළුවන්. මේකෙන් ඔයාට කිසිම වෙලාවක අවශ්ය සම්පත් හිඟයක් වෙන්නේ නැහැ. (Scale up / Scale down).
- Measured Service (මැනිය හැකි සේවාව):ඔයා Cloud එකේදී පාවිච්චි කරන හැම සම්පතක්ම (Storage, CPU Usage, Data Transfer) හරියට මැනලා, ඒ පාවිච්චියට විතරක් Bill එකක් එනවා. මේක හරියට ඔයාගේ විදුලි බිල වගේ. පාවිච්චි කරන ප්රමාණයට විතරයි ගෙවන්නේ. මේකෙන් වියදම් පාලනය කරගන්න ලේසියි.
Cloud Deployment Models (Cloud වර්ග)
Cloud Computing වලදී ප්රධාන වශයෙන් Deployment Models වර්ග තුනක් තියෙනවා. මේවා ඔයාගේ අවශ්යතාවය අනුව තෝරාගන්න පුළුවන්.
- Public Cloud (පොදු ක්ලවුඩ්):මේක තමයි අපි සාමාන්යයෙන් කතා කරන Cloud එක. AWS, Azure, GCP වගේ Cloud Providers ලා තමන්ගේ Data Centers වල සම්පත් ඔක්කොම පොදුවේ හැමෝටම ලබා දෙනවා. ඔයාගේ දත්තත්, අනිත් අයගේ දත්තත් එකම Hardware එකක තියෙන්න පුළුවන් (ඒත් දත්ත වෙන වෙනම ආරක්ෂිතයි). මේක ගොඩක් වෙලාවට පොඩි ව්යාපාර වලට, Startups වලට සහ ඉක්මනට Deploy කරන්න ඕන Projects වලට ගොඩක් හොඳයි. වියදමත් අඩුයි.
- Private Cloud (පුද්ගලික ක්ලවුඩ්):මේකෙදි Cloud Infrastructure එක හදලා තියෙන්නේ එකම ආයතනයක පාවිච්චියට. ඒ කියන්නේ, බැංකුවක් වගේ ආයතනයකට තමන්ගේම Data Center එකක් ඇතුළේ Cloud එකක් හදාගන්න පුළුවන්. මේකෙන් දත්ත ආරක්ෂාව සහ පාලනය ගොඩක් වැඩියි. හැබැයි, වියදම වැඩියි සහ නඩත්තුවට තමන්ගේම Tech Team එකක් ඕන වෙනවා.
- Hybrid Cloud (මිශ්ර ක්ලවුඩ්):මේක Public Cloud එකයි, Private Cloud එකයි එකට පාවිච්චි කරන විදිය. උදාහරණයක් විදියට, ආයතනයකට තමන්ගේ සංවේදී දත්ත Private Cloud එකේ තියාගෙන, අනිත් සාමාන්ය Public Facing Applications Public Cloud එකේ තියාගන්න පුළුවන්. මේ දෙක අතර Data Transfer කරන්න පුළුවන්. මේකෙන් ආරක්ෂාවත්, නම්යශීලී බවත් දෙකම ලබාගන්න පුළුවන්.
Cloud Service Models (Cloud සේවා වර්ග)
Cloud එකෙන් අපිට සේවා ලැබෙන ආකාර තුනක් තියෙනවා. මේවා තේරුම් ගන්න “Pizza as a Service” කියන ජනප්රිය උදාහරණය පාවිච්චි කරමු. මේකෙන් කියවෙන්නේ ඔයාට Pizza එකක් කන්න ඕන වුණාම, ඒක හදාගන්න පුළුවන් විවිධ ක්රම ගැන.
+-----------------------+-----------------------+-----------------------+
| On-Premise | IaaS | PaaS | SaaS |
+-----------------------+-----------------------+-----------------------+-----------------------+
| Everything | Virtualization, | Runtime, | Application |
| is Managed | Servers, Storage, | OS, Middleware, | (Software) |
| by You | Networking | Database | |
| | | | |
| You manage everything:| You manage data, apps, | You manage data, apps.| You just use the |
| - Food, Oven, | OS, middleware, runtime.| The cloud provider | application. |
| Table, Plates | The cloud provider | manages everything | |
| | manages virtualization, | else. | You just eat the |
| | servers, storage, networking. | | Pizza! |
+-----------------------+-----------------------+-----------------------+-----------------------+
| You make the pizza | You buy ingredients,| You buy pizza dough,| You buy a fully |
| from scratch, bake | use your own oven, | sauce, cheese, toppings. | baked pizza from |
| it, serve it. | but use their table.| They provide the | Pizza Hut/Domino's. |
| | | oven. | |
+-----------------------+-----------------------+-----------------------+-----------------------+
- Infrastructure as a Service (IaaS) - යටිතල පහසුකම් සේවාවක් ලෙස:මේක තමයි Cloud Computing වල මූලිකම සේවාව. මෙතැනදි ඔයාට ලැබෙන්නේ Hardware වෙනුවට Virtual Hardware (Servers, Storage, Networking) වගේ දේවල්. Operation System (OS), Applications, Data වගේ දේවල් Management කරගන්න ඕන ඔයාටම තමයි. හරියට ඔයා ගෙදරට ගෙනත් Oven එකක් සහ මේසයක් අරගෙන Pizza එක හදාගන්නවා වගේ (අමුද්රව්ය ඔයාගේ). AWS EC2 (Elastic Compute Cloud) මේකට හොඳම උදාහරණයක්. ඔයාට ඕන විදිහට Server එකක් හදාගන්න පුළුවන්.
- Platform as a Service (PaaS) - Platform එකක් සේවාවක් ලෙස:PaaS කියන්නේ IaaS වලට වඩා තවත් පියවරක් ඉස්සරහට ගිහින්. මෙතැනදි Cloud Provider (AWS, Azure) ඔයාට OS එක, Programming Language Execution Environment එක (Runtime), Databases, Web Servers වගේ දේවල් පවා සපයනවා. ඔයාට කරන්න තියෙන්නේ ඔයාගේ Application Code එක Deploy කරන එක විතරයි. OS Updates, Server Management ගැන හිතන්න ඕනේ නැහැ. හරියට ඔයා Pizza Dough එකයි, Sauce එකයි, Cheese එකයි, Toppings ටිකයි අරගෙන, Oven එකක් තියෙන තැනකට ගිහින් Pizza එක හදාගන්නවා වගේ. AWS Elastic Beanstalk සහ Google App Engine මේකට හොඳ උදාහරණ.
- Software as a Service (SaaS) - මෘදුකාංග සේවාවක් ලෙස:මේක තමයි ලේසිම එක. මෙතැනදි ඔයාට ලැබෙන්නේ සම්පූර්ණ Application එකක්. ඔයාට කරන්න තියෙන්නේ ඒක අන්තර්ජාලය හරහා පාවිච්චි කරන එක විතරයි. මේකෙදි OS, Hardware, Software Updates වගේ කිසිම දෙයක් ගැන ඔයාට හිතන්න ඕනේ නැහැ. හරියට Pizza Hut එකකින් බේක් කරපු Pizza එකක් අරගෙන කනවා වගේ. Gmail, Microsoft 365, Salesforce, Netflix වගේ දේවල් මේකට හොඳ උදාහරණ.
ඇයි AWS? (Why AWS?)
දැන් ඔයාලා Cloud Computing ගැන පොඩි අදහසක් අරගෙන ඇතිනේ. මේ වෙද්දි ලෝකයේ ප්රමුඛතම Cloud Service Provider තමයි Amazon Web Services (AWS). ඇයි මේ AWS මෙච්චර ජනප්රිය සහ බොහෝ දෙනා තෝරාගන්නේ?
- ප්රමුඛයා සහ පළපුරුද්ද: AWS තමයි Cloud Computing ලෝකයේ පුරෝගාමියා. 2006 ඉඳන් මේ ක්ෂේත්රයේ ඉන්න නිසා, එයාලට ලොකු අත්දැකීමක් සහ තාක්ෂණික දැනුමක් තියෙනවා. ලෝකයේ විශාලතම ආයතන වල ඉඳන් පොඩි Startups දක්වා විශාල පිරිසක් AWS පාවිච්චි කරනවා.
- සේවා විශාල ප්රමාණයක්: AWS සතුව Servers (EC2), Databases (RDS, DynamoDB), Storage (S3), Machine Learning, AI, IoT, Analytics වගේ 200කට අධික සේවා ප්රමාණයක් තියෙනවා. ඔයාට ඕනෑම Application එකක් හදන්න අවශ්ය හැමදේම එක තැනකින් ලබාගන්න පුළුවන්.
- පරිණත Ecosystem එකක්: AWS එකට ලොකු Community එකක්, Support System එකක්, Tools සහ Third-Party Integrations විශාල ප්රමාණයක් තියෙනවා. මොන ප්රශ්නයක් ආවත්, උත්තරයක් හොයාගන්න ලේසියි.
- ආරක්ෂාව: AWS තමයි ලෝකයේ ආරක්ෂිතම Cloud Platforms වලින් එකක්. එයාලාගේ Data Centers වලට සහ Services වලට ලෝක මට්ටමේ ආරක්ෂක ප්රමිතීන් තියෙනවා.
- නම්යශීලී බව සහ Scalability: AWS එකේදී ඔයාට ඕන වෙලාවට සම්පත් වැඩි කරගන්න හෝ අඩු කරගන්න පුළුවන්. ඒ වගේම, ඕනෑම රටක, ඕනෑම කලාපයකින් (Region) සේවා ලබාගන්න පුළුවන්.
ඇත්තටම, Microsoft Azure සහ Google Cloud Platform (GCP) කියන මේ දෙන්නත් ඉතාම හොඳ Cloud Providers ලා දෙන්නෙක්. එයාලත් ගොඩක් දියුණු වෙමින් යනවා. සමහර Services වලදී එයාලා AWS එකට වඩා හොඳ වෙන්නත් පුළුවන්. නමුත්, Overall Market Share එක සහ ලබා දෙන Services ගණන අනුව බැලුවම AWS තමයි ඉස්සරහින්ම ඉන්නේ.
නිගමනය (Conclusion)
ඉතින් යාළුවනේ, Cloud Computing කියන්නේ හුඟක් බලගතු, අනාගතය වෙනස් කරන තාක්ෂණයක්. මේක හොඳින් තේරුම් ගන්න එක ඔයාගේ Career එකට ගොඩක් වටිනවා. අපි අද මේ ලිපියෙන් Cloud Computing කියන්නේ මොකක්ද? ඒකේ තියෙන NIST ලක්ෂණ, Deployment Models සහ Service Models ගැන සාකච්ඡා කළා. ඒ වගේම, ඇයි AWS මේ තරම් ජනප්රිය වෙලා තියෙන්නේ කියලත් පොඩි අදහසක් ගත්තා.
මේ Cloud Computing ලෝකය හරිම විශාලයි. අපි අද කතා කලේ මූලිකම දේවල් ගැන විතරයි. මේ ගැන තවදුරටත් ඉගෙන ගන්න AWS Free Tier Account එකක් හදාගෙන, ඒකේ තියෙන Services එක්ක අත්හදා බලන්න පුළුවන්. ඒක ඔයාට ලොකු Practical Experience එකක් දෙයි.
ඔයාලගේ අදහස්, ප්රශ්න හෝ අත්දැකීම් පහළින් Comment කරන්න අමතක කරන්න එපා. මේ Cloud Computing ගමනට ඔයාලට සුබ පැතුම්!