
ডেভঅপস
যে অবকাঠামো ও রিলিজের কাজ একটি প্ল্যাটফর্মকে সচল রাখে: ম্যানেজড ক্লাউড থেকে সেলফ-হোস্টেড Kubernetes-এ একটি প্রোডাকশন মাইগ্রেশন, কোনো রেকর্ড করা ডাউনটাইম ছাড়াই; Cloudflare-এর পেছনে Dockerized সার্ভিস, পুশ করলেই শিপ হওয়া CI/CD, আর স্টোর রিভিউ পেরিয়ে মোবাইল রিলিজ। ব্যাকআপ, TLS ও মনিটরিং কাজেরই অংশ, বাড়তি কিছু নয়।
স্টুডিও চালানো একটি সেলফ-হোস্টেড হোমল্যাব, প্রতিদিন রক্ষণাবেক্ষণ করা
সেলফ-হোস্টেড Kubernetes ক্লাস্টারে স্টুডিওর নিজস্ব অবকাঠামো, যার পরিকল্পনা ২০২৬ সালের ফেব্রুয়ারিতে আর তখন থেকে প্রতিদিন রক্ষণাবেক্ষণ হয়: এর ওয়েবসাইট, CMS ও MCP সার্ভার আর যে ক্লায়েন্ট প্ল্যাটফর্মগুলো এটি দেখাশোনা করে, সবই Cloudflare টানেলের মাধ্যমে চলে, প্রতিটি ডেটাবেস প্রতি রাতে ডাম্প ও যাচাই হয়, মেট্রিকস আর অ্যালার্ট রুল ফোনে পৌঁছায়, বাড়ির বাইরে একটি আউটেজ মনিটর, একটি কনটেইনার রেজিস্ট্রি ও একটি npm রেজিস্ট্রি, আর একটি প্রাইভেট কনসোল যা মার্জ, রান, ইমেজ, পড আর নোডকে এক পাতায় জুড়ে দেয়।
হোস্টেড CI যখন সবচেয়ে ধীর ধাপ হয়ে উঠল, বিল্ডগুলো ঘরে ফিরল
বিল্ড আর ডিপ্লয় সরে এসেছে GitHub-এর হোস্টেড রানার থেকে, যেখানে প্রতিটি রান শুরু হতো নতুন মেশিনে আর রিলিজ অপেক্ষা করত লাইন ও বিভ্রাটের জন্য, ঘরের একটি রানার পুলে: একটি বিল্ড মেশিন যা চালু থাকা অবস্থায় প্রতিটি জব নেয়, আর সবসময় চালু একটি সার্ভারে স্ট্যান্ডবাই রানার, এমন একটি ওয়াচডগের পেছনে যা দ্বিধার সময় শিপিং চালু রাখার দিকেই ঝোঁকে। ইমেজ যায় একটি প্রাইভেট কনটেইনার রেজিস্ট্রিতে আর স্টুডিওর লাইব্রেরিগুলো একটি প্রাইভেট npm রেজিস্ট্রিতে, দুটোই ভবনের ভেতরে, আর প্রতিটি রান GitHub-এর রিটেনশনের পরেও আর্কাইভে থাকে। সবচেয়ে ধীর ডিপ্লয় আট মিনিট চব্বিশ সেকেন্ড থেকে নেমে এসেছে তিন মিনিট পাঁচ সেকেন্ডে, আর CI হয়েছে এক-তৃতীয়াংশ দ্রুত।
একটি নোড হলো ক্লাস্টার, অথচ কোনো অ্যাপ্লিকেশন বদলাতে হয়নি
যেকোনো মুহূর্তে বন্ধ হতে পারে এমন একটি দ্বিতীয় মেশিন কোনো অ্যাপ্লিকেশন না বদলেই চলমান একটি এক-নোডের ক্লাস্টারে যোগ দিয়েছে। সবসময় চালু থাকা একটি সার্ভার রাখে কন্ট্রোল প্লেন, প্রতিটি ডেটাবেস ও ভলিউম আর প্রতিটি সার্ভিসের প্রথম কপি; বিল্ড মেশিন একটি taint-এর আড়ালে বিল্ড আর স্টেটলেস সার্ভিসের দ্বিতীয় কপিগুলো নেয়, আর সেটি ঘুমিয়ে থাকলে সেই কপিগুলো ফিরে না গিয়ে অপেক্ষা করে। কাজ ফুরোলে সেটি নিজেই বন্ধ হয় আর কোনো জব সারিতে এলে ফিরে আসে, একটি কনসোল প্রতিটি নোড, ওয়ার্কলোড আর উপস্থিতির সময়সীমা দেখায়, আর সবসময় চালু সার্ভারের প্রতিটি CPU request মাপা হয়েছে, যাতে তার রিজার্ভেশন বরাদ্দযোগ্য সক্ষমতার ৮৪ থেকে ৫৬ শতাংশে নেমে এসেছে।
Fully Booked - শূন্য ডাউনটাইমে সেলফ হোস্টেড কুবারনেটিসে মাইগ্রেশন
Fully Booked চলত ম্যানেজড ক্লাউড অবকাঠামোয়, যার বিল প্রতি মাসে বাড়ত আর পুরো স্ট্যাকের মালিকানা কারও হাতে ছিল না। আমরা পুরো প্ল্যাটফর্মটি সেলফ হোস্টেড কুবারনেটিস ক্লাস্টারে সরিয়ে এনেছি, ব্যবহারকারীদের জন্য এক মিনিটও ডাউনটাইম ছাড়া। কাটওভারে ছিল DNS, ইনগ্রেস, ডেটাবেস এবং রিলিজ পাইপলাইন, এমনভাবে সাজানো যে প্রতিটি স্তর নতুন ক্লাস্টারে প্রমাণিত হওয়ার পরেই ট্রাফিক সরানো হয়েছে। সেই সপ্তাহে অ্যাপ ব্যবহারকারী কেউ টের পাননি কিছু ঘটেছে, আর সেটাই ছিল উদ্দেশ্য। মাসিক বিল হয়ে গেল নিজস্ব হার্ডওয়্যার, এবং এখন সেই ক্লাস্টারই প্ল্যাটফর্মের সাপ্তাহিক রিলিজ বহন করে।
Fully Booked - Docker এবং DigitalOcean এবং Cloudflare সহ ডিপ্লয়মেন্ট
Fully Booked চালু হয়েছিল Cloudflare-এর পেছনে একটি DigitalOcean ড্রপলেটে পাঁচটি Docker সার্ভিস হিসেবে, যাতে খুব ছোট একটি টিমও ডিপোজিট রাখা একটি মার্কেটপ্লেস চালাতে পারে। একটি রিপোজিটরি থেকে প্রতিটি ইমেজ তৈরি হতো, একটি compose ফাইল ও একটি Makefile রিলিজকে নামিয়ে আনত pull, build আর up-এ, সার্টিফিকেট ও সিকিউরিটি হেডার সামলাত একটি Caddy প্রক্সি, আর প্রতিটি কোট ও ইনভয়েসের PDF সার্ভারে রেন্ডার করত Playwright। সার্ভিসগুলো শুরু থেকেই আলাদা হওয়ায় পরে কোনো রিবিল্ড ছাড়াই সেগুলো একটি সেলফ-হোস্টেড Kubernetes ক্লাস্টারে সরে গেছে।
Fully Booked - অ্যাপ স্টোর এবং প্লে স্টোর ডিপ্লয়মেন্ট
Fully Booked অপারেটর অ্যাপ App Store ও Google Play-তে পৌঁছেছে এবং রিভিউ পার করে চলেছে, যাতে যুক্তরাজ্যের মিনিবাস অপারেটররা ফোন থেকেই নিজেদের ব্যবসা চালাতে পারেন। লিস্টিংগুলো প্রতিটি স্ক্রিনশটে একটি করে সুবিধা দিয়ে ব্যবসার যুক্তি তুলে ধরে, কমপ্লায়েন্স প্রোডাক্টের ভেতরেই তৈরি, অ্যাপের ভেতরে অ্যাকাউন্ট মুছে ফেলা এবং অ্যাপ যা সংগ্রহ করে তার সঙ্গে মিলিয়ে প্রাইভেসি ঘোষণাসহ, লিংক সরাসরি অ্যাপ খোলে, আর রিলিজগুলো ধাপে ধাপে ছাড়া হয় যাতে কোনো আপডেট কোনো অপারেটরের কাজের দিন নষ্ট না করে।
27 Pearls - মোবাইল রিলিজ এবং স্টোর সাবমিশন
একটি তৈরি 27 Pearls অ্যাপ এক সপ্তাহের এনগেজমেন্টের মধ্যেই App Store ও Google Play-তে অনুমোদিত লিস্টিং হয়ে ওঠে, কোনো দফায় প্রত্যাখ্যান ছাড়াই। সেই সপ্তাহে ছিল রিলিজ বিল্ড ও সাইনিং, শিক্ষার্থীর সুবিধা ঘিরে লেখা লিস্টিংয়ের কপি, প্রয়োজনীয় প্রতিটি ডিভাইস সাইজের স্ক্রিনশট, অ্যাপ যা সংগ্রহ করে তার সঙ্গে মিলিয়ে প্রাইভেসি ঘোষণা, আর রিভিউয়ারের জন্য কাজ করা একটি অ্যাকাউন্ট। অ্যাপটি আজও Google Play-তে আছে।
ট্যাগ ধরে এই কাজগুলো দেখুন
আমি অন্য কোথায় তৈরি করি
MCP সার্ভার যা একটি বাস্তব প্ল্যাটফর্মকে AI অ্যাসিস্ট্যান্টের কাছে উন্মুক্ত করে, এজেন্ট পাইপলাইন যা হিউম্যান অ্যাপ্রুভাল গেটের পেছনে সত্যিকারের সম্পাদনার কাজ করে, এবং যে অবকাঠামো এগুলোকে প্রোডাকশনে সচল রাখে। সিস্টেম হিসেবে তৈরি, অথেনটিকেটেড, স্কোপড এবং অডিটেড, কখনোই ডেমো নয়।
React Native ও Expo দিয়ে তৈরি iOS ও Android অ্যাপ, পেছনের প্ল্যাটফর্মেরই একটি অংশ হিসেবে: ওয়েবের মতো একই ব্যাকএন্ড, অথেনটিকেশন ও ডেটা মডেল, আর একই ছন্দে স্টোরগুলোতে রিলিজ। এই তাকে আছে যুক্তরাজ্যের মিনিবাস ও কোচ অপারেটরদের বুকিং প্ল্যাটফর্ম ও কাজ ভাগাভাগির নেটওয়ার্ক থেকে শুরু করে আঠারো মাস ধরে তৈরি ভ্রমণকারীদের সহায়তার অ্যাপ, শিক্ষার্থীদের জীবন-দক্ষতার অ্যাপ, স্থানীয় খেলাধুলার অ্যাপ, একটি ডিস্ট্রিবিউটরের বিলিং টুল এবং একটি ফ্যান প্ল্যাটফর্ম।
মেশিনেই থেকে যাওয়া কাজের জন্য Electron ও React-এ তৈরি ডেস্কটপ সফটওয়্যার: অফলাইনে চলতে সক্ষম, Windows, macOS ও Linux-এর জন্য প্যাকেজ করা, আর প্ল্যাটফর্ম থাকলে অন্য যেকোনো ক্লায়েন্টের মতোই তার ব্যাকএন্ডে যুক্ত। এই তাকের উদাহরণ Keyboard Tracker, নিজস্ব রিপোর্ট জেনারেটরসহ একটি কর্মী কার্যকলাপ ট্র্যাকার।
হেডলেস CMS-এর ওপর React ও Next.js-এ তৈরি ওয়েব প্ল্যাটফর্ম ও তার সামনের সাইট: প্রতিদিন ব্যবসা চালানোর অ্যাডমিন ড্যাশবোর্ড, কাস্টমার পোর্টাল, একটি সমবায়ের লেজার ও ঋণ ব্যবস্থা, আর দ্রুত লোড হওয়া পাবলিক সাইট যা সার্চ ইঞ্জিন ও AI ক্রলারের কাছে সহজে পড়া যায়। আকার যা-ই হোক, সার্ভার-রেন্ডারড, স্থানীয়কৃত ও মাপা।
এমবেড করা যায় এমন অংশ, যা একটি প্ল্যাটফর্মকে অন্যের ওয়েবসাইটে পৌঁছে দেয়। Prebooked উইজেট দিয়ে একজন মিনিবাস বা কোচ অপারেটর নিজের সাইটেই বুকিংয়ের ব্যবস্থা রাখতে পারেন, যার পেছনে কাজ করে Fully Booked প্ল্যাটফর্ম, ফলে গ্রাহক পেজ ছেড়ে না গিয়েই বুক করেন। বসানো সহজ, আর যে পণ্যকে এটি বিস্তৃত করে তার মানেই তৈরি।
প্ল্যাটফর্মগুলোর চারপাশের এমন সব অংশ যা অ্যাপও নয়, সাইটও নয়: gm-libs, অথেনটিকেশন, ডেটা, ইন্টারফেস ও ব্যাকগ্রাউন্ড কাজের জন্য সেই পুনর্ব্যবহারযোগ্য TypeScript প্যাকেজ, যা থেকে Webanion-এর প্রতিটি ফ্রন্টএন্ড ও ব্যাকএন্ড শুরু হয়; আর একটি পণ্যের ডিজাইনের পথচলা, ইন্টারঅ্যাক্টিভ Figma প্রোটোটাইপ ও তার UI/UX থেকে শুরু করে বাজারে নিয়ে যাওয়া ভিজ্যুয়াল অ্যাসেট ও টিউটোরিয়াল ভিডিও পর্যন্ত।












