සේවාදායක රහිත යෙදුම් ගොඩනැගීම සඳහා ඉඟි සහ සම්පත්

සේවාදායක රහිත යෙදුම් ගොඩනැගීම සඳහා ඉඟි සහ සම්පත්
සේවාදායක රහිත තාක්ෂණයන් මෑත වසරවලදී ශීඝ්‍රයෙන් ජනප්‍රිය වී ඇතත්, ඒවා සමඟ සම්බන්ධ බොහෝ වැරදි වැටහීම් සහ බිය තවමත් පවතී. සේවාදායක රහිත තාක්ෂණයන් සම්බන්ධයෙන් විකුණුම්කරු යැපීම, මෙවලම්, පිරිවැය කළමනාකරණය, සීතල ආරම්භය, අධීක්ෂණය සහ සංවර්ධන ජීවන චක්‍රය යන සියල්ලම උණුසුම් මාතෘකා වේ. මෙම ලිපියෙන්, අපි සඳහන් කර ඇති මාතෘකා කිහිපයක් ගවේෂණය කරන්නෙමු, එමෙන්ම ආරම්භකයින්ට බලගතු, නම්‍යශීලී සහ පිරිවැය-ඵලදායී සේවාදායක රහිත යෙදුම් නිර්මාණය කිරීමට උපකාර වන තොරතුරු ප්‍රයෝජනවත් මූලාශ්‍ර වෙත ඉඟි සහ සබැඳි බෙදා ගන්නෙමු.

Serverless Technologies ගැන වැරදි වැටහීම්

බොහෝ අය සිතන්නේ serverless සහ serverless processing (සේවාවක් ලෙස ක්‍රියා කරයි, FaaS) බොහෝ දුරට එකම දෙයකි. මෙයින් අදහස් කරන්නේ වෙනස එතරම් විශාල නොවන අතර එය නවකතාවක් හඳුන්වා දීම වටී. AWS Lambda සර්වර් රහිත උච්චතම යුගයේ තරු වලින් එකක් සහ සේවාදායක රහිත ගෘහ නිර්මාණ ශිල්පයේ වඩාත්ම ජනප්‍රිය අංගයක් වුවද, කෙසේ වෙතත්, මෙම ගෘහ නිර්මාණ ශිල්පය FaaS ට වඩා බොහෝ වැඩි ය.

සේවාදායක රහිත තාක්ෂණයන් පිටුපස ඇති මූලික මූලධර්මය නම්, ඔබ ඔබේ යටිතල පහසුකම් කළමනාකරණය කිරීම සහ පරිමාණය කිරීම ගැන කරදර විය යුතු නැත, ඔබ ගෙවන්නේ ඔබ භාවිතා කරන දේ සඳහා පමණි. බොහෝ සේවාවන් මෙම නිර්ණායක වලට ගැලපේ - AWS DynamoDB, S3, SNS හෝ SQS, Graphcool, Auth0, Now, Netlify, Firebase සහ තවත් බොහෝ දේ. සාමාන්‍යයෙන්, serverless යන්නෙන් අදහස් කරන්නේ යටිතල පහසුකම් කළමනාකරණය කිරීම සහ පරිමාණය සඳහා එය ප්‍රශස්ත කිරීම අවශ්‍ය නොවී Cloud computing හි සම්පූර්ණ බලය භාවිතා කිරීමයි. එහි අර්ථය වන්නේ යටිතල පහසුකම් මට්ටමේ ආරක්ෂාව තවදුරටත් ඔබේ අවධානයට ලක් නොවන බවයි, එය ආරක්ෂක ප්‍රමිතීන් සපුරාලීමේ දුෂ්කරතා සහ සංකීර්ණත්වය අනුව විශාල ප්‍රතිලාභයක් වේ. අවසාන වශයෙන්, ඔබට ලබා දී ඇති යටිතල පහසුකම් මිලදී ගැනීමට ඔබට අවශ්ය නැත.

Serverless "මානසික තත්වයක්" ලෙස සැලකිය හැකිය: විසඳුම් සැලසුම් කිරීමේදී යම් මානසිකත්වයක්. යටිතල පහසුකම් නඩත්තු කිරීමට අවශ්‍ය ප්‍රවේශයන්ගෙන් වළකින්න. සේවාදායක රහිත ප්‍රවේශයක් සමඟ, අපි ව්‍යාපෘතියට සෘජුවම බලපාන සහ අපගේ පරිශීලකයින්ට ප්‍රතිලාභ ගෙන දෙන කාර්යයන් විසඳීමට කාලය ගත කරන්නෙමු: අපි තිරසාර ව්‍යාපාරික තර්කනයක් නිර්මාණය කරන්නෙමු, පරිශීලක අතුරුමුහුණත් සංවර්ධනය කරන්නෙමු, සහ අනුවර්තන සහ විශ්වාසදායක API සංවර්ධනය කරන්නෙමු.

උදාහරණයක් ලෙස, නොමිලේ පෙළ සෙවුම් වේදිකාවක් කළමනාකරණය කිරීම සහ නඩත්තු කිරීම වළක්වා ගත හැකි නම්, අපි එය කරන්නෙමු. සංකීර්ණ යටිතල පහසුකම් කළමනාකරණය කිරීම ගැන තවදුරටත් සිතීමට අවශ්‍ය නොවන බැවින් යෙදුම් ගොඩ නැගීමේ මෙම ප්‍රවේශය වෙළඳපල සඳහා කාලය බෙහෙවින් වේගවත් කළ හැකිය. යටිතල පහසුකම් කළමනාකරණයේ වගකීම් සහ පිරිවැය ඉවත් කර ඔබේ ගනුදෙනුකරුවන්ට අවශ්‍ය යෙදුම් සහ සේවාවන් ගොඩනැගීම කෙරෙහි අවධානය යොමු කරන්න. පැට්රික් ඩෙබොයිස් මෙම ප්රවේශය ලෙස හැඳින්වේ 'සේවාවත්', මෙම පදය සර්වර් රහිත ප්‍රජාව තුළ භාවිතා වේ. කාර්යයන් යෙදවිය හැකි මොඩියුල ලෙස (සම්පූර්ණ පුස්තකාලයක් හෝ වෙබ් යෙදුමක් යෙදවීම වෙනුවට) සේවා වෙත සබැඳියක් ලෙස සැලකිය යුතුය. මෙය යෙදවීම සහ යෙදුමේ වෙනස්කම් කළමනාකරණය කිරීම සඳහා ඇදහිය නොහැකි කැටිති සපයයි. ඔබට මේ ආකාරයෙන් ශ්‍රිත යෙදිය නොහැකි නම්, එම ශ්‍රිත බොහෝ කාර්යයන් ඉටු කරන බවත් නැවත සකස් කළ යුතු බවත් එයින් ඇඟවිය හැක.

වලාකුළු යෙදුම් සංවර්ධනය කිරීමේදී වෙළෙන්දා මත යැපීම නිසා සමහරු ව්‍යාකූල වෙති. සේවාදායක රහිත තාක්ෂණයන් සම්බන්ධයෙන් ද මෙය සත්‍ය වන අතර මෙය කිසිසේත්ම වැරදි අදහසක් නොවේ. අපගේ අත්දැකීම් අනුව, AWS මත සේවාදායක රහිත යෙදුම් ගොඩනැගීම, AWS Lambda හි අනෙකුත් AWS සේවාවන් එකට එකතු කිරීමේ හැකියාව සමඟ ඒකාබද්ධව, සේවාදායක රහිත ගෘහ නිර්මාණ ශිල්පයේ ශක්තියේ කොටසකි. සංයෝජනයේ ප්‍රතිඵලය පදවල එකතුවට වඩා වැඩි වූ විට මෙය සහජීවනය පිළිබඳ හොඳ උදාහරණයකි. වෙළෙන්දා යැපීම වළක්වා ගැනීමට උත්සාහ කිරීම තවත් ගැටළු වලට මුහුණ දිය හැකිය. බහාලුම් සමඟ වැඩ කරන විට, වලාකුළු සපයන්නන් අතර ඔබේම වියුක්ත ස්ථරය කළමනාකරණය කිරීම පහසුය. නමුත් සේවාදායක රහිත විසඳුම් සම්බන්ධයෙන් ගත් කල, විශේෂයෙන් ආරම්භයේ සිටම පිරිවැය-ඵලදායීතාවය සැලකිල්ලට ගන්නේ නම්, උත්සාහය සාර්ථක නොවනු ඇත. වෙළෙන්දන් සේවා සපයන ආකාරය සොයා ගැනීමට වග බලා ගන්න. සමහර විශේෂිත සේවාවන් වෙනත් වෙළෙන්දන් සමඟ ඒකාබද්ධ කිරීමේ ස්ථාන මත රඳා පවතින අතර පෙට්ටියෙන් පිටත ප්ලග්-ඇන්ඩ්-ප්ලේ සම්බන්ධතාව සැපයිය හැක. යම් බහාලුම් හෝ EC2 නිදසුනකට ඉල්ලීම ප්‍රොක්සි කිරීමට වඩා gateway API අන්ත ලක්ෂ්‍යයකින් Lambda ඇමතුමක් සැපයීම පහසුය. Graphcool Auth0 සමඟ පහසු වින්‍යාසයක් සපයයි, එය තෙවන පාර්ශවීය සත්‍යාපන මෙවලම් භාවිතා කිරීමට වඩා පහසුය.

ඔබගේ සේවාදායක රහිත යෙදුම සඳහා නිවැරදි වෙළෙන්දා තෝරා ගැනීම වාස්තු විද්‍යාත්මක තීරණයකි. ඔබ යෙදුමක් නිර්මාණය කරන විට, ඔබ එක් දිනක් සේවාදායක කළමනාකරණය වෙත ආපසු යාමට බලාපොරොත්තු නොවේ. වලාකුළු වෙළෙන්දෙකු තෝරා ගැනීම බහාලුම් හෝ දත්ත සමුදායක් හෝ ක්‍රමලේඛන භාෂාවක් භාවිතා කිරීමට තේරීමට වඩා වෙනස් නොවේ.

සලකා බලන්න:

  • ඔබට අවශ්‍ය සේවාවන් මොනවාද සහ ඇයි.
  • වලාකුළු සපයන්නන් සපයන සේවාවන් මොනවාද සහ ඒවා ඔබ තෝරාගත් FaaS විසඳුම සමඟ ඒකාබද්ධ කරන්නේ කෙසේද.
  • කුමන ක්‍රමලේඛන භාෂා සඳහා සහය දක්වයි (ගතික හෝ ස්ථිතික ටයිප් කිරීම, සම්පාදනය කර හෝ අර්ථකථනය කර ඇත, මිණුම් සලකුණු මොනවාද, සීතල ආරම්භයේ කාර්ය සාධනය කුමක්ද, විවෘත මූලාශ්‍ර පරිසර පද්ධතිය කුමක්ද, ආදිය).
  • ඔබගේ ආරක්ෂක අවශ්‍යතා මොනවාද (SLA, 2FA, OAuth, HTTPS, SSL, ආදිය).
  • ඔබේ CI/CD සහ මෘදුකාංග සංවර්ධන චක්‍ර කළමනාකරණය කරන්නේ කෙසේද.
  • ඔබට ප්‍රයෝජන ගත හැකි යටිතල පහසුකම්-කේත විසඳුම්.

ඔබ දැනට පවතින යෙදුමක් දීර්ඝ කර සේවාදායක රහිත ක්‍රියාකාරීත්වය වැඩි කළහොත්, මෙය පවතින හැකියාවන් තරමක් සීමා කළ හැක. කෙසේ වෙතත්, සියලුම සේවාදායක රහිත තාක්‍ෂණයන් යම් ආකාරයක API (REST හෝ පණිවිඩ පෝලිම් හරහා) සපයන අතර එමඟින් යෙදුම් හරයෙන් ස්වාධීනව සහ පහසු ඒකාබද්ධතාවයකින් දිගු නිර්මාණය කිරීමට ඔබට ඉඩ සලසයි. පැහැදිලි API, හොඳ ලියකියවිලි සහ ශක්තිමත් ප්‍රජාවක් සහිත සේවාවන් සොයන්න, එවිට ඔබට වරදින්නේ නැත. ඒකාබද්ධ කිරීමේ පහසුව බොහෝ විට ප්‍රධාන මෙට්‍රික් එකක් විය හැකි අතර, 2015 දී Lambda නිකුත් කළ දා සිට AWS මෙතරම් සාර්ථක වීමට ප්‍රධාන හේතුවක් විය හැකිය.

Serverless හොඳ වූ විට

සර්වර් රහිත තාක්ෂණය සෑම තැනකම පාහේ යෙදිය හැක. කෙසේ වෙතත්, ඔවුන්ගේ වාසි එක් යෙදුමකට පමණක් සීමා නොවේ. අද ක්ලවුඩ් කම්පියුටින් සඳහා ප්‍රවේශ වීමට ඇති බාධකය සර්වර් රහිත තාක්‍ෂණයන්ට ස්තුතිවන්ත විය හැකිය. සංවර්ධකයින්ට අදහසක් තිබේ නම්, නමුත් ඔවුන් වලාකුළු යටිතල පහසුකම් කළමනාකරණය කරන්නේ කෙසේද සහ පිරිවැය ප්‍රශස්ත කරන්නේ කෙසේදැයි නොදන්නේ නම්, එය කිරීමට ඔවුන්ට යම් ආකාරයක ඉංජිනේරුවෙකු සෙවීමට අවශ්‍ය නොවේ. ආරම්භකයකුට වේදිකාවක් තැනීමට අවශ්‍ය නමුත් පිරිවැය පාලනයෙන් මිදෙනු ඇතැයි යන බිය නම්, ඔවුන්ට පහසුවෙන් සේවාදායක රහිත විසඳුම් වෙත හැරවිය හැකිය.

පිරිවැය ඉතිරිකිරීම් සහ පරිමාණයේ පහසුව හේතුවෙන්, මිලියන ගණනක ප්‍රේක්ෂක සංඛ්‍යාවක් සිටින වෙබ් යෙදුමක් දක්වා අභ්‍යන්තර සහ බාහිර පද්ධති දෙකටම සේවාදායක රහිත විසඳුම් එකසේ අදාළ වේ. ගිණුම් මනිනු ලබන්නේ යුරෝ වලින් නොව ශත වලින්. AWS EC2 (t1.micro) හි සරලම අවස්ථාව මාසයකට කුලියට ගැනීම සඳහා €15ක් වැය වේ, ඔබ එය සමඟ කිසිවක් නොකළත් (කවුද එය ක්‍රියා විරහිත කිරීමට අමතක නොකළේ?!). සංසන්දනය කිරීමේදී, එම කාල සීමාව තුළ මෙම වියදම් මට්ටමට ළඟා වීමට, ඔබට තත්පර 512ක් සඳහා 1 MB Lambda මිලියන 3 වාරයක් ධාවනය කිරීමට අවශ්‍ය වනු ඇත. ඔබ මෙම විශේෂාංගය භාවිතා නොකරන්නේ නම්, ඔබ කිසිවක් ගෙවන්නේ නැත.

Serverless ප්‍රධාන වශයෙන් සිදුවීම් මත ධාවනය වන බැවින්, පැරණි පද්ධති වෙත සේවාදායක රහිත යටිතල පහසුකම් එක් කිරීම තරමක් පහසු ය. උදාහරණයක් ලෙස, AWS S3, Lambda සහ Kinesis භාවිතා කරමින්, ඔබට API හරහා දත්ත ලබා ගත හැකි පැරණි සිල්ලර පද්ධතියක් සඳහා විශ්ලේෂණ සේවාවක් නිර්මාණය කළ හැකිය.

බොහෝ සේවාදායක රහිත වේදිකා බහු භාෂා සඳහා සහය දක්වයි. බොහෝ විට එය Python, JavaScript, C#, Java සහ Go වේ. සාමාන්‍යයෙන් සියලුම භාෂාවලින් පුස්තකාල භාවිතයට සීමාවන් නොමැත, එබැවින් ඔබට ඔබේ ප්‍රියතම විවෘත මූලාශ්‍ර පුස්තකාල භාවිතා කළ හැක. කෙසේ වෙතත්, ඔබගේ කාර්යයන් ප්‍රශස්ත ලෙස ක්‍රියාත්මක වන පරිදි සහ ඔබගේ සේවාදායක රහිත යෙදුම්වල විශාල පරිමාණයේ ප්‍රතිලාභ ප්‍රතික්ෂේප නොකිරීමට යැපුම් අපයෝජනය නොකිරීමට උපදෙස් දෙනු ලැබේ. කන්ටේනරය තුළට පැටවිය යුතු පැකේජ වැඩි වන තරමට, සීතල ආරම්භය වැඩි කාලයක් ගතවනු ඇත.

සීතල ආරම්භයක් යනු ඔබට ඒවා භාවිතා කිරීමට පෙර කන්ටේනරය, ධාවන කාලය සහ දෝෂ හසුරුවන්න ආරම්භ කිරීමට අවශ්‍ය වූ විටය. මේ නිසා, කාර්යයන් ක්රියාත්මක කිරීමේ ප්රමාදය තත්පර 3 ක් දක්වා විය හැකි අතර, නොඉවසිලිමත් පරිශීලකයින් සඳහා මෙය හොඳම විකල්පය නොවේ. කෙසේ වෙතත්, නිෂ්ක්‍රීය ක්‍රියාකාරිත්වයෙන් මිනිත්තු කිහිපයකට පසු පළමු ඇමතුමේදී සීතල ආරම්භ වේ. බොහෝ දෙනෙක් මෙය සුළු කරදරයක් ලෙස සලකයි, එය ක්‍රියාකාරීත්වය අක්‍රියව තබා ගැනීම සඳහා නිතිපතා පිං කිරීම මඟින් ක්‍රියා කළ හැකිය. නැතහොත් ඔවුන් මෙම අංගය සම්පූර්ණයෙන්ම නොසලකා හරිති.

AWS නිකුත් කළද serverless SQL දත්ත සමුදාය Serverless Auroraකෙසේ වෙතත්, SQL දත්ත සමුදායන් මෙම යෙදුම සඳහා සුදුසු නොවේ, මන්ද ඒවා ගනුදෙනු සිදු කිරීම සඳහා සම්බන්ධතා මත රඳා පවතී, එය AWS Lambda හි අධික තදබදයක් සමඟ ඉක්මනින් බාධාවක් විය හැකිය. ඔව්, සංවර්ධකයින් විසින් Serverless Aurora නිරන්තරයෙන් වැඩිදියුණු කරන අතර, ඔබ එය අත්හදා බැලිය යුතුය, නමුත් අද NoSQL විසඳුම් ඩිනොබැඩ්. කෙසේ වෙතත් මේ තත්ත්වය ඉතා ඉක්මනින් වෙනස් වන බවට සැකයක් නැත.

මෙවලම් කට්ටලය විශේෂයෙන් දේශීය පරීක්ෂණ ක්ෂේත්‍රයේ බොහෝ සීමාවන් පනවයි. Docker-Lambda, DynamoDB Local සහ LocalStack වැනි විසඳුම් තිබුණද, ඒවාට වෙහෙස මහන්සි වී වැඩ කිරීම සහ සැලකිය යුතු වින්‍යාස ප්‍රමාණයක් අවශ්‍ය වේ. කෙසේ වෙතත්, මෙම සියලු ව්‍යාපෘති ක්‍රියාකාරීව සංවර්ධනය කර ඇත, එබැවින් මෙවලම් කට්ටලය අපට අවශ්‍ය මට්ටමට ළඟා වීමට කාලය පිළිබඳ ප්‍රශ්නයක් පමණි.

සංවර්ධන චක්‍රය මත සේවාදායක රහිත තාක්ෂණයේ බලපෑම

ඔබගේ යටිතල ව්‍යුහය හුදෙක් වින්‍යාස කිරීමක් වන නිසා, ඔබට shell scripts වැනි ස්ක්‍රිප්ට් භාවිතයෙන් කේතය අර්ථ දැක්වීමට සහ යෙදවීමට හැකිය. නැතහොත් ඔබට වින්‍යාස-කේත පන්ති විසඳුම් වැනි වින්‍යාසයන් වෙත යොමු විය හැක AWS වලාකුළු සෑදීම. මෙම සේවාව සියලුම ප්‍රදේශ සඳහා වින්‍යාසය ලබා නොදුනද, එය ඔබට Lambda ශ්‍රිත ලෙස භාවිතා කිරීමට නිශ්චිත සම්පත් නිර්වචනය කිරීමට ඉඩ සලසයි. එනම්, CloudFormation ඔබට අසමත් වූ විට, ඔබට මෙම පරතරය වසා දමන ඔබේම සම්පත (Lambda ශ්‍රිතය) ලිවිය හැකිය. මේ ආකාරයෙන් ඔබට ඕනෑම දෙයක් කළ හැකිය, ඔබේ AWS පරිසරයෙන් පිටත පරායත්තතා වින්‍යාස කිරීම පවා.

ඒ සියල්ල වින්‍යාස කිරීම පමණක් බැවින්, ඔබට විශේෂිත පරිසරයන්, කලාප සහ පරිශීලකයින් සඳහා ඔබේ යෙදවුම් ස්ක්‍රිප්ට් අභිරුචිකරණය කළ හැකිය, විශේෂයෙන් ඔබ CloudFormation වැනි යටිතල පහසුකම්-කේත විසඳුම් භාවිතා කරන්නේ නම්. උදාහරණයක් ලෙස, ඔබට එක් එක් ශාඛාව සඳහා යටිතල ව්‍යුහයේ පිටපතක් ගබඩාවේ යෙදවිය හැකි අතර එමඟින් ඔබට ඒවා සංවර්ධනය කිරීමේදී සම්පූර්ණයෙන්ම හුදකලාව පරීක්ෂා කළ හැකිය. සංවර්ධකයින්ට ඔවුන්ගේ කේතය සජීවී පරිසරයක් තුළ ප්‍රමාණවත් ලෙස ක්‍රියා කරන්නේද යන්න තේරුම් ගැනීමට අවශ්‍ය වූ විට මෙය දැඩි ලෙස ප්‍රතිපෝෂණ වේගවත් කරයි. කළමනාකරුවන් සැබෑ භාවිතය සඳහා පමණක් ගෙවන බැවින්, බහු පරිසරයන් යෙදවීමේ පිරිවැය ගැන කරදර විය යුතු නැත.

DevOps හට අවශ්‍ය වන්නේ සංවර්ධකයින්ට නිවැරදි වින්‍යාසය ඇති බව සහතික කර ගැනීමට පමණක් බැවින් ඔවුන්ට අඩු කරදර ඇත. ඔබට තවදුරටත් අවස්ථා, සමතුලිතයන් හෝ ආරක්ෂක කණ්ඩායම් කළමනාකරණය කිරීමට අවශ්‍ය නොවේ. එබැවින්, IAM වින්‍යාසය සහ වලාකුළු සම්පත් ප්‍රශස්තිකරණය සම්බන්ධයෙන් යටිතල පහසුකම් වින්‍යාස කිරීමට හැකි වීම තවමත් වැදගත් වුවද, NoOps යන යෙදුම වැඩි වැඩියෙන් භාවිතා වේ.

Epsagon, Thundra, Dashbird සහ IOPipe වැනි ඉතා බලවත් අධීක්ෂණ සහ දෘශ්‍යකරණ මෙවලම් ඇත. ඔබගේ සේවාදායක රහිත යෙදුම්වල වත්මන් තත්ත්වය නිරීක්ෂණය කිරීමට, ලොග් කිරීම සහ ලුහුබැඳීම සැපයීම, කාර්ය සාධන ප්‍රමිතික සහ ගෘහ නිර්මාණ බාධක ග්‍රහණය කර ගැනීම, පිරිවැය විශ්ලේෂණය සහ පුරෝකථනය කිරීම සහ තවත් බොහෝ දේ කිරීමට ඒවා ඔබට ඉඩ සලසයි. ඔවුන් DevOps ඉංජිනේරුවන්ට, සංවර්ධකයින්ට සහ ගෘහ නිර්මාණ ශිල්පීන්ට යෙදුම් කාර්ය සාධනය පිළිබඳ සවිස්තරාත්මක දර්ශනයක් ලබා දෙනවා පමණක් නොව, කළමනාකරුවන්ට තත්පරයකට සම්පත් පිරිවැය සහ පිරිවැය පුරෝකථනය සමඟ තත්‍ය කාලීනව තත්වය නිරීක්ෂණය කිරීමට ඉඩ සලසයි. කළමනාකරණය කළ යටිතල පහසුකම් සමඟ මෙය සංවිධානය කිරීම වඩා දුෂ්කර ය.

ඔබට වෙබ් සේවාදායකයන් යෙදවීමට, අතථ්‍ය යන්ත්‍ර හෝ බහාලුම්, පැච් සර්වර්, මෙහෙයුම් පද්ධති, අන්තර්ජාල ද්වාර ආදිය කළමනාකරණය කිරීමට අවශ්‍ය නොවන නිසා සේවාදායක රහිත යෙදුම් සැලසුම් කිරීම වඩාත් පහසු වේ. මෙම සියලු වගකීම් ඉවත් කිරීමෙන්, සර්වර් රහිත ගෘහ නිර්මාණ ශිල්පයට හරය කෙරෙහි අවධානය යොමු කළ හැකිය - විසඳුම ව්‍යාපාර සහ පාරිභෝගික අවශ්‍යතා.

මෙවලම් කට්ටලය වඩා හොඳ විය හැකි අතර (එය සෑම දිනකම වඩා හොඳ වේ), සංවර්ධකයින්ට ව්‍යාපාර තර්කනය ක්‍රියාත්මක කිරීම සහ ගෘහ නිර්මාණ ශිල්පය තුළ විවිධ සේවාවන් හරහා යෙදුමේ සංකීර්ණත්වය හොඳම ලෙස බෙදා හැරීම කෙරෙහි අවධානය යොමු කළ හැකිය. සේවාදායක රහිත යෙදුම් කළමනාකරණය යනු ක්ලවුඩ් සපයන්නා විසින් සිදුවීම් පදනම් කර ගෙන වියුක්ත කර ඇත (උදා: SQS, S3 සිදුවීම් හෝ DynamoDB ප්‍රවාහ). එබැවින්, සංවර්ධකයන්ට අවශ්‍ය වන්නේ ඇතැම් සිදුවීම් වලට ප්‍රතිචාර දැක්වීමට ව්‍යාපාර තර්කනය ලිවීමට පමණක් වන අතර, දත්ත සමුදායන් සහ පණිවිඩ පෝලිම් ක්‍රියාත්මක කරන්නේ කෙසේද යන්න ගැන හෝ නිශ්චිත දෘඪාංග ගබඩාවල දත්ත සමඟ ප්‍රශස්ත වැඩ සංවිධානය කරන්නේ කෙසේද යන්න ගැන කරදර විය යුතු නැත.

ඕනෑම සංවර්ධන ක්‍රියාවලියක් මෙන්, කේතය දේශීයව ධාවනය කර දෝෂහරණය කළ හැක. ඒකක පරීක්ෂාව එලෙසම පවතී. අභිරුචි අට්ටි වින්‍යාසයක් සමඟ සම්පූර්ණ යෙදුම් යටිතල ව්‍යුහයක් යෙදවීමේ හැකියාව සංවර්ධකයින්ට පරීක්ෂණ පිරිවැය හෝ මිල අධික කළමනාකරණය කළ පරිසරයන් කෙරෙහි ඇති බලපෑම ගැන නොසිතා ඉක්මනින් වැදගත් ප්‍රතිපෝෂණ ලබා ගැනීමට ඉඩ සලසයි.

සේවාදායක රහිත යෙදුම් ගොඩනැගීම සඳහා මෙවලම් සහ ශිල්පීය ක්‍රම

සේවාදායක රහිත යෙදුම් තැනීමට නිශ්චිත ක්‍රමයක් නොමැත. මෙම කාර්යය සඳහා සේවා කට්ටලයක් මෙන්ම. AWS අද බලවත් සේවාදායක රහිත විසඳුම් අතර ප්‍රමුඛයා වේ, නමුත් බලන්න Google වලාකුළු, කාලය и ෆයර්බෙස්. ඔබ AWS භාවිතා කරන්නේ නම්, යෙදුම් එකතු කිරීම සඳහා නිර්දේශිත ප්‍රවේශය වේ සේවාදායක රහිත යෙදුම් ආකෘතිය (SAM), විශේෂයෙන්ම C# භාවිතා කරන විට, Visual Studio සතුව විශිෂ්ට මෙවලම් ඇති බැවිනි. SAM CLI හට විෂුවල් ස්ටුඩියෝවට කළ හැකි සෑම දෙයක්ම කළ හැක, එබැවින් ඔබ වෙනත් IDE හෝ පෙළ සංස්කාරකයකට මාරු වුවහොත් ඔබට කිසිවක් අහිමි නොවනු ඇත. ඇත්ත වශයෙන්ම, SAM වෙනත් භාෂා සමඟද ක්‍රියා කරයි.

ඔබ වෙනත් භාෂාවලින් ලියන්නේ නම්, Serverless Framework යනු ඉතා බලවත් YAML වින්‍යාස ගොනු සමඟ ඕනෑම දෙයක් වින්‍යාස කිරීමට ඔබට ඉඩ සලසන විශිෂ්ට විවෘත මූලාශ්‍ර මෙවලමකි. Serverless Framework විවිධ ක්ලවුඩ් සේවාවන් සඳහාද සහය දක්වයි, එබැවින් බහු-වලාකුළු විසඳුමක් සොයන අයට අපි එය නිර්දේශ කරමු. ඕනෑම අවශ්‍යතාවයක් සඳහා ප්ලගීන සමූහයක් නිර්මාණය කර ඇති විශාල ප්‍රජාවක් එහි ඇත.

දේශීය පරීක්ෂණ සඳහා, විවෘත මූලාශ්‍ර මෙවලම් ඩොකර්-ලැම්බඩා, සර්වර්ලස් ලොකල්, ඩයිනමෝඩීබී ලොකල් සහ ලොකල්ස්ටැක් හොඳින් ගැලපේ. සේවාදායක රහිත තාක්‍ෂණයන් තවමත් සංවර්ධනයේ මුල් අවධියේ පවතී, ඒවා සඳහා වන මෙවලම් මෙන්ම, සංකීර්ණ පරීක්ෂණ අවස්ථා සඳහා සැකසීමේදී, ඔබට වෙහෙස මහන්සි වී වැඩ කිරීමට සිදුවනු ඇත. කෙසේ වෙතත්, හුදෙක් පරිසරයක තොගය යෙදවීම සහ එහි පරීක්ෂා කිරීම ඇදහිය නොහැකි තරම් ලාභදායී වේ. තවද ඔබට වලාකුළු පරිසරයන්හි නිශ්චිත දේශීය පිටපතක් සෑදීමට අවශ්‍ය නොවේ.

යොදවා ඇති පැකේජවල ප්‍රමාණය අඩු කිරීමට සහ බාගැනීම් වේගවත් කිරීමට AWS Lambda Layers භාවිතා කරන්න.

නිශ්චිත කාර්යයන් සඳහා නිවැරදි ක්‍රමලේඛන භාෂා භාවිතා කරන්න. විවිධ භාෂාවලට ඔවුන්ගේම වාසි සහ අවාසි ඇත. බොහෝ මිණුම් සලකුණු ඇත, නමුත් JavaScript, Python, සහ C# (.NET Core 2.1+) AWS Lambda කාර්ය සාධනය අනුව ප්‍රමුඛයන් වේ. AWS Lambda මෑතකදී Runtime API හඳුන්වා දුන් අතර එමඟින් ඔබට අවශ්‍ය ධාවන කාලය සහ පරිසරය නියම කිරීමට ඉඩ සලසයි, එබැවින් අත්හදා බලන්න.

යෙදවීම සඳහා පැකේජ ප්‍රමාණය කුඩාව තබා ගන්න. ඒවා කුඩා වන තරමට ඒවා වේගයෙන් පටවනු ලැබේ. විශාල පුස්තකාල භාවිතා කිරීමෙන් වළකින්න, විශේෂයෙන් ඔබ ඒවායින් විශේෂාංග කිහිපයක් භාවිතා කරන්නේ නම්. ඔබ ජාවාස්ක්‍රිප්ට් වලින් ක්‍රමලේඛනය කරන්නේ නම්, ඔබේ ගොඩනැගීම ප්‍රශස්ත කිරීමට සහ ඔබට සැබවින්ම අවශ්‍ය දේ පමණක් ඇතුළත් කිරීමට Webpack වැනි ගොඩනැගීමේ මෙවලමක් භාවිතා කරන්න. .NET Core 3.0 හි QuickJit සහ Tiered Compilation ඇති අතර එය කාර්ය සාධනය වැඩි දියුණු කරන අතර සීතල ආරම්භයේදී බොහෝ සෙයින් උපකාරී වේ.

සිදුවීම් මත සේවාදායක රහිත කාර්යයන් රඳා පැවතීම ව්‍යාපාර තර්කනය මුලදී සම්බන්ධීකරණය කිරීම අපහසු කරයි. මේ සම්බන්ධයෙන්, පණිවිඩ පෝලිම් සහ රාජ්‍ය යන්ත්‍ර ඇදහිය නොහැකි තරම් ප්‍රයෝජනවත් විය හැකිය. Lambda ශ්‍රිතවලට එකිනෙකා ඇමතීමට හැකිය, නමුත් ඔබ ප්‍රතිචාරයක් අපේක්ෂා නොකරන්නේ නම් පමණක් මෙය කරන්න ("ගින්න සහ අමතක කරන්න") - ඔබට වෙනත් කාර්යයක් සම්පූර්ණ වන තෙක් බලා සිටීම සඳහා බිල්පත් ලබා ගැනීමට අවශ්‍ය නැත. ව්‍යාපාරික තර්කයේ කොටස් හුදකලා කිරීමට, යෙදුම් බාධක කළමනාකරණයට සහ ගනුදෙනු සැකසීමට (FIFO පෝලිම් භාවිතයෙන්) පණිවිඩ පෝලිම් ප්‍රයෝජනවත් වේ. AWS Lambda ශ්‍රිත SQS පෝලිම් වලට පසු විශ්ලේෂණ සඳහා අසාර්ථක පණිවිඩ නිරීක්ෂණය කරන සිරවී ඇති පණිවිඩ පෝලිම් ලෙස පැවරිය හැක. AWS Step Functions (රාජ්‍ය යන්ත්‍ර) ශ්‍රිත දාමයක් අවශ්‍ය වන සංකීර්ණ ක්‍රියාවලීන් කළමනාකරණය කිරීම සඳහා ඉතා ප්‍රයෝජනවත් වේ. Lambda ශ්‍රිතයක් වෙනත් ශ්‍රිතයක් ඇමතීම වෙනුවට, පියවර ශ්‍රිතවලට රාජ්‍ය සංක්‍රාන්ති සම්බන්ධීකරණය කිරීමට, ශ්‍රිත අතර දත්ත යැවීමට සහ ශ්‍රිතවල ගෝලීය තත්ත්වය කළමනාකරණය කිරීමට හැකිය. මෙය ඔබට නැවත උත්සාහ කිරීමේ කොන්දේසි නිර්වචනය කිරීමට ඉඩ සලසයි, නැතහොත් යම් දෝෂයක් සිදු වූ විට කළ යුතු දේ - ඇතැම් තත්වයන් තුළ ඉතා බලවත් මෙවලමක්.

නිගමනය

මෑත වසරවලදී, සේවාදායක රහිත තාක්ෂණයන් පෙර නොවූ විරූ වේගයකින් සංවර්ධනය වෙමින් පවතී. මෙම සුසමාදර්ශය හා සම්බන්ධ ඇතැම් වැරදි වැටහීම් තිබේ. යටිතල පහසුකම් සහ පරිමාණ කළමණාකරණය වියුක්ත කිරීමෙන්, සරල කළ සංවර්ධන සහ DevOps ක්‍රියාවලිවල සිට මෙහෙයුම් වියදම් විශාල වශයෙන් අඩු කිරීම දක්වා සර්වර් රහිත විසඳුම් සැලකිය යුතු ප්‍රතිලාභ ලබා දෙයි.
සේවාදායක රහිත ප්‍රවේශය එහි අඩුපාඩු නොමැති අතර, ශක්තිමත් සේවාදායක රහිත යෙදුම් තැනීමට හෝ පවතින ගෘහ නිර්මාණ ශිල්පයට සේවාදායක රහිත මූලද්‍රව්‍ය ඒකාබද්ධ කිරීමට භාවිතා කළ හැකි ශක්තිමත් නිර්මාණ රටා තිබේ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න