মাল্টি-টেন্যান্ট সাশ (Multi-Tenant SaaS) কী?
মাল্টি-টেন্যান্ট সাশ হলো এমন একটি সফটওয়্যার আর্কিটেকচার, যেখানে একটিমাত্র কেন্দ্রীয় কোডবেজ এবং ডেটাবেজ ব্যবহার করে শত শত আলাদা কোম্পানি বা ক্লায়েন্টকে সেবা দেওয়া হয়। এখানে প্রতিটি কোম্পানিকে বলা হয় এক একটি "টেন্যান্ট"। প্রতিটি টেন্যান্ট নিজস্ব ডেটা সম্পূর্ণ আলাদা এবং সুরক্ষিত অবস্থায় ব্যবহার করে, কিন্তু সার্ভার রক্ষণাবেক্ষণ ও আপডেটের খরচ সবার মাঝে ভাগ হয়ে যাওয়ায় এটি অত্যন্ত সাশ্রয়ী ও দ্রুত স্কেল করা যায়।
সাশ তৈরিতে ডেটা নিরাপত্তার প্রধান চ্যালেঞ্জ
- ডেটা ফাঁসের ঝুঁকি: সফটওয়্যারের লজিকে সামান্য ভুল থাকলে এক কোম্পানির গোপন হিসাব বা গ্রাহক তালিকা অন্য কোম্পানির ড্যাশবোর্ডে চলে যাওয়ার মারাত্মক ঝুঁকি থাকে।
- সার্ভার খরচের অপচয়: প্রতিটি ক্লায়েন্টের জন্য আলাদা সার্ভার বা ডাটাবেজ বসালে হোস্টিং খরচ বহুগুণ বেড়ে যায় এবং সফটওয়্যার লাভজনক থাকে না।
- সাবস্ক্রিপশন নিয়ন্ত্রণ: ক্লায়েন্ট ট্রায়াল নাকি পেইড প্যাকেজে আছে, তা সঠিকভাবে ডেটাবেজ লেভেলে লক না রাখলে সফটওয়্যার অপব্যবহারের আশঙ্কা থাকে।
নিরাপদ সাশ আর্কিটেকচারের ৪টি মূল স্তম্ভ
- রো লেভেল সিকিউরিটি (RLS): কেবল অ্যাপ্লিকেশনের কোডে নয়, বরং মূল ডেটাবেজ ইঞ্জিনের ভেতরেই নিয়ম ঠিক করে দেওয়া থাকে যাতে একটি নির্দিষ্ট কোম্পানির ইউজার ছাড়া আর কেউ ডেটা দেখতে বা এডিট করতে না পারে।
- স্বয়ংক্রিয় সাবস্ক্রিপশন ফিল্টারিং: কোন কোম্পানি কোন প্ল্যানে আছে তার ভিত্তিতে স্বয়ংক্রিয়ভাবে ফিচার এনাবল বা ডিসেবল রাখা।
- সেন্ট্রালাইজড সিস্টেম আপডেট: কোডের যেকোনো আপডেট একবারে পুশ করলে সব ক্লায়েন্ট তাৎক্ষণিকভাবে নতুন ফিচার ও বাগ ফিক্স পেয়ে যায়।
- অডিট ট্রেইল ও লগ ট্র্যাকিং: কোনো ক্লায়েন্টের কোন ইউজার কোন ডেটা মুছেছে বা পরিবর্তন করেছে, তা প্রতিটি কোম্পানির জন্য আলাদাভাবে রেকর্ড রাখা।