ඔබ මොනවා හෝ මොනවද මොනවද කියලා මොනවද කියලා මොනවද කියලා මොනවද කියලා? මොනවද කියලා? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද? මොනවද?
මයික්රොසර්විස් වලට හැරවීමට පෙර, බොහෝ සමාගම් මුලින්ම මොනෝලිත් එක බෙදා හරිනවා. එමඟින් “අපට මයික්රොසර්විස් තියෙනවා, නමුත් වැඩක් අඩුයි, දෝෂ හඳුනාගන්න බරයි” කියන තත්ත්වයක් පැනේ. සැබෑ වශයෙන්, මයික්රොසර්විස් කුඩා කේතයක් නොව, පද්ධතියේ සංකීර්ණතාවය බෙදා දෙන ක්රමයක්. ඒක සාර්ථකව කරගන්න නම්, තාක්ෂණික උපකරණ (Kubernetes, Docker) වඩාම වැදගත් වන්නේ නිවැරදි නිර්මාණ තීරණයි.
1. මයික්රොසර්විස් සමඟ ආරම්භ නොකරන්න – නව ව්යාපෘතියකට හමුවේම මයික්රොසර්විස් අවශ්ය නැත. හොඳින් සැලසුම් කළ මොඩියුලර් මොනෝලිත් එක ඉක්මනින් ගොඩනැගිය හැකි, පරීක්ෂා කිරීමට පහසු, ධාරිතාව අඩු, සහ පරිපාලනය අඩු විය හැකිය. ස්කේලබල්, වෙනස් නිකුත් කිරීම, වෙනත් කණ්ඩායම්, තාක්ෂණික අවශ්යතා වැනි හේතු තිබේ නම් පමණක් සේවා වෙන් කරන්න.
2. සෑම සේවාවක්ම තමන්ගේ දත්ත ගබඩා කරගන්න – එකම දත්ත ගබඩාව බෙදා හරින සේවා අතර අධික සම්බන්ධතා, මයිග්රේෂන් ගැටළු, සහ ස්වයංක්රීය නිකුත් කිරීමේ අඩුපාඩු ඇති වේ. සේවා අතර API හෝ සිදුවීම් මාර්ගයෙන් සන්නිවේදනය කිරීම වඩාත් සුදුසු.
3. ව්යාපාරික කලාප අනුව නිර්මාණය කරන්න – තාක්ෂණික සීමා වෙනුවට, පාරිභෝගික, ඇණවුම්, ගබඩා, බිල්පත්, රැගෙන යාම වැනි ව්යාපාරික සේවා පිහිටුවන්න. එමඟින් සීමා ස්ථාවරව පවත්වා ගත හැක.
4. API කුඩා කරගන්න – “God API” එකක් නිර්මාණය කිරීමේ පළාත වැලැක්විය යුතුයි. /orders, /orders/{id}, /payments වැනි සරල අන්තර්මුඛයන් භාවිතා කර, සංවර්ධනය සහ නවීකරණය පහසු කරගන්න.
5. අසින්ක්රෝනස් සන්නිවේදනය තෝරන්න – සින්ක්රෝනස් REST කැඳවීම් පවා අඩු කර, Kafka, RabbitMQ, AWS SQS වැනි සිදුවීම් පද්ධති භාවිතා කර, සේවා අතර ලූප් අඩු කර, සකස් කිරීමේ හැකියාව වැඩි කරන්න.
6. අසාර්ථකතාවයන්ට සූදානම් වන්න – ජාලය, සේවා, සහ අනුලක්ෂ්යයන් අඩු විය හැක. Retries, exponential backoff, circuit breaker, dead‑letter queue වැනි රණකොටස් අනුගමනය කර, පද්ධතියේ ප්රතිරෝධය වැඩි කරගන්න.
7. නිරීක්ෂණය (Observability) ප්රථමත්වය දෙන්න – Structured logs, metrics, distributed tracing (OpenTelemetry, Jaeger, Prometheus) භාවිතා කර, 2am දෝෂයක් සිදු වූ විට පළමු උදව්කරු වන්න.
8. සියල්ල ස්වයංක්රීය කරන්න – CI/CD පද්ධතියක් (GitHub Actions, GitLab CI) හරහා කේතය, පරීක්ෂා, Docker image, ස්ටේජ්, හා ප්රොඩක්ෂන් නිකුත් කිරීම සියල්ල ස්වයංක්රීය කරගන්න.
9. සේවා කුඩා වුවත් ඉතා කුඩා නොවේ – එකම endpoint එකක් පමණක් ඇති සේවාවක් අතිශය පරිපාලන බරක් බවට පත්වේ. ව්යාපාරික හැකියාවන් පූර්ණයෙන් නිරූපණය කරන සේවාවක් තෝරන්න.
10. සංස්කරණය සැලකිල්ලෙන් කරන්න – පරණ CLI හෝ API වලට අධික බාධා නොකර, නව සංස්කරණයන් සමඟ සමඟම සමානව ක්රියාත්මක වීමේ පාරිභෝගික අත්දැකීම රැකගන්න.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික ආරම්භකයන්, ගවේෂකයන්, සහ ව්යාපාරිකයින්ට මෙම උපදෙස් වඩාත් ප්රයෝජනවත් වේ. මොඩියුලර් මොනෝලිත් එකෙන් ආරම්භ කිරීම, සම්පත් සුරක්ෂිත කර, ව්යාපාරික අවශ්යතා මත සේවා වෙන් කිරීම, දේශීය සමාගම්ට පරිසරය හොඳින් කළමනාකරණය කළ හැකිය. API, async events, observability, CI/CD වැනි නවීන ක්රමවේදයන් ඉගෙන ගැනීම, ශ්රී ලංකාවේ දක්ෂතා මට්ටම ඉහල ගෙන යාමට, රැකියා අවස්ථා වැඩි කිරීම, සහ ගෝලීය සපයන්නන් සමඟ තරඟ කිරීමේ හැකියාවන් වැඩි කරයි.
මෙම 10 පාඩම් අනුගමනය කිරීමෙන්, ඔබේ මයික්රොසර්විස් පද්ධතිය අඩු පිරිවැයෙන්, ඉහල විශ්වාසභංගයකින්, සහ වේගවත් නිකුත් කිරීමෙන් පිරිනැමීමට හැකි වේ.