"যা সহজ করে গড়া যায় না, তা দীর্ঘ সময় টিকিয়ে রাখাও সম্ভব হয় না।"
প্রতিটা বড় সিস্টেম একটাই মেশিন দিয়ে শুরু হয়। তারপর ইউজার বাড়ে, লোড বাড়ে, সমস্যা বাড়ে। একটা একটা করে লেয়ার যোগ হতে থাকে। এই স্টেজে আমরা সেই গল্পের শুরুটা দেখব।
চা দোকান হোক বা গুগল, সবার যাত্রা একই জায়গা থেকে শুরু। ছোট চা দোকান যখন ৫০০০ মানুষের ভিড়ে পড়ে, তখন যা যা সমস্যা হয়, ঠিক সেগুলোই সফটওয়্যার সিস্টেমেও হয়। আমরা অ্যানালজি দিয়ে শুরু করব, তারপর টেকনিকাল ডিটেইলস এ ঢুকব। কোনো টার্ম মুখস্থ না করে সেগুলো অনুভব করার চেষ্টা করবো।
০১ এই স্টেজে যা শিখবো
| সেশন | শিরোনাম | এই সেশনের লক্ষ্য |
|---|---|---|
| সেশন ০১ | সিস্টেম ডিজাইন কেন দরকার? | চা দোকানের গল্প দিয়ে বুঝবো, সিস্টেম বড় হলে কী কী ভেঙে পড়ে। Vertical vs Horizontal Scaling, Bottleneck, SPOF, এসব শব্দ কেন দরকার পড়ে সেটাও দেখবো। |
০২ স্টেজ শেষে যা যা করতে পারবেন
- একটা সিস্টেম কেন বড় হয়, আর বড় হলে কেন ভেঙে যায়, সেটা analogy দিয়ে বোঝাতে পারবেন।
- Vertical vs Horizontal Scaling এর tradeoff বোঝা।
- কোনো আর্কিটেকচার ডায়াগ্রাম দেখে SPOF আইডেন্টিফাই করা।
- Bottleneck কী, কীভাবে চিনতে হয়।
- System design এ কোন টার্ম কেন ইনভেন্ট হলো, সেই historical/practical কনটেক্সট বোঝা।
০৩ এর পর যা আসছে...
স্টেজ ০২ এ আমরা একটা সার্ভার থেকে শুরু করে কীভাবে মাল্টিপল সার্ভার দিয়ে scale করা যায় সেটা দেখব। Load Balancer, Stateless Server, Session Store সব আসবে।