ගතකාලයක් ගතවූ පසු, ගිට්හබ් වෙබ් හූක් (GitHub webhook) සකස් කිරීමේදී මගේම අඩවිය මිනිත්තු 30ක පමණ නවතී ගියා. මේකට හේතුව, Cloudflare Workers දෙකක් එකම විධානයකින් ප්රකාශ කිරීමේදී ඇති වූ සුළු අනතුරු සටහනක් වුණා.
GitHub වෙතින් ඉල්ලුමක් ලැබුනොත්, පළමු Worker එක ඒ ඉල්ලුම queue එකකට තැබීමේ කාර්යය කරනවා. දෙවන Worker එක queue එකෙන් පණිවිඩයක් ගෙන එය පසුබැසීමේ වැඩ (slow job) සිදු කරනවා. GitHub එකෙන් ප්රතිචාර සදහා තත්පර 10ක් පමණ ඉඩ දෙන නිසා, අපි ඉක්මනින් පිළිතුරක් දී, සැබෑ වැඩකිරීම පසුකාලීනව කරන්නේය.
Workers දෙකම වෙන්‑වෙන් deploy කරන්නේ නමුත්, මම ඒ දෙකම එකම කමාන්ඩ් එකෙන් එක්කලෙමි. Cloudflare හි build system එක “Worker නාමය config එකේ නාමය සමඟ අභ්යන්තරව පුරවා ඇත” කියා සුළු අනතුරු සටහනක් පෙන්වුවා. එය අනෙකුත් deploy output අතරින් එක පේළියක් පමණක් වුනා, ඒ නිසා මට අවධානය යොමු නොවීය.
ඇත්තේ මෙයයි: දෙවන Worker (0.39 KiB පමණ) පළමු Worker එකේ නව සංස්කරණයක් ලෙස ප්රකාශ වුණා. එම Worker queue එකෙන් කියවීමට පමණක් හැකිව තිබූ අතර HTTP ඉල්ලුම් කිසිවක් හඳුනා නොගත්තා. ඒ නිසා වෙබ් අඩවියට පැමිණෙන සෑම ඉල්ලුමක්ම exception එකක් දුන්නා, අඩවිය නවතී ගියා.
දෝෂය සොයාගැනීමට 30 මිනිත්තු ගතවුණා. ඉන් පසු deploy සැකසී, නැවත සකස් කිරීමේදී මේ වගේ අනතුරු සටහන් නොමැතිව පරික්ෂා කිරීමේ පියවර එකතු කර ගත්තා.
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙම සිදුවීම අපේ දේශීය සංවර්ධකයින්ට, ව්යාපාරිකයින්ට, සහ තාක්ෂණ උපාධි සිසුන්ට කිහිපයක් පමණ වැදගත් කරුණක් ඉදිරිපත් කරයි:
- ලොග් එකේ පෙනෙන සුළු අනතුරු සටහන්ද පවා වැදගත් බව තේරුම් ගැනීම, නිවැරදි deploy ක්රියාවලියක් සකස් කිරීම.
- Cloudflare Workers, GitHub Actions වැනි serverless සේවාවන් භාවිතා කරන විට, දෙකක් එකම කමාන්ඩ් එකෙන් deploy කිරීමේ අවදානම ගැන අවධානය.
- දෝෂ පසුබැසීමේ (incident) වාර්තා කිරීමේ සංස්කෘතියක් ගොඩනැගීම, එමෙන්ම එවැනි අවස්ථා පසුකාලීනව ඉගෙන ගැනීමට පදනමක් සපයයි.
- ශ්රී ලංකාවේ startups සහ SMEs සඳහා cloud‑native architecture ගොඩනැගීමේදී, risk visibility (අනතුරු පෙනීම) අත්යවශ්යයි.
අවසන් වශයෙන්, කුඩා අනතුරු සටහන්ද පරීක්ෂා නොකළහොත්, ඒවා ව්යාපාරික සේවාවන්ට අධික පාලනයක් නොලැබීමට හේතුවක් වේ. ඒ නිසා, ලොග් එකේ සියලුම තොරතුරු “visible” (පෙනෙන) කරගැනීම, සංවර්ධන කණ්ඩායම් සඳහා අත්යවශ්ය පියවරයක් බවට පත්වේ.
ඔබේ පළපුරුද්ද හෙළිදරව් කරමින්, ඉදිරි කාලයේ මෙවැනි ගැටලු වලින් වළක්වා ගන්න.