Azure වලින් මොනවද කරන්න පුළුවන්?
Microsoft Azure කියන්නේ විවිධ විදිහෙ දේවල් ගොඩක් කරන්න පුලුවන් cloud platform එකක්.
ඔයා application එකක් develop කරනවා.
Frontend එක තියෙනවා. Backend API එක තියෙනවා. Database එක තියෙනවා. Users upload කරන images ටික තියෙනවා. සමහරවිට background tasks ටිකකුත් තියෙනවා.
Computer එකේ නම් හැමදේම හොඳට වැඩ.
හැබැයි දැන් ප්රශ්නයක් එනවා.
"මේ application එක users ලාට online use කරන්න කොහෙද host කරන්නේ?"
ඔයාට physical server එකක් අරගෙන, operating system install කරලා, network configure කරලා, database setup කරලා, backups, security, hardware failures වගේ දේවල් ඔක්කොම බලාගන්න පුළුවන්.
එහෙම නැත්නම් Microsoft Azure වගේ cloud platform එකක් use කරන්න පුළුවන්.
Azure කියන්නේ එක තනි service එකක් නෙවෙයි. Applications run කරන්න, data store කරන්න, databases manage කරන්න, networking setup කරන්න, security handle කරන්න සහ applications monitor කරන්න වගේ වැඩ ගොඩකට services ගොඩක් තියෙන cloud platform එකක්.
ඒත් Azure වල services ගොඩක් තියෙන නිසා මුලින්ම ඒවා ගැන තේරුම් ගන්න එක ගොඩක් වැදගත්.
Azure කියන්නේ මොකක්ද?
Microsoft Azure කියන්නේ Microsoft විසින් ලබාදෙන cloud computing platform එකක්.
සරලව කිව්වොත්, ඔයාට අවශ්ය computing resources සහ cloud services Microsoftගේ data centers වලින් use කරන්න පුළුවන්.
උදාහරණයක් විදිහට Azure වලින් ඔයාට:
Linux හෝ Windows server එකක් run කරන්න
Website එකක් host කරන්න
Node.js, Python වගේ backend application deploy කරන්න
Images සහ videos store කරන්න
SQL database එකක් run කරන්න
Private network එකක් create කරන්න
User authentication manage කරන්න
Application එක monitor කරන්න
CI/CD pipelines හදන්න
Containers run කරන්න
AI applications build කරන්න
වගේ දේවල් කරන්න පුළුවන්.
ඒ නිසා Azure කියන්නේ එක product එකකට වඩා cloud services collection එකක් කියලා කිව්වොත් නිවැරදියි.
1. Compute Services
Application එකක් run කරන්න processing power ඕන.
Azure වල Compute Services කියන්නේ ඒ processing power ලබාදෙන services.
මේක application එකේ engine එක වගේ.
Azure Virtual Machines
Azure Virtual Machines (VMs) කියන්නේ Azure data center එකක run වෙන virtual computer එකක්.
ඔයාට:
Linux හෝ Windows තෝරන්න
CPU සහ RAM තෝරන්න
Storage configure කරන්න
Networking configure කරන්න
VM එකට software install කරන්න
පුළුවන්.
සරලවම කිව්වොත්, ඔයා Azure වලින් server එකක් rent කරනවා වගේ.
Internet
↓
Azure VM
↓
Node.js / PHP / Python Application
↓
DatabaseVM එකක් useful වෙන්නේ server එකේ operating system level එකටම control එකක් ඕන වෙලාවට.
උදාහරණයක් විදිහට custom software install කරන්න ඕන නම් හෝ server configuration එක සම්පූර්ණයෙන්ම control කරන්න ඕන නම් VM එක හොඳ option එකක්.
හැබැයි VM එකක් use කරනකොට server management වල වගකීමත් වැඩියි.
2. Azure App Service
ඔයාට සම්පූර්ණ server එකක් manage කරන්න අවශ්ය නැත්නම්, එතකොට Azure App Service වගේ service එකක් useful.
App Service කියන්නේ web applications සහ APIs host කරන්න පුළුවන් managed platform එකක්.
උදාහරණයක් විදිහට Node.js API එකක් තියෙනවා කියලා හිතමු.
Your Code
↓
GitHub
↓
Azure App Service
↓
Your APIServer එක create කරලා operating system setup කරලා Node.js install කරලා හැමදේම manually configure කරනවා වෙනුවට, application එක deploy කිරීම ගැන විතරක් focus කරන්න පුළුවන්.
App Service use කරන්න පුළුවන්:
Websites
REST APIs
Backend applications
Node.js applications
Python applications
PHP applications
.NET applications
වගේ projects සඳහා.
Web application එකක් develop කරන beginner කෙනෙක්ටත් මේක Azure වල ඉගෙනගන්න හොඳ service එකක්.
3. Azure Functions
සමහර වෙලාවට application එකක් run කරන්න සම්පූර්ණ server එකක් ඕන නැහැ.
උදාහරණයක් විදිහට file එකක් upload කළාම ඒක process කරන්න code එකක් run කරන්න ඕන කියලා හිතන්න.
ඒ වගේ event එකක් සිදුවුණාම විතරක් code එක run කරන්න පුළුවන් service එකක් තමයි Azure Functions.
මේක serverless, event-driven compute service එකක්.
උදාහරණයක්:
New File Uploaded
↓
Azure Function
↓
Process File
↓
Save ResultFunction එකක් trigger වෙන්න පුළුවන්:
HTTP request එකකින්
Timer එකකින්
File upload එකකින්
Message එකකින්
වෙනත් Azure service එකක event එකකින්
උදාහරණයක් විදිහට online store එකක order එකක් create කළාම confirmation email එකක් යවන්න Azure Function එකක් use කරන්න පුළුවන්.
Customer
↓
Order API
↓
Order Created
↓
Azure Function
↓
Send Confirmation Emailඒ වගේ පොඩි background tasks එකකට වෙනම server එකක් run කරගෙන ඉන්න අවශ්ය නැහැ.
4. Containers සහ Kubernetes
අද applications ගොඩක් containers ඇතුළේ package කරලා deploy කරනවා.
Azure වල container-based applications සඳහා Azure Container Apps සහ Azure Kubernetes Service (AKS) වගේ services තියෙනවා.
Azure Container Apps
Container Apps වලින් containerized applications run කරන්න පුළුවන්, සම්පූර්ණ Kubernetes cluster එකක් manually manage කිරීමේ අවශ්යතාවත් අඩු වෙනවා.
මේක useful වෙන්න පුළුවන්:
Microservices
APIs
Background services
Containerized applications
වගේ දේවල් සඳහා.
Azure Kubernetes Service
AKS කියන්නේ Azure වල managed Kubernetes service එක.
Application එකේ services ගොඩක් containers විදිහට run වෙන complex architecture එකක් තියෙනවා නම් AKS useful වෙන්න පුළුවන්.
Frontend Container
↓
API Container
↓
Authentication Service
↓
Payment Service
↓
Databaseහැබැයි Azure ඉගෙනගන්න පටන් ගන්න කෙනෙක් නම් මුලින්ම AKS වලට යන එක අමාරු දෙයක්.
මුලින් basic cloud concepts සහ simpler hosting services තේරුම් ගත්තට පස්සේ Kubernetes පැත්තට යන එක වඩා හොඳයි.
5. Azure Storage
Application එකකට files store කරන්න තැනක් ඕන.
උදාහරණයක් විදිහට:
Images
Videos
Documents
Backups
Logs
Application files
වගේ දේවල්.
මේ වගේ data store කරන්න Azure Blob Storage බහුලව use කරන්න පුළුවන්.
උදාහරණයක්:
User uploads Profile Picture
↓
Web Application
↓
Azure Blob StorageApplication server එක ඇතුළේම ලොකු files store කරනවා වෙනුවට ඒවා cloud storage එකකට දාන්න පුළුවන්.
Azure වල files, disks සහ වෙනත් storage requirements සඳහාත් වෙනත් storage options තියෙනවා.
6. Azure Databases
ගොඩක් වෙලාවට modern application හැම එකකටම වගේ database එකක් ඕන.
Azure වල database servers manually install කරලා maintain කරනවා වෙනුවට managed database services use කරන්න පුළුවන්.
Azure SQL Database
Azure SQL Database කියන්නේ Microsoft SQL technology මත පදනම් වූ managed relational database service එකක්.
උදාහරණයක් විදිහට:
Users
Orders
Products
Paymentsවගේ structured data තියෙන application එකකට relational database එකක් useful.
Azure Cosmos DB
Azure Cosmos DB කියන්නේ highly scalable applications සඳහා භාවිතා කළ හැකි NoSQL database service එකක්.
ඒක flexible data models සහ large-scale applications සඳහා useful වෙන්න පුළුවන්.
Azure ecosystem එකේ PostgreSQL සහ MySQL වගේ database technologies සඳහාත් managed options තියෙනවා.
ඒ නිසා database එක තෝරන්නේ application එකේ requirements අනුව.
7. Azure Networking
Application එක පොඩි project එකක් වුණත් services වැඩි වෙද්දී networking වැදගත් වෙනවා.
Azure Virtual Network (VNet) කියන්නේ Azure වල private networking සඳහා තියෙන මූලික service එකක්.
සරලව හිතුවොත්, Azure ඇතුළේ ඔයාගේ resources connect වෙන private network එකක් වගේ.
Internet
↓
Web Application
↓
Azure VNet
/ \
API Server DatabaseVNet එකක් use කරලා resources අතර communication සහ network access control කරන්න පුළුවන්.
Azure වල තවත් networking services තියෙනවා:
Azure Load Balancer
Application Gateway
Azure Front Door
VPN Gateway
Azure DNS
Azure ExpressRoute
හැබැයි project එකකට මේ හැම service එකම අවශ්ය වෙන්නේ නැහැ.
8. Identity සහ Access Management
Application එකකට තවත් වැදගත් ප්රශ්නයක් තියෙනවා.
"කවුද? මොන resource එකද access කරන්න පුළුවන්?"
Azure වල identity සහ access management සඳහා Microsoft Entra ID භාවිතා කරනවා. කලින් මේක Azure Active Directory කියලා හැඳින්වුවා.
උදාහරණයක්:
Developer
↓
Microsoft Entra ID
↓
Azure Portal
↓
Allowed Resourcesමේක භාවිතා කරන්න පුළුවන්:
User authentication
Single sign-on
Access control
Application identities
Organization accounts
වගේ දේවල් සඳහා.
Cloud සහ DevOps පැත්තට යන කෙනෙක්ට Identity and Access Management කියන්නේ අනිවාර්යයෙන්ම තේරුම් ගන්න අවශ්ය concept එකක්.
9. Security
Cloud application එකක් deploy කළා කියලා security එක automatically complete වෙන්නේ නැහැ.
Application එක, network එක, identity එක සහ data එක වගේ හැම layer එකක්ම secure කරන්න ඕන.
Azure වල security සඳහා Microsoft Defender for Cloud වගේ services තියෙනවා.
ඒ වගේම Azure Key Vault කියන්නේ secrets සහ sensitive information securely store කරන්න useful service එකක්.
උදාහරණයක් විදිහට source code එක ඇතුළේ මෙහෙම database password එකක් දාන්න හොඳ practice එකක් නෙවෙයි.
const password = "mySecretPassword";ඒ වෙනුවට secrets secure location එකක store කරලා application එකට අවශ්ය වෙලාවට access කරන්න පුළුවන්.
උදාහරණයක් විදිහට:
Database passwords
API keys
Certificates
Connection strings
Application secrets
වගේ දේවල්.
10. Monitoring
Application එක deploy කළා කියලා වැඩේ ඉවර නැහැ.
Production එකේ application එක run වෙද්දී අපිට දැනගන්න ඕන:
Application එක වැඩද?
Response slow වෙලාද?
Errors එනවද?
CPU usage වැඩිද?
Database එක overloaded ද?
වගේ දේවල්.
Azure වල Azure Monitor සහ Application Insights වගේ services මේ සඳහා use කරන්න පුළුවන්.
උදාහරණයක් විදිහට monitoring data වලින්:
"API response time increased
from 200 ms to 2 seconds."වගේ specific information එකක් ලබාගන්න පුළුවන්.
Production systems troubleshoot කරනකොට මේක ගොඩක් වැදගත්.
මේ Services ඔක්කොම එකට වැඩ කරන්නේ කොහොමද?
දැන් අපි real-world web application එකක් හිතමු.
Application එකකට මේ වගේ architecture එකක් තියෙන්න පුළුවන්:
Users
│
▼
Azure Front Door
│
▼
Azure App Service
│
┌────────┴────────┐
▼ ▼
Azure Functions Azure Storage
│
▼
Azure SQL Database
│
▼
Azure MonitorMicrosoft Entra ID එකෙන් users සහ application resources සඳහා identity සහ access management handle කරන්න පුළුවන්.
මේක තමයි Azure වල වැදගත් දේ.
ඔයාට Azure හරහා Application එකේ requirements අනුව services කිහිපයක් එකට combine කරලා architecture එකක් හදන්න පුළුවන්.
Azure වලින් Server එකක් Manage කරන එකේ වෙනස
සාමාන්යයෙන් තමන්ගේ physical server එකක් තිබුණොත්:
Hardware
Electricity
Cooling
Operating system
Network configuration
Hardware failures
Backups
Security
Scaling
වගේ දේවල් ගොඩක් manage කරන්න වෙනවා.
Azure වගේ cloud platform එකක් use කළාම physical infrastructure එකේ විශාල කොටසක් cloud provider විසින් manage කරනවා.
ඔයාට අවශ්ය control level එක අනුව service එක තෝරන්න පුළුවන්.
Approach | Control | Management |
|---|---|---|
Physical Server | ඉතා වැඩියි | ඉතා වැඩියි |
Azure VM | වැඩියි | මධ්යම |
Azure App Service | අඩුයි | අඩුයි |
Azure Functions | Infrastructure control එක අඩුයි | ඉතා අඩුයි |
Cloud computing වලදි ඔයාට manage කරන්න ඕන infrastructure ප්රමාණය ඔයාටම තෝරගන්න පුළුවන්.
Azure Services ඔක්කොම ඉගෙනගන්න ඕනද?
නැහැ.
Azure වල services ගොඩක් තියෙනවා. Experienced cloud engineers ලවත් හැම service එකක්ම memorize කරගෙන ඉන්නෙ නැහැ.
වැදගත් වෙන්නේ major categories තේරුම් ගැනීම.
Azure
│
├── Compute
├── Storage
├── Databases
├── Networking
├── Identity
├── Security
├── Monitoring
├── Containers
├── DevOps
├── AI & Machine Learning
└── IoTඊට පස්සේ ඔයා කරන project එකට අවශ්ය services ඉගෙනගන්න.
උදාහරණයක් විදිහට simple web application එකකට:
App Service + Azure SQL + Blob Storage + Entra ID + Azure Monitor
වගේ services කිහිපයක්ම ප්රමාණවත් වෙන්න පුළුවන්.
Enterprise-level application එකකට නම් services ගොඩක් අවශ්ය වෙන්න පුළුවන්.
Azure තේරුම් ගන්න ලේසිම ක්රමය තමයි service එකේ නම මතක තියාගන්න එක වෙනුවට ඒකෙන් විසඳන problem එක ගැන හිතන එක.
Server එකක් ඕනද? → Azure Virtual Machines
Web application එකක් host කරන්න ඕනද? → Azure App Service
Event එකක් වෙද්දී code එකක් run කරන්න ඕනද? → Azure Functions
Containers run කරන්න ඕනද? → Container Apps / AKS
Files store කරන්න ඕනද? → Azure Storage
Relational database එකක් ඕනද? → Azure SQL
Private cloud network එකක් ඕනද? → Azure Virtual Network
Identity management ඕනද? → Microsoft Entra ID
Security සහ secrets manage කරන්න ඕනද? → Defender for Cloud / Key Vault
Application එක monitor කරන්න ඕනද? → Azure Monitor / Application Insights
ඒ විදිහට Azure ඉගෙනගත්තොත් cloud එකේ services ගොඩක් තියෙනවා කියලා බය වෙන්න අවශ්ය නැහැ. ටිකෙන් ටික ඒ services එකිනෙකට සම්බන්ධ වෙන්නේ කොහොමද කියලා තේරෙන්න පටන් ගනී.
Did you find this article helpful?
Related Articles
මොනවද මේ Linux Shell වර්ග?
Linux වල තියෙන Bash, Zsh, Fish, Dash වගේ Shells අතර වෙනස්කම්
Flutter සහ React Native
Mobile App Development එකට හොද මොකක්ද?
AI එක උත්තර දෙන එකෙන් එහාට ගිහින් වැඩ කරන හැටි
GPT-6 Astra කියන්නේ questions වලට answers දෙන AI එකකට වඩා එහා දෙයක්
