สำหรับกลุ่มบริษัทและหลายแบรนด์
หลายบริษัท หนึ่งการติดตั้ง ไม่แชร์ลูกค้าร่วมกัน
กลุ่มบริษัทมักแก้ปัญหานี้สองครั้งแบบแย่ทั้งสองครั้ง: ไม่ก็ติดตั้งแยกห้าชุดพร้อมทุกอย่างแยกกันห้าชุด ไม่ก็ติดตั้งชุดเดียวแล้วให้คำสัญญาอันศักดิ์สิทธิ์ว่าแอปพลิเคชันจะกรองข้อมูลถูกต้องเสมอ แบบแรกแพง แบบที่สองเป็นเพียงคำสัญญา และคำสัญญาไม่ใช่โมเดลความปลอดภัย
หากคุณดำเนินธุรกิจมากกว่าหนึ่งบริษัท — ไม่ว่าจะเป็นโฮลดิ้งที่มีบริษัทลูก แฟรนไชส์ สองแบรนด์ที่เจาะตลาดต่างกัน หรือบริษัทเอเจนซีกับธุรกิจที่เอเจนซีแยกออกมา — คุณคงรู้รูปร่างของปัญหานี้ดีอยู่แล้ว แบรนด์ต่าง ๆ แชร์คน เครื่องมือ และฝ่ายการเงินร่วมกัน แต่พวกเขาไม่ได้แชร์ลูกค้า และต้องไม่ปรากฏว่าแชร์กันด้วย
iKonekt รันทุกบริษัทจากการติดตั้งเดียว และการแยกส่วนระหว่างกันถูกรักษาไว้ที่ระดับฐานข้อมูล ไม่ใช่ที่ระดับโค้ด ความแตกต่างนี้ฟังดูเป็นเรื่องวิชาการ จนกระทั่งถึงวันที่มันไม่ใช่แล้ว
ทำไมชั้นนี้จึงสำคัญ
ตัวกรองระดับแอปพลิเคชันคือประโยคหนึ่งในคิวรี มันทำงานได้ตราบเท่าที่ทุกคิวรีที่จะถูกเขียนขึ้นเป็นครั้งแรกครั้งเดียวในอนาคตมีประโยคนั้นอยู่ด้วย — รวมถึงคิวรีที่เขียนแบบรีบ ๆ คิวรีที่นักพัฒนาใหม่เขียน และคิวรีที่เขียนขึ้นสำหรับรายงานที่จะใช้ครั้งเดียวแล้วทิ้ง
เมื่อผลักเส้นแบ่งลงไปที่ฐานข้อมูล สมการก็กลับด้าน นโยบายทำงานกับทุกการอ่านและทุกการเขียน อยู่ใต้ทุกอย่าง คิวรีที่ลืมระบุบริษัทจะไม่คืนแถวที่ผิด แต่จะไม่คืนแถวใดเลย รูปแบบความล้มเหลวกลายเป็นหน้าจอว่างกับนักพัฒนาที่งงงวย ซึ่งเป็นรูปแบบความล้มเหลวที่ถูกต้อง
หน้าจอว่างคือฟีเจอร์ เรายินดีอธิบายหน้าจอว่างให้วิศวกรของเราเองฟัง มากกว่าต้องอธิบายรายชื่อลูกค้าให้ลูกค้าสองรายที่ไม่คาดคิดว่าจะได้พบกัน
- 1ลูกค้า & เธรดสนทนาถูกจำกัดขอบเขต พนักงานขายในแบรนด์ A ไม่สามารถเข้าถึงของแบรนด์ B ได้ ด้วยการออกแบบ ไม่ใช่ด้วยการตั้งค่า
- 2การเป็นเจ้าของลูกค้า"เรามีบัญชีนี้อยู่แล้ว" เป็นกุญแจที่ถูกถือครองรายบริษัท — ดังนั้นสองแบรนด์จึงทำงานในตลาดเดียวกันได้โดยไม่ชนกัน
- 3พรอมต์ & การตั้งค่าแต่ละบริษัทแก้ไขของตัวเอง จุดเดียวที่เคยถูกแชร์ร่วมกันคือบั๊ก และนั่นคือบั๊กที่ระบบนี้ภูมิใจที่สุดที่ได้ค้นพบ
- 4โปรแกรมพาร์ตเนอร์โมดูลรายบริษัท ไม่ใช่โมดูลกลางที่ทุกคนต้องรับมา
เส้นแบ่งถูกบังคับใช้ใต้แอปพลิเคชัน
สิ่งที่กลุ่มบริษัทได้แชร์กันจริง ๆ
การแยกส่วนไม่ใช่การแบ่งแยกเพื่อการแบ่งแยกล้วน ๆ สิ่งที่ควรแชร์ข้ามกลุ่มจะถูกแชร์อย่างตั้งใจ และส่วนใหญ่ก็เป็นสิ่งที่น่าเบื่อ — ซึ่งถูกต้องพอดี เพราะสิ่งที่น่าเบื่อนั่นแหละคือที่ที่ต้นทุนซ้ำซ้อนอาศัยอยู่:
- หนึ่งการติดตั้งที่ต้องรันและอัปเดต หนึ่งการดีพลอย หนึ่งชุดข้อมูลรับรองที่ต้องดูแล หนึ่งสิ่งที่ต้องคอยแพตช์
- หนึ่งทีมคน สวมหมวกต่างกัน คนหนึ่งคนทำงานในหลายบริษัทได้ สิ่งที่ทำไม่ได้คือมองเห็นทั้งสองพร้อมกันผ่านคิวรีที่ลืมถาม
- หนึ่งชุดนิสัยการทำงาน วิธีมอบหมายลีด วิธีเขียนโน้ต วิธีที่งานกลายเป็นใบแจ้งหนี้ — เรียนรู้ครั้งเดียว ใช้ได้ทุกที่ ซึ่งทำให้การฝึกงานใหม่สั้นลงเหลือประมาณหนึ่งเช้า
- หนึ่งความสัมพันธ์กับส่วนที่เหลือของตระกูลผลิตภัณฑ์ castomAPI อยู่ข้างใต้ บัญชีเดียวกัน คอนเนกเตอร์ชุดเดียวกัน — ตั้งค่ารายบริษัทในจุดที่สำคัญ
คำถามที่กลุ่มบริษัทมักถามเป็นอันดับสอง
"รายงานข้ามทุกบริษัทได้ไหม?" ได้ — จากมุมมองของกลุ่มเอง อย่างตั้งใจและชัดเจน ไม่ใช่เป็นผลพลอยได้จากเส้นแบ่งที่รั่ว ความแตกต่างนี้คือทั้งหมดของการออกแบบ: การข้ามเส้นต้องเป็นการกระทำที่ใครบางคนทำลงไปโดยเจตนา พร้อมอำนาจในการทำเช่นนั้น มันต้องไม่ใช่สิ่งที่ตัวระบุที่หลุดรอดสามารถทำได้โดยบังเอิญ
และคำถามอันดับสามที่พวกเขาถาม: "ถ้าเราขายแบรนด์หนึ่งไปล่ะ จะเกิดอะไรขึ้น?" เส้นแบ่งที่ฐานข้อมูลรักษาไว้ ยังเป็นเส้นแบ่งที่คุณสามารถยกสำเนาที่สะอาดออกมาได้ นั่นไม่ใช่เรื่องบังเอิญ — การแยกส่วนและความสามารถในการย้ายออกคือคุณสมบัติเดียวกันที่มองจากการประชุมสองที่ต่างกัน
ใต้พื้น
สิ่งที่รักษาเส้นแบ่งนี้ อย่างเจาะจง
ไม่ใช่คำกล่าวอ้าง แต่เป็นรายการ หากซัพพลายเออร์รายใดไม่สามารถยื่นรายการนี้เกี่ยวกับผลิตภัณฑ์ของตัวเองได้ นั่นก็เป็นสิ่งที่ควรสังเกต
26
ตารางที่แบกรับบริษัทของตัวเอง โดยมีการบังคับใช้การตรวจสอบ ไม่ใช่แค่มีให้เลือกใช้
72
นโยบายที่เขียนออกมาทีละฉบับ เพื่อให้แต่ละฉบับผ่านการอ่านจากมนุษย์ ไม่ใช่สร้างขึ้นเป็นวงวนอัตโนมัติ
942
การทดสอบที่รันกับฐานข้อมูลที่สร้างใหม่จากศูนย์ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ
0
บริษัทเริ่มต้นเป็นค่าเริ่มต้น คำขอที่ไม่มีขอบเขตจะถูกยกเลิกก่อนไปถึงข้อมูล — ไม่มีทางเลือกสำรองที่จะลืมปิดได้

“ห้าบริษัท ห้าการติดตั้ง ห้าใบแจ้งหนี้จากคุณ”
ติดตั้งเพียงครั้งเดียว พร้อมขอบเขตห้าชั้นที่ฐานข้อมูลรักษาไว้
บุคลากรร่วมกัน นิสัยร่วมกัน แพลตฟอร์มร่วมกัน — แต่ไม่มีลูกค้าร่วมกันเลยแม้แต่รายเดียว การล่วงล้ำเส้นนั้นต้องเป็นสิ่งที่มนุษย์กระทำโดยเจตนา ไม่ใช่สิ่งที่ตัวระบุทำให้ผิดพลาดโดยบังเอิญ
การแยกส่วนถูกสร้างขึ้นอย่างไร →