iKonekt
কনসোল খুলুন

গ্রুপ ও একাধিক ব্র্যান্ডের জন্য

একাধিক কোম্পানি, একটি ইনস্টল, কোনো শেয়ার্ড গ্রাহক নেই

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

আপনি যদি একাধিক কোম্পানি চালান — সাবসিডিয়ারিসহ একটি হোল্ডিং, একটি ফ্র্যাঞ্চাইজ, ভিন্ন বাজারের দিকে তাক করা দুটি ব্র্যান্ড, একটি এজেন্সি এবং সেই এজেন্সি থেকে বেরিয়ে আসা প্রতিষ্ঠান — তাহলে সমস্যার ধরনটা আপনার ইতিমধ্যেই জানা। ব্র্যান্ডগুলো মানুষ, টুলিং ও ফাইন্যান্স বিভাগ শেয়ার করে। গ্রাহক শেয়ার করে না, আর শেয়ার করছে বলে মনেও হওয়া চলবে না।

iKonekt সবগুলো চালায় একটি ইনস্টল থেকে, আর এদের মধ্যকার বিচ্ছেদ রক্ষা করে কোড নয়, ডেটাবেস। এই পার্থক্যটা শৈল্পিক মনে হয়, যতদিন না এমন একটা দিন আসে যেদিন তা আর শৈল্পিক থাকে না।

স্তরটি কেন গুরুত্বপূর্ণ

অ্যাপ্লিকেশন-লেভেল ফিল্টার মানে একটি কোয়েরির ভেতরের একটি বাক্য। এটি কাজ করে যতক্ষণ না ভবিষ্যতে লেখা প্রতিটি কোয়েরিতে সেটি থাকে — যার মধ্যে আছে তাড়াহুড়োয় লেখা কোয়েরিটি, নতুন ডেভেলপারের লেখা কোয়েরিটি, আর যে রিপোর্টের জন্য লেখা হয়েছিল যা কখনো একবারের বেশি ব্যবহার হবেই না তার কোয়েরিটি।

সীমানাটি ডেটাবেসে ঠেলে দিন, আর হিসাবটা উল্টে যায়। নীতিটি চলে প্রতিটি রিড ও প্রতিটি রাইটে, সবকিছুর নিচে। কোম্পানি উল্লেখ করতে ভুলে যাওয়া কোয়েরি ভুল রো ফেরত দেয় না; দেয় কিছুই না। ব্যর্থতার রূপ হয়ে যায় একটি খালি স্ক্রিন ও একজন বিভ্রান্ত ডেভেলপার — যা এই ব্যর্থতার সঠিক রূপ।

খালি স্ক্রিন একটি ফিচার। নিজেদের কোনো ইঞ্জিনিয়ারকে খালি স্ক্রিনের ব্যাখ্যা দেওয়া আমরা বেশি পছন্দ করি, চায়ের চেয়ে যে দুই ক্লায়েন্টকে দেখা হওয়ার কথা ছিল না তাদের গ্রাহক তালিকার ব্যাখ্যা দেওয়ার।

একটি ইনস্টলপ্রতি কোম্পানিতে
  • 1গ্রাহক ও থ্রেডস্কোপড। ব্র্যান্ড A-র একজন বিক্রেতা কনফিগারেশনের কারণে নয়, গঠনগতভাবেই ব্র্যান্ড B-রটা পৌঁছাতে পারে না।
  • 2একটি গ্রাহকের ওপর দাবি“আমাদের এই অ্যাকাউন্টটা আগে থেকেই আছে” — এটি প্রতি কোম্পানিতে রাখা একটি লক, তাই দুটি ব্র্যান্ড একই বাজারে সংঘর্ষ ছাড়াই কাজ করতে পারে।
  • 3প্রম্পট ও সেটিংসপ্রতিটি কোম্পানি নিজেরটা সম্পাদনা করে। একমাত্র জায়গাটায় এটা কখনো শেয়ার্ড ছিল সেটা ছিল একটি বাগ, আর সেই বাগটি খুঁজে পাওয়ার জন্য এই সিস্টেম সবচেয়ে গর্বিত।
  • 4পার্টনার প্রোগ্রামপ্রতি কোম্পানির জন্য আলাদা মডিউল, সবাই যে গ্লোবাল মডিউলটি উত্তরাধিকারসূত্রে পায় তেমনটি নয়।

অ্যাপ্লিকেশনের নিচে প্রয়োগ করা সীমানা

একটি গ্রুপ আসলে কী শেয়ার করতে পারে

বিচ্ছেদ নিছক বিচ্ছিন্নতা নয়। একটি গ্রুপে শেয়ার করার মতো জিনিসগুলো ইচ্ছাকৃতভাবে শেয়ার করা হয়, আর সেগুলো মূলত নিরীহগুলোই — যা ঠিকই আছে, কারণ ডুপ্লিকেট খরচটা বাসা বাঁধে ঠিক এই নিরীহগুলোতেই:

  • চালানো ও আপডেট করার জন্য একটি ইনস্টল। একটি ডিপ্লয়মেন্ট, দেখভালের জন্য এক সেট ক্রেডেনশিয়াল, প্যাচ রাখার মতো একটি জিনিস।
  • একটি দল, ভিন্ন ভিন্ন টুপি পরে। একজন মানুষ একাধিক কোম্পানিতে কাজ করতে পারেন; পারেন না শুধু একটি কোয়েরির ভুলে যাওয়ার কারণে দুটো একসাথে দেখা।
  • এক সেট অভ্যাস। লিড কীভাবে অ্যাসাইন হয়, নোট কীভাবে লেখা হয়, কাজ কীভাবে ইনভয়েসে পৌঁছায় — একবার শেখা, সব জায়গায় প্রয়োগ, যা অনবোর্ডিংকে ছোট করে ফেলে প্রায় এক সকালে।
  • পরিবারের বাকি সদস্যদের সাথে একটি সম্পর্ক। নিচে castomAPI, একই অ্যাকাউন্ট, একই কানেক্টর — যেখানে প্রয়োজন সেখানে প্রতি কোম্পানিতে কনফিগার করা।

একটি গ্রুপ সবসময় দ্বিতীয়তে যে প্রশ্নটি করে

“আমরা কি সবগুলোর ওপর দিয়ে রিপোর্ট করতে পারব?” হ্যাঁ — গ্রুপের নিজস্ব ভিন্টেজ পয়েন্ট থেকে, ইচ্ছাকৃত ও স্পষ্টভাবে, কোনো ফাঁসযুক্ত সীমানার পার্শ্বপ্রভাব হিসেবে নয়। এই পার্থক্যটাই পুরো ডিজাইন: রেখা অতিক্রম করতে হয় কারো ইচ্ছাকৃত কাজ হিসেবে, যার সে করার কর্তৃত্ব আছে। এটি কখনোই এমন হতে পারে না যে একটি বিভ্রান্তিকর আইডেন্টিফায়ার দুর্ঘটনাক্রমে তা সম্পন্ন করবে।

আর তৃতীয়তে যে প্রশ্নটি করে: “একটি ব্র্যান্ড বিক্রি করলে কী হবে?” ডেটাবেস যে সীমানা রক্ষা করে, সেই সীমানা থেকে আপনি একটি পরিচ্ছন্ন কপি তুলে আনতেও পারেন। এটি কোনো কাকতালীয় নয় — বিচ্ছেদ ও পোর্টেবিলিটি একই ধর্ম, দুটি ভিন্ন মিটিং থেকে দেখা।

মেঝের নিচে

সীমানা ধরে রাখছে ঠিক কী

দাবি নয়, একটি তালিকা। কোনো সাপ্লায়ার নিজের পণ্য সম্পর্কে এই তালিকা দিতে না পারলে, সেটা লক্ষ্য করার মতো বিষয়।

26

টেবিল তাদের কোম্পানি সঙ্গে বহন করে, যেখানে যাচাইটি কেবল পাওয়া যাওয়া নয়, বাধ্যতামূলকভাবে চালু থাকে।

72

নীতিমালা, একবারে একটি করে লেখা, যাতে প্রতিটি একজন মানুষ পড়েছেন — লুপে তৈরি হয়নি।

942

টেস্ট, যা প্রতিবার কিছু পরিবর্তন হলে শূন্য থেকে পুনর্নির্মিত ডাটাবেসের বিরুদ্ধে চালানো হয়।

0

ডিফল্ট কোম্পানি নেই। কোনো স্কোপ ছাড়া অনুরোধ ডাটায় পৌঁছানোর আগেই ব্যর্থ হয় — নিষ্ক্রিয় করতে ভুলে যাওয়ার মতো কোনো ফলব্যাক নেই।

বিচ্ছেদ কীভাবে তৈরি হয়েছে →

“পাঁচটি কোম্পানি, পাঁচটি ইনস্টল, আপনার কাছ থেকে পাঁচটি ইনভয়েস।”

একটি ইনস্টল। ডাটাবেস যে পাঁচটি সীমানা ধরে রাখে।

শেয়ার করা মানুষ, শেয়ার করা অভ্যাস, শেয়ার করা প্ল্যাটফর্ম — কিন্তু একটিও শেয়ার করা গ্রাহক নয়। সেই রেখা অতিক্রম করা কখনোই কোনো শনাক্তকারীর দুর্ঘটনাজনিত ব্যাপার নয়, সবসময় একজন মানুষের ইচ্ছাকৃত কাজ হতে হবে।

বিচ্ছেদ কীভাবে তৈরি হয়েছে →