সফটওয়্যার জগতেও ব্যাপারটা ঠিক তাই।
সিস্টেম ডিজাইন হলো: একটি সিস্টেম বা সফটওয়্যার তৈরি করার আগে তার আর্কিটেকচার, মডিউল, ইন্টারফেস এবং ডাটা ফ্লো কেমন হবে, তার সামগ্রিক পরিকল্পনা বা ব্লু-প্রিন্ট তৈরি করার প্রক্রিয়া।
মন্টু মিয়াঁর ‘বিড়ালটিউব’ যখন ছোট ছিল (সেই চায়ের দোকানের মতো), তখন সাধারণ একটা সার্ভার আর ডাটাবেস দিয়েই দিব্যি চলছিল। কিন্তু যখনই লাখ লাখ ইউজার (বিশাল রেস্টুরেন্টের কাস্টমার) আসতে শুরু করল, তখনই দরকার পড়ল সঠিক পরিকল্পনার। কোন ডাটাবেস ব্যবহার করলে দ্রুত সার্চ করা যাবে, লোড বাড়লে কীভাবে সার্ভার অটোমেটিক বেড়ে যাবে, কিংবা আমেরিকার ইউজার আর বাংলাদেশের ইউজার দুজনই কীভাবে সমান স্পিডে ভিডিও দেখবে, এই জটিল প্রশ্নগুলোর উত্তর ও সমাধান বের করাই হলো সিস্টেম ডিজাইন।
এক কথায়, সিস্টেম ডিজাইন হলো সেই আর্ট, যা একটা সাধারণ কোডকে বিশাল স্কেলেবল (Scalable) এবং নির্ভরযোগ্য (Reliable) সিস্টেমে পরিণত করে।
মন্টু মিয়াঁ এবার নড়েচড়ে বসলেন। তিনি বুঝতে পারলেন, এতদিন তিনি শুধু ইটই গেঁথেছেন, কিন্তু ইমারতের নকশাটাই করা হয়নি। এবার তাকে আর্কিটেক্ট হতে হবে!