TechWire

Microservices

වර්ථමානයේ නිර්මාණය වන  බොහෝමයක් මෘදුකාංග වල ඇති විශාලත්වයත් කාර්යක්ෂම තාවය වැඩි කිරීමත් සදහා විවිධ නිර්මාණ  ශිල්පිය ක්‍රම( Architecture) මෘදුකාංග ඉංජිනේරුවන් විසින් හදුන්වා දෙනු ලබනවා. Microservice යනු එවැනි නිර්මාණ ශිල්පිය ක්‍රමයක්. Netflix, eBay, Amazon, Twitter, PayPal හා සහ අනෙකුත් තාක්ෂණික ලෝකයේ විශාල සමාගම් සියල්ලම Monolithic  සිට Microservice නිර්මාණ ශිල්ප ක්‍රමය දක්වා ක්‍රමයෙන් පරිවර්තනය වි තිබෙනවා.පළමුවෙන් Monolithic(Architecture) නිර්මාණ ශිල්ප ක්‍රමය කුමක්ද යන්න අවබෝධයක් ලබා ගමු.

Monolithic නිර්මාණ ශිල්පය යනු මෘදුකාංග වැඩසටහනක් නිර්මාණය කිරීම යොදා ගන්න සාම්ප්‍රදායික ඒකාබද්ධ ආකෘතියකි.නමින්ම කියවෙන පරිදි මෙහිදී සියල්ලම එකට කැටි කරගත් යන අදහස ලබා දෙනු ලබනවා.මෙම ක්‍රමයේ පවතින ප්‍රධාන දුර්වලතා ලෙස මෘදුකාංග යාවත්කාලීන කිරීම සදහා විශාල පරිශ්‍රමයක් දැරීමට සිදු වීමත් යම් තැනක දෝෂයක් හට ගත්තොත් සම්පුර්ණ පද්තිධයම ක්‍රියා විරහිතවිමත් හදුනාගන්නට පුළුවන්. Microservices යනු මෙම දුර්වලතා මග හරවා ගැනීමට නිර්මාණය වුවක්.

 දැන් අපි Microservices ශිල්පිය ක්‍රමය පිළිබද අදහසක් ලබා ගමු . මෙහිදි එකිනෙකට වෙනස් සේවාවන්(services ) කිහිපයක් එකතු වි නිර්මාණය වන තනි යෙදුමක් ලෙස මෘදුකාංගය නිර්මාණය කෙරේ.සෑම සේවාවක්ම තමන්ගේම ක්‍රියාවලියක් තුළ ක්‍රියාත්මක වන අතර ස්වාධීනව යෙදවිය හැකිය. මෙම සේවාවන් විවිධ ක්‍රමලේඛන භාෂාවලින්(programming language ) ලියා ඇති අතර විවිධ දත්ත ගබඩා(Database ) කිරීමේ ක්‍රම ද භාවිතා කළ හැකිය. මෙහිදී සරල ලෙසම කුඩා නමුත් එකිනෙකට වෙනස් මෘදුකාංග කිහිපයක් එකතු වීමෙන් අවසාන මෘදුකාංග වැඩසටහන නිර්මාණය කෙරේ.මෙම සේවාවන් එකම server එකක හෝ කිහිපයක ක්‍රියාත්මක කල හැකි වේ.සේවාවන් හරහා දත්ත හුවමාරු කිරීම සදහා API (Application programming interface) යොදා ගැනීම සිදු කරයි.(බොහෝ විට මේ සදහා RESTful Api භාවිතා කරනු ලැබේ).

Microservice නිර්මාණ ශිල්ප ක්‍රමය සතුව ලක්ෂණ කිහිපයක්  පවතී.ඒ අතරින් කිහිපයක් සලකා බලමු.

1) සේවාවන් රාශියක් එකතු වීමෙන් නිර්මාණය වේ.

Microservices නිර්මාණ ශිල්පය අර්ථ දැක්වීම අනුවම එය සේවා කිහිපයක එකතුවක් ලෙස දැක්විය හැකිය.මෙමගින් සේවාවන් වලට අවශ්‍ය යාවත්කාලීන කිරීම් නිදහසේ කිරීමටත් ඒවා නැවත server එකක ස්ථාපනය කිරීමේදී අනෙකුත් සේවාවන් වලට කිසිදු  බැලපෑමක් සිදු නොවේ.සැලකිලිවිමට ඇත්තේ දත්ත හුවමාරු කිරීම සදහා යොදාගන්න API කෙරෙහිය. මෙම ක්‍රමය සතුව වාසි මෙන්ම අවාසිද පවති server කිහිපයක් භාවිතා කිරීම නිසා ඒ සදහා වඩා වැඩි මුදල් ප්‍රමාණයක් වැය වන අතර API වල සංකීර්ණතාවය වැඩි වේ

2) ව්‍යාපාර කටයුතු සඳහා නිර්මාණය වුවකි .

Microservices නිර්මාණ ශිල්ප ක්‍රමය සාමාන්‍යයෙන් සංවිධානය වී ඇත්තේ ව්‍යාපාර හැකියාවන් සහ එහි ප්‍රමුඛතා වටා ය. සාම්ප්‍රදායික Monolithic ක්‍රමයේ මෙන් නොව, විවිධ සේවක කණ්ඩායම් වලට වෙන වෙනම වගකීම් මෙහිදී පැවරේ.මෙහිදී විවිධ සේවාවන්(software Developer team) සංවර්ධනයේ යෙදෙන කණ්ඩායම් සමග සන්නිවේදනය හොදින් තබා ගනිමින් තමන්ට පැවරුනු සේවාවන් සංවර්ධනය කල යුතු වේ.

3) විමධ්‍යගත(Decentralized)

 විවිධ තාක්ෂණයන් එකම වේදිකාවක  සම්බන්ධ වන බැවින් සම්පුර්ණ  පද්ධතිය මෙහෙයවීම් කටයුතු සදහා සාම්ප්‍රදායික මෙහෙයවීම් අනුකුල නොවේ. විමධ්‍යගත(Decentralized ) පාලනයක් සේම, දත්ත කළමනාකරණයට කිරීම සදහා ද  සාම්ප්‍රදායික Monolithic ක්‍රමයේ භාවිතා කරන තනි දත්ත ගබඩාවක වෙනුවට එක් එක් සේවාව සදහා වෙනස් දත්ත ගබඩාවන් භාවිතා කිරීමත් සිදු වේ.

4)දෝෂ මතුවුවත් සම්පුර්ණ  පද්තිධය බිද නොවැටීම.

5) පහසුවෙන් වැඩි දියුණු කිරීමට හැකි වීම.

Microservice නිර්මාණ ශිල්ප ක්‍රමයේ වාසී.


01)මෘදුකාංග  සංවර්ධකයින්ට(developers ) ස්වාධීනව සේවාවන් සංවර්ධනය කිරීමට සහ යෙදවීමට නිදහස ලබා දේ.
02)සේවාවන් නිර්මාණය කිරීම සදහා කුඩා කණ්ඩායම් යෙදවිය හැකි වීම.
03)විවිධ සේවාවන් සඳහා කේත විවිධ භාෂාවලින් ලිවිය හැකිය.
04) මෘදුකාංග  සංවර්ධකයින්ට (developers ) තේරුම් ගැනීමට සහ වෙනස් සිදු කිරීමට පහසුය,  එබැවින් නව කණ්ඩායම් සාමාජිකයෙකුට වුවද ඉක්මනින් කණ්ඩායමට එකතු විය හැකි වේ.
05)වෙනත් බාහිර සේවාවන් සමඟ ඒකාබද්ධ කිරීමට පහසුය.

එමෙන්ම මෙම ක්‍රමයේ ප්‍රධාන අවාසින්  ලෙස API හා Testing වල සංකීර්ණතාවය වැඩිවීමත් සේවාවන් අතර සන්නිවේදනය සිදු කිරීම සදහා වෙනම යාන්ත්‍රණයක්  ක්‍රියාත්මක කිරීමත් හදුනා ගත හැකි වේ.

About author View all posts

Sachithra Dilshan

2 CommentsLeave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.