ক্লাউড স্ট্যাকে এখন সাতটি স্তর, শুধু IaaS, PaaS, SaaS নয়
সব কোর্স এখনো তিনটি বাক্সই শেখায়: IaaS, PaaS, SaaS। বাজার ওই ছবিটার সঙ্গে মেলা বন্ধ করেছে মাস আঠারো আগে।
পুরনো ডায়াগ্রামটা খারাপ ছিল না। একটি প্রশ্নের উত্তর সেটি ভালোভাবেই দিত: সার্ভারের কতটুকু আমার ঝামেলা? মেশিন ভাড়া নিলে পুরোটাই আপনার। প্ল্যাটফর্মে কোড পুশ করলে বেশিরভাগটাই তাদের। বানানো সফটওয়্যার কিনে নিলে কিছুই আপনার নয়।
তারপর তিনটি ঘটনা ঘটল। স্ট্যাকের মাঝখানটা নিজের ভেতরেই গুটিয়ে গেল। ডেটাবেস হয়ে দাঁড়াল আলাদা একটি বাজার, যেখানে বিলিয়ন বিলিয়ন ডলার হাতবদল হচ্ছে। আর নতুন একটি স্তর এসে যোগ হলো। এআই এজেন্ট এখন কোড লেখে, আর সেই কোড কোথাও না কোথাও চালাতে হয়, এ কারণেই স্তরটির জন্ম।
এর বদলে আমি যে ছবিটা আঁকতাম, সেটি এরকম। স্ট্যাক একটি নয়, দুটি, আর SaaS কোনোটিতেই নেই।
খেয়াল করুন, SaaS কোনো স্ট্যাকেই নেই। ওটি বরাবরই বেমানান ছিল। SaaS হলো কেনা সফটওয়্যার। বাকিগুলো হলো জায়গা, যেখানে নিজের লেখা সফটওয়্যার চালাবেন। একই ডায়াগ্রামে দুটিকে বসিয়ে দেওয়ায় পুরো এক প্রজন্মের শিক্ষার্থী গুলিয়ে ফেলেছে।
পরিবর্তন এক: PaaS আর ফাংশন একে অন্যের মধ্যে মিশে গেছে
পুরনো নিয়মটা সহজ ছিল, আর বছরের পর বছর সত্যিও ছিল।
PaaS অ্যাপ এমন একটি প্রোগ্রাম যেটি চলতেই থাকে। বসে বসে অপেক্ষা করে। বিল দিতে হয় ঘণ্টা হিসেবে, সারাদিন, এমনকি রাত তিনটায়ও, যখন কেউ জেগে নেই। ভাবুন এমন একটি দোকান, যার আলো সারারাত জ্বলে।
ফাংশন চলতে থাকা প্রোগ্রাম নয়। রিকোয়েস্ট এলে জেগে ওঠে, কাজটা সেরে আবার ঘুমিয়ে পড়ে। বিল রিকোয়েস্ট হিসেবে। ভাবুন একটি ভেন্ডিং মেশিন।
অর্থাৎ, গরম মানে ঘণ্টার বিল, ঠান্ডা মানে রিকোয়েস্টের বিল। পরিষ্কার দুটি অপশন।
এখন দুটিই সরে গেছে, আর সরেছে উল্টো দুই দিক থেকে।
Vercel-এর Fluid compute-এ একটি ইনস্ট্যান্সই একসঙ্গে অনেকগুলো রিকোয়েস্ট সামলাতে পারে, আর CPU-র বিল ওঠে শুধু যতক্ষণ আপনার কোড সত্যিই চলছে। কোড যদি ডেটাবেস বা কোনো এআই মডেলের উত্তরের অপেক্ষায় বসে থাকে, CPU-র মিটারও থেমে থাকে। দুই রিকোয়েস্টের মাঝখানে কোনো বিলই ওঠে না। রেট প্রতি CPU-ঘণ্টায় $0.128 আর প্রতি GB-ঘণ্টা মেমোরিতে $0.0106। অর্থাৎ গরম, দীর্ঘদিন চলতে থাকা একটি প্রসেস, অথচ বিল হচ্ছে ফাংশনের মতো।
উল্টো দিক থেকে আসছে Google Cloud Run। সাধারণ একটি Docker কনটেইনার নেয়, তাকে পুরো Linux দেয়, যে ভাষা খুশি চালাতে দেয়, ৩২ GB পর্যন্ত মেমোরি আর ৬০ মিনিটের টাইমআউট দেয়, তবু সেটিকে শূন্যে নামিয়ে আনে। অর্থাৎ সত্যিকারের একটি সার্ভার, গায়ে জড়ানো ফাংশনের মতো একটি বিল।
একই তিনটি রিকোয়েস্ট, বিল তিন রকম। "এটি কি গরম?" আর "বিল কীভাবে হচ্ছে?", আগে প্রশ্ন দুটি একটিই ছিল। এখন আলাদা দুটি, আর দুটির যেকোনো জোড়া মিলিয়ে নেওয়া যায়।
পরিবর্তন দুই: "সার্ভারলেস" এখন চারটি আলাদা জিনিস বোঝায়
বেশিরভাগ আলোচনা এখানেই গোলমাল পাকিয়ে ফেলে। কেউ একজন বলল টিম সার্ভারলেসে যাচ্ছে, সবাই মাথা নাড়ল, আর তিন মাস পর দেখা গেল, তারা যেটি বেছেছে সেটি দিয়ে একটি ক্রন জবও চালানো যায় না।
- চালায়
- একবারে একটি ছোট রিকোয়েস্ট হ্যান্ডলার
- শূন্যে নামে
- হ্যাঁ, পুরোপুরি
- খটকা
- রানটাইমের সীমা প্রোভাইডারভেদে আলাদা; ওয়ার্ম ইনস্ট্যান্সে মেমরি ও অস্থায়ী ফাইল থাকতে পারে, তবে টিকে থাকার নিশ্চয়তা নেই
- চালায়
- সামঞ্জস্যপূর্ণ কনটেইনার ইমেজ। Cloud Run সার্ভিসে ৩২ GiB পর্যন্ত মেমরি ও ৬০ মিনিটের রিকোয়েস্ট টাইমআউট। Fargate-এর সীমা আলাদা, দীর্ঘ সময় চলা টাস্কও সমর্থন করে।
- শূন্যে নামে
- Cloud Run সার্ভিস স্বয়ংক্রিয়ভাবে পারে। Fargate সার্ভিসে আলাদা স্কেলিং পলিসি ও টাস্ক আবার চালু করার ব্যবস্থা লাগে।
- খটকা
- নিজে হাতে না বাড়ালে এখনো একটি রিজনেই সীমাবদ্ধ
- চালায়
- JavaScript বা WebAssembly, একসঙ্গে প্রতিটি শহরে
- শূন্যে নামে
- হ্যাঁ, আর চালু হতে এক মিলিসেকেন্ডও লাগে না
- খটকা
- পুরো Node রানটাইম নেই, আর CPU সময়ের বাজেট কড়া
- চালায়
- Postgres, কম্পিউট আর স্টোরেজ আলাদা করা
- শূন্যে নামে
- কম্পিউট নামে, স্টোরেজ কখনো নয়
- খটকা
- জাগতে সময় লাগে, আর ঘুমিয়ে থাকা অবস্থাতেও বাইটের বিল ওঠে
চারটি কিন্তু কাছের আত্মীয় নয়। ফাংশনের সীমা প্রোভাইডারভেদে আলাদা। Cloud Run-এর এক ঘণ্টার সীমা সার্ভিস রিকোয়েস্টের জন্য, সব সার্ভারলেস কনটেইনার বা ব্যাকগ্রাউন্ড জবের জন্য নয়। এজ আইসোলেট এক মিলিসেকেন্ডের কমে চালু হয়, কিন্তু সাধারণ Node কোড চালাতে পারে না। সার্ভারলেস ডেটাবেস কম্পিউটকে ঘুম পাড়িয়ে দেয়, আর ডিস্কে পড়ে থাকা বাইটের বিল পাঠাতেই থাকে।
পরেরবার কেউ সার্ভারলেস বললে জিজ্ঞেস করুন, চারটির কোনটি। শেষ পর্যন্ত সীমাগুলো নিয়েই আপনাকে ঘর করতে হবে।
পরিবর্তন তিন: টাকা চলে গেছে ডেটাবেসের দিকে
ইন্টারনেট যখন Kubernetes নিয়ে তর্ক করছিল, আসল পুঁজি তখন গেছে অন্য দিকে।
Databricks Neon-এর জন্য দিয়েছে প্রায় ১ বিলিয়ন ডলার, আর কোম্পানিটি সার্ভারলেস Postgres বিক্রি করে, বছরের আয় প্রায় ২৫ মিলিয়ন ডলার। Snowflake Crunchy Data কিনেছে খবর অনুযায়ী ২৫০ মিলিয়ন ডলারে। Supabase ২ বিলিয়ন ডলারের মূল্যায়ন থেকে চার মাসে ৫ বিলিয়নে পৌঁছেছে। আর Stack Overflow-এর ২০২৫ সালের জরিপে Postgres-এর ব্যবহার ৫৫.৬ শতাংশ, টানা দুই বছর ধরে সবচেয়ে বেশি ব্যবহৃত ডেটাবেস।
এরপর দাম পড়েছে জোরেশোরে। Neon-এর স্টোরেজ $1.75 থেকে নেমে হয়েছে প্রতি GB-মাসে $0.35, অর্থাৎ ৮০ শতাংশ কম, আর কম্পিউটের দামও কমেছে।
কারণটা ওই শেষ সংখ্যাটার মধ্যেই। Neon-এর নতুন ডেটাবেসের ৮০ শতাংশের বেশি বানিয়েছে এআই এজেন্ট, মানুষ নয়। আগের বছর এই হার ছিল ৩০ শতাংশ। প্রতিটি কাজের জন্য ব্যবহার করে ফেলে দেওয়ার মতো ডেটাবেস বানিয়ে নেয় যে এজেন্ট, আর কোয়ার্টারে একবার কনসোলে ক্লিক করেন যে মানুষ, দুজন একেবারেই আলাদা গ্রাহক। শূন্যে নেমে আসা Postgres আছে কারণ ওই গ্রাহকটি আছে।
আর এটি দ্বিতীয় একটি স্ট্যাক, প্রথমটির কোনো স্তর নয়। আপনার কোড কোথায় চলে আর ডেটা কোথায় থাকে, এ দুটি আলাদা কেনাকাটা। পুরনো ডায়াগ্রামে ডেটাবেসের জন্য কোনো ঘরই ছিল না, তাই এভাবে ভাবতে কাউকে শেখানোও হয়নি।
দুই স্ট্যাক গুলিয়ে ফেললে যে ফাঁদে পড়বেন
সার্ভারলেস কম্পিউট নিলেন, সঙ্গে সাধারণ একটি ম্যানেজড ডেটাবেস। প্রথম ব্যস্ত দিনেই এটির সঙ্গে দেখা হয়ে যাবে।
Postgres-এর ডিফল্ট ১০০ কানেকশন, আর চালাক কোনো কোড দিয়ে ওই হিসাবটা বদলানো যায় না। হয় মাঝখানে একটি পুলার বসাবেন, নয়তো আউটেজ মেনে নেবেন।
ডেটাবেসের বেলায় "শূন্যে নেমে আসে" কথাটায় ভরসা করার আগে আরও দুটি কথা জেনে রাখা ভালো। স্টোরেজ কখনো ঘুমায় না: ঘুমায় শুধু কম্পিউট, আর থামিয়ে রাখা ডেটাবেসও তার ধরে রাখা প্রতিটি বাইটের বিল করে যায়। জাগতে সময় লাগে: ঘুমন্ত ডেটাবেসের ফিরে আসতে খানিকটা সময় লাগে, আর সেই সময়টা যোগ হয় আপনার ফাংশনের কোল্ড স্টার্টের উপরে।
আর আছে একটি অসমতা, যেটি ঠিক করে দেয় কোনটি নিয়ে কতটা সতর্ক হবেন। হোস্টিং প্ল্যাটফর্ম ছাড়তে মোটামুটি এক সপ্তাহের কাজ। ডেটাবেস ছাড়তে গেলে টেরাবাইট সরাতে হয়, বের করে আনার জন্য টাকা গুনতে হয়, আর অন্য ইঞ্জিনের জন্য কোয়েরি নতুন করে লিখতে হয়। কম্পিউটের লক-ইন নিয়ে নিশ্চিন্ত থাকুন। ডেটার লক-ইন নিয়ে সাবধান থাকুন।
নতুন স্তর: এআই-এর লেখা কোডের জন্য এজেন্ট স্যান্ডবক্স
সত্যিকার অর্থে নতুন ক্যাটাগরি এটিই, আর আসল ডায়াগ্রামটা যখন আঁকা হয়েছিল তখন এটির অস্তিত্বই ছিল না।
এআই এজেন্ট কোড লেখে। সেই কোড চালাতে হয়। নিজের সার্ভারে চালাতে পারবেন না, কারণ কোডটা আপনি লেখেননি আর সেটি কী করে তাও জানেন না। দরকার ব্যবহার করে ফেলে দেওয়ার মতো একটি কম্পিউটার: একটি কাজ, চারদিক থেকে সিল করা, কাজ শেষে ফেলে দেওয়া।
এটি এখন সত্যিকারের প্রতিযোগিতাসহ একটি প্রোডাক্ট ক্যাটাগরি। ২০২৬ সালের এপ্রিলে OpenAI Agents SDK স্যান্ডবক্স সাপোর্ট এনেছে, সঙ্গে সাতটি হোস্টেড প্রোভাইডার তৈরি অবস্থায়: Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop আর Vercel। Docker নিজেও একটি পরীক্ষামূলক স্যান্ডবক্স ফিচার এনেছে।
| প্রোভাইডার | আইসোলেশন কীভাবে | সবচেয়ে দীর্ঘ সেশন | GPU | কোল্ড স্টার্ট |
|---|---|---|---|---|
| E2B | Firecracker microVM | সর্বোচ্চ ২৪ ঘণ্টা | না | প্রায় ৯০ থেকে ২০০ মিলিসেকেন্ড |
| Modal | gVisor কনটেইনার | বাঁধা কোনো সীমা নেই | হ্যাঁ, T4 থেকে B200 | প্রকাশ করা হয়নি |
| Daytona | Sysbox কনটেইনার | বাঁধা কোনো সীমা নেই | হ্যাঁ | প্রায় ৯০ মিলিসেকেন্ড |
| Vercel Sandbox | Firecracker microVM | ফ্রিতে ৪৫ মিনিট, পেইডে ২৪ ঘণ্টা | না | প্রকাশ করা হয়নি |
| Cloudflare Sandboxes | এজে বসানো কনটেইনার | ৩০ মিনিট | না | প্রকাশ করা হয়নি |
| Blaxel | microVM | বাঁধা কোনো সীমা নেই | না | প্রায় ২৫ মিলিসেকেন্ড |
সংখ্যাগুলো প্রোভাইডারদের নিজেদের দেওয়া, আর এগুলো দ্রুত বদলায়।
পার্থক্যগুলো কেবল উপরের সাজসজ্জা নয়। সেশনের সীমা ৩০ মিনিট থেকে শুরু করে একেবারে সীমাহীন পর্যন্ত। কোল্ড স্টার্ট প্রায় ২৫ মিলিসেকেন্ড থেকে দুই-তিনশো পর্যন্ত। কেউ কেউ GPU দেয়, বেশিরভাগ দেয় না। আইসোলেশনের ধরনও আলাদা: একদিকে Firecracker-এর মতো হার্ডওয়্যার পর্যায়ের microVM, অন্যদিকে কনটেইনারভিত্তিক আইসোলেশন। সত্যিই বিশ্বাস করেন না এমন কোড চালালে টেবিলের ওই কলামটাই আগে পড়বেন।
এজেন্ট না বানালে এসব নিয়ে মাথা ঘামাবেন কেন? Neon-এর ওই ৮০ শতাংশের হিসাবটার কারণে। এই মুহূর্তে ক্লাউড ইনফ্রাস্ট্রাকচারের সবচেয়ে দ্রুত বাড়তে থাকা গ্রাহক কোনো মানুষ নয়। প্রতিটি প্রোভাইডার এখন নিজেদের সাজাচ্ছে এমন এক গ্রাহককে ঘিরে, যে হঠাৎ হাজির হয়, নব্বই সেকেন্ড কাজ করে, তারপর উধাও হয়ে যায়। আপনি যেই হোন, এতে আপনাকে যেসব প্রোডাক্ট অফার করা হবে সেগুলোও বদলে যাবে।
কীভাবে বাছবেন: কাজের ধরনের সঙ্গে স্তর মেলান
প্রশ্ন একটি নয়, দুটি। এক, কাজটার ধরন কী? দুই, আর এটি পুরো আলাদা একটি প্রশ্ন, ডেটা কোথায় থাকবে?
বেশিরভাগ টিম প্রথম প্রশ্নটার উত্তর সহজাতভাবেই মোটামুটি ঠিক দেয়, আর দ্বিতীয়টার উত্তর এমনিতেই ভুল দেয়, কারণ দ্বিতীয় একটি প্রশ্ন যে আছে সেটি পুরনো ডায়াগ্রাম তাদের কখনো বলেইনি।
যা একটুও বদলায়নি
বেয়ার মেটাল থেকে একেবারে নতুন স্যান্ডবক্স পর্যন্ত, প্রতিটি স্তরেই দুটি জিনিস পুরোপুরি আপনার দায়িত্ব।
আপনার স্কিমা আর কোয়েরি। কোনো স্ট্যাকের কোনো প্রোভাইডারই আপনার না-বানানো ইনডেক্সটা বানিয়ে দেবে না। চার কোটি সারির উপর সিকোয়েন্সিয়াল স্ক্যান চালানো ম্যানেজড ডেটাবেসও ধীর ডেটাবেস। "আমাদের ম্যানেজড ডেটাবেস ধীর" গোছের বেশিরভাগ টিকিটের পেছনে আসলে এমন একটি কোয়েরি থাকে, যেটির দিকে কেউ তাকায়নি।
আপনার বিল। এখানকার প্রতিটি মডেলেরই চমকে দেওয়ার নিজস্ব উপায় আছে। সবসময় চালু সার্ভার আপনার ঘুমের সময়েও বিল কাটে। ফাংশন বিল কাটে রিকোয়েস্ট হিসেবে, আর রিকোয়েস্ট জমে সবার ধারণার চেয়ে দ্রুত। Kubernetes একটি কনটেইনার চালু হওয়ার আগেই প্রতি EKS ক্লাস্টারে মাসে $73 নেয়, আর ক্লাস্টারকে ভার্সনে পিছিয়ে পড়তে দিলে সেটি প্রায় $438-এ গিয়ে ঠেকে। সার্ভারলেস ডেটাবেস বিল কাটে চুপচাপ পড়ে থাকা বাইটের জন্য। কেউ আগে থেকে সতর্ক করে ইমেইল পাঠাবে না।
আপনার স্লাইড ডেকের ডায়াগ্রামটা ভুল নয়। শুধু সেটি একটি ছোট বাজারের ছবি। দুই স্ট্যাক আর সাত স্তর দিয়ে নতুন করে আঁকুন, দেখবেন টিমের ভেতরের তর্কগুলো অনেক ছোট হয়ে এসেছে।
ঠিক স্তরটা বেছে নেওয়া, আর ভুল স্তর থেকে সরে আসা, আমার কাজের বেশিরভাগটাই এই: শুরুতে অনুমানে সিদ্ধান্ত নিয়ে এখন তার দাম দিচ্ছে এমন টিমের জন্য AWS মাইগ্রেশন, Lambda থেকে কনটেইনারে সরানো আর খরচের অডিট। এই সিদ্ধান্তের সামনে দাঁড়িয়ে থাকলে যোগাযোগ করুন।
দাম ও অধিগ্রহণের অঙ্কের জন্য সংশ্লিষ্ট প্রাইসিং পেজ ও প্রতিবেদনের লিংক আছে। কনটেইনারের সীমা আলাদাভাবে দেখুন: Cloud Run ও Fargate। স্যান্ডবক্সের বর্তমান সীমার জন্য দেখুন E2B, Modal, Daytona, Vercel Sandbox, Cloudflare Sandboxes ও Blaxel। টেবিলটি একটি সময়ের তথ্য, আমার চালানো বেঞ্চমার্ক বা স্টার্টআপ সময়ের নিশ্চয়তা নয়। সেপ্টেম্বর ২০২৬-এ দেখে নেওয়া, আর এই বাজার দ্রুত বদলায়, তাই কিছু চূড়ান্ত করার আগে যাচাই করে নেবেন।