সবাই আজকাল "Serverless" নিয়ে অনেক কথা বলে। কিন্তু বেশিরভাগ ক্ষেত্রে দেখা যায় Server Management-এর বদলে আমরা "Cold Start" Management করছি। আমার কাছে Cloudflare Workers প্রথমবারের মতো মনে হয়েছে যে এর সুবিধাগুলো সত্যিই কাজের। Container Spin-up করার ঝক্কি নেই, সরাসরি V8 Isolate-এ Run করে। এর Speed এতটাই বেশি যে মাঝেমধ্যে ৫ মিলি-সেকেন্ডের নিচেই Output চলে আসে।

KV Storage: যা ভেবেছিলাম আর যা হলো

আমি শুরুতে ভেবেছিলাম Cloudflare-এর KV Storage হয়তো Globally Distributed Redis-এর মতো হবে। কিন্তু এটি আসলে তেমন নয়। একবার আমি প্রায় দুই ঘণ্টা ধরে Debug করেছি কেন আমার একটি Configuration Change হওয়ার পরও আগের Value দেখাচ্ছিল। পরে বুঝলাম এর "Eventual Consistency" ৬০ সেকেন্ড পর্যন্ত সময় নিতে পারে। যদি তুমি Synchronized কোনো কিছু করতে চাও, তবে KV তোমার জন্য নয়। Cloudflare Workers-এ Real-time Data Handle করা একটু Tricky।

তুমি যদি Real-time Consistency চাও, তবে Durable Objects ব্যবহার করতে হবে, তবে এর API বেশ জটিল এবং এটি Premium Service-এর অন্তর্ভুক্ত।

Edge Redirect এবং Shield Pattern

আমার জন্য সবচেয়ে বোরিং কিন্তু কার্যকরী Use Case হলো Edge Redirects। ভারি কোনো Origin Server-এ Request পাঠানোর বদলে সরাসরি Edge থেকেই 301 Send করা যায়। এটি যেমন ফাস্ট, তেমনি টাকাও সাশ্রয় করে।

এছাড়া Cloudflare Workers কে আমি API Gateway হিসেবে ব্যবহার করি। Rate Limiting বা Bad Actorদের Origin Server-এ পৌঁছানোর আগেই Block করার জন্য এটি সেরা Solution। গত মাসে আমার API যখন Bot দিয়ে Crawl করার চেষ্টা করা হয়েছিল, এই Worker তখন আমার Egress Fees অনেক বাঁচিয়ে দিয়েছিল।

Node.js Compatibility

অনেকদিন ধরে এটি একটি বড় Deal-breaker ছিল। যদি কোনো Library Buffer বা path Specific ভাবে ব্যবহার করে, তবে সেটি Run করতো না। বর্তমানে Cloudflare nodejs_compat Flag দিয়ে অনেক Improve করেছে, তবে আমার মতে এটি এখনো ১০০% Reliable নয়। Random NPM Package ব্যবহার করলে মাঝেমধ্যেই আজব সব Error পাওয়া যায় যা Debug করা বেশ Painful।

Observability: যেখানে আমার বড় অভিযোগ

Cloudflare Workers-এর Observability নিয়ে আমার বড় অভিযোগ আছে। wrangler tail Commandটি ততক্ষণই ভালো যতক্ষণ Traffic কম। High-traffic সাইটে এটি Just JSON-এর একটি Blur হয়ে থাকে। কোন Request কেন Fail করলো তা Tracking করা বেশ Challenging। আমি এখন Origin Server-এ Trace ID Pass করি যাতে কিছুটা হলেঔ বোঝা যায় কী ঘটছে।

আমার মনে হয় Cloudflare Workers একটি শক্তিশালী প্ল্যাটফর্ম হলেও এর কিছু Limitation আমাদের সবসময় মাথায় রাখা উচিত। এটি কি তোমার সব সমস্যার সমাধান? সম্ভবত না, তবে সঠিক Use Case-এ এটি জাদুর মতো কাজ করে।

Cloudflare Workers ব্যবহারের সুবিধা, Limitation, KV Storage-এর Challenge এবং API Gateway হিসেবে এর কার্যকারিতা নিয়ে বিস্তারিত জানো এই ব্লগে!