ඉන්ටර්නෙට් අන්තර්ගත කළමනාකරණය සඳහා නව තරංගයක් එළියට පැනෙන්නා. SonicJS, Cloudflare Workers, D1 (SQLite) සහ R2 (object storage) එක්ක එකතු කරලා, ලොව පුරා ඉතා අඩු විලාසිතාවකින් CMS එකක් නිර්මාණය කරගන්න හැකියාව දැන් ලැබෙනවා.
සාමාන්ය Headless CMS එකක් තවමත් 2018 වර්ෂයේ පරිදි Node සර්වර්, එක් ප්රදේශයක Postgres, S3 වැනි ගබඩා භාවිතා කරයි. ඒක වැඩ කරන්නේ හොඳයි, නමුත් පරිශීලකයා ඕනෑම කොනෙකද වෙතත් ඉල්ලීමක් කරන විට ප්රදේශ අතර විලාසිතාව, කෝල්ඩ්-ස්ටාට්ට් ප්රතිචාරය, හා සංකීර්ණ මෙහෙයුම් පින්තූරයක් එනවා.
Edge‑Native CMS එකක් ගොඩනැගීමෙන් මේ සියලු ගැටළු ඉවත් වේ. Cloudflare Workers පරිශීලකයාගේ නිකටම (edge) දත්ත සැකසී, D1 හි SQLite දත්ත ගබඩා කරයි, R2 හි මාධ්ය ගොනු සුරක්ෂිත කරයි. ඒ නිසා ලෝකේ ඕනෑම කොනෙකද ඉල්ලීමක් කරනවානම්, ඒ ඉල්ලීමට සම්බන්ධ Worker එකම අඩු විලාසිතාවකින් ප්රතිචාර දෙයි, දත්ත හා මාධ්යයත් ඒකම තැනින් ලැබේ.
මෙම පද්ධතියේ සැලසුම සරලයි: Cloudflare Worker (SonicJS + Hono + admin UI) ←→ D1 (SQLite) සහ R2 (media). Wrangler වින්යාස ගොනුව (wrangler.toml) තුළ DB හා MEDIA_BUCKET බයින්ඩින්ස් සඳහන් කරයි; එවිට සර්වර්‑පාර්ශ්වයේ ORM URL හෝ S3 access key අවශ්ය නොවේ. ඉතින් සෙට්‑අප් එකක් src/index.ts හි collections ලියා, config එකක් දී, export default createSonicJSApp(config) ලෙස එය නිර්යාත කරයි.
Schema‑as‑code මඟින් TypeScript collections නිර්මාණය කරන්නේ, UI එකේ ක්ලික්‑කරමින් විය නොහැකි. උදාහරණයක් ලෙස, බ්ලොග් පෝස්ට් එකේ title, slug, excerpt, lexical content, featured image, gallery, author, publish date වැනි ක්ෂේත්ර නිර්මාණය කර, public read API එකක් සහිතව cache TTL එකක් දක්වන්න පුළුවන්.
ශ්රී ලංකාවට ඇති වැදගත්කම
- සිසුන්ට – Edge‑Computing, Serverless, TypeScript‑based CMS වැනි නව තාක්ෂණික හැකියාවන් ඉගෙන ගන්න ප්රායෝගික පදනමක්.
- ඩිවෙලපර්ලාට – Wrangler මඟින් එක් කමාන්ඩ් එකෙන් Deploy, CI/CD, හා Database Migration කළ හැකි නිසා මෙහෙයුම් පිරිවැය අඩු වේ.
- ව්යාපාරිකයින්ට – ලොකාලේ ඕනෑම පරිශීලකයාට අඩු latency, zero cold‑start, egress fee‑නොමැති මාධ්ය ගබඩා (R2) වැනි වාසි ලැබේ, ඒත් ඉන්වෙස්ට්මෙන්ට් එක අඩු.
ඉදිරියේදී Part 2 සහ Part 3 හි Deploy + CI/CD, Auth & Admin ගැටළු පිළිබඳව විස්තර කරනු ඇත. Edge‑Native Headless CMS එක, ශ්රී ලංකාවේ තාක්ෂණික වර්ධනයට නව මාර්ගයක් ගෙන එයි.