මේ තමයි Azure Architecture Article Series එකේ අන්තිම ලිපිය. අපි මේකෙන් කතා කරන්නෙ cloud service එකක අනිවාර්යයෙන්ම තිබිය යුතු attributes වෙන reliability හා security කොහොමද Azure එක්ක භාවිතා වෙන්නෙ. ඒ ගැන Microsoft Azure කොපමණ ඉලක්ක කරලා තියෙනවාද කියන දේ.
මේ ලිපිය පුරාවටම මේ සංකල්ප දෙක කතා කරන්න මම උදාහරණයක් ගන්නවා healthcare organization එකක clinical system එකක්. Health Care කියන්නෙ ලෝකයේ තිබෙන ඉතාම වැදගත්, ඒ වගේම ඉතාම වේගවත් විදියට දත්ත ඇතුලත් වෙන industry එකක්. ඒ වගේ system එකක් down වෙනවා කියන දේ, නැත්නම් slow වෙනවා කියන දේ ඒ අදාල organization එකට සෑහෙන ලොකු බලපෑමක් එල්ල කරන්න පුලුවන්. අපි දන්නවා system එකක් slow වෙන එක, down වෙන එක අපිට නවත්වන්න බැහැ. නමුත් අපිට පුලුවන් ඒකෙන් වෙන impact එක අඩුම වෙන විදියට ඒ ගැටලු විසදගන්න. මේ කතා කරන්නෙ ඒ ගැන.
අපි බලමු මොකක්ද මේ reliability කියන්නෙ කියලා. විශාල දත්ත ප්රමාණයක් හුවමාරු වෙන system එකක වෙන්න පුලුවන් දරුණුතම ගැටලු මොනවද කියලා කල්පනා කලොත්,
- Servers හා hard drives බිදවැටීම්
- database tables සියල්ල නැතිවෙන්න පුලුවන් deployment එකක් එක්ක
- datacenters unreachable වෙන්න පුලුවන්
- Ransomware attack එකක් ඇවිත් දත්ත encrypt වෙන්න පුලුවන්
High Reliability system එකක් කියන්නෙ small scale failures හා temporary network outages අදුනගෙන uptime එක පුලුවන් උපරිමයෙන් maintain කරන එක. ඒ වගේම data loss හා major disasters වලින් data recovery කරන එකත් අයිති වෙන්නෙ reliability එකටම තමයි. Automated recovery steps follow කරන එක හුගක් වෙලාවට ලොකු වාසියක් තියෙනවා downtime එක reduce කරන්න. Data loss හෝ Temporary outages වලින් disaster recovery කරන්න නම් අනිවාර්යයනේම planning & execution කියන දෙකම එකතුවෙලා ක්රියා කරන්න ඔින.
High Available Architecture එකක් නිර්මාණය කිරීමේ වැදගත්කම
මුලින්ම ඔබ කරන්න අවශ්ය වෙන්නෙ ඔබ දැනටම service-level agreement (SLA) එක හොදින් අධ්යයනය කරලා application එකේ potential high-availability capabilities අදුනගන්න අවශ්යයි. SLA එක improve කරන්න අවශ්ය දේවල් හදුනගෙන ඒවා නිර්මාණය කරන්න ඔින.
High-availability design component වල අන්තර්ගත වෙනවා ප්රධාන කොටස් දෙකක්.
- Clustering: තනි VM එකක් වෙනුවම VM set එකක් පාවිච්චි කරනවා. මේකෙන් එකක් fail වුනත් අනික් ඒවා වැඩ කරනවා
- Load balancing: මේකෙන් තමයි failed instances වෙනුවට වැඩ කරන instances වලට traffic යවන්නෙ මේ load balancing වලින්
Failures වලින් recover වෙන්න Architecture එක හදන්න පුලුවන්ද?
Potential data loss හා downtime scenarios analyze කරලා recovery strategies හා cost/benefit trade-offs නිර්මාණය කරගන්න අවශ්යයි. Key Recovery Metrics දෙකක් තියෙනවා.
- Recovery Point Objective (RPO): Accept කරන්න පුලුවන් මට්ටමේ data loss එක, කාලය පාවිච්චි කරලා මැනගන්න ක්රමය
- Recovery Time Objective (RTO): Accept කරන්න පුලුවන් මට්ටමේ down time එක මැනගැනීම
RPO හා RTO ගත්තම integrate backup, restore, replication හා recovery processes වල අවසාන ඉලක්ක ලගා කරගන්න ලොකු පහසුවක් වෙනවා. ඒ වගේම Cloud providersලා offer කරනවා built-in services ලබා දෙනවා availability හා recoverability පවත්වා ගන්න. Custom solutions නිර්මාණය කරගන්නෙ නැතුව පහසුවෙන් ඒවා භාවිත කරන්නත් පුලුවන් ඔබට.
බොහොම ස්තූතියි අපගේ ලිපි මාලාව සමග එකතු වෙලා සිටීම ගැන. තවත් ලිපි මාලාවකින් නැවත හමුවෙමු.