iKonekt

適合集團同多個品牌

幾間公司,一個安裝,唔共享客戶

集團通常會衰兩次:一係五個獨立安裝、五套完全分開嘅嘢,一係一個安裝加一句莊嚴承諾,話個應用程式永遠都會過濾正確。第一種好貴。第二種只係一句承諾,而承諾唔係一個安全模型。

如果你經營緊多過一間公司——一間有附屬公司嘅控股公司、一個特許經營、兩個針對唔同市場嘅品牌、一間代理公司同埋佢分拆出嚟嗰瓣——你已經知道個問題係咩樣。呢啲品牌共享人手、工具同財務部門。佢哋唔共享客戶,而且唔可以俾人覺得佢哋有。

iKonekt 用一個安裝行晒全部嘢,而佢哋之間嘅分隔係由資料庫守住,唔係由程式碼守住。呢個分別聽落好學術,直到有一日佢唔再係。

點解呢一層咁重要

應用程式層面嘅過濾器只係查詢入面嘅一句嘢。佢有效嘅前提係將來寫嘅每一條查詢都包含佢——包括趕住寫嗰條、新同事寫嗰條,同埋為一份用一次就唔會再用嘅報表而寫嗰條。

將條界線推入資料庫,條數就倒轉咗。政策喺每一次讀取同寫入都會執行,喺所有嘢之下。一條忘記咗公司嘅查詢唔會攞錯資料列;佢會乜都攞唔到。失敗模式變成一個空白畫面同一個一頭霧水嘅開發者,而呢個先係正確嘅失敗模式。

空白畫面係一項功能。我哋寧願同自己嘅工程師解釋一個空白畫面,都唔想向兩個冇預計會撞口面嘅客戶解釋點解會見到對方嘅客戶名單。

一個安裝每間公司
  • 1客戶同對話有範圍限制。A 品牌嘅銷售人員喺結構上就接觸唔到 B 品牌嘅,唔使靠設定。
  • 2客戶嘅認領權「我哋已經有呢個帳戶」係一個以公司為單位嘅鎖——所以兩個品牌可以同時做同一個市場而唔會撞車。
  • 3提示詞同設定每間公司自己編輯自己嗰份。唯一曾經共享過嗰度係一個 bug,而呢個系統最自豪嘅就係搵到呢個 bug。
  • 4合作夥伴計劃每間公司一個模組,唔係一個人人都要繼承嘅全域模組。

界線喺應用程式之下執行

一個集團實際上可以共享啲乜

分隔唔係為咗隔離而隔離。值得喺集團入面共享嘅嘢係刻意共享嘅,而且多數都係嗰啲悶嘢——呢個啱晒,因為重複成本就係喺嗰啲悶嘢度:

  • 一個要維護同更新嘅安裝。一次部署、一套要打理嘅憑證、一件要補 patch 嘅嘢。
  • 一班人,戴唔同嘅帽。一個人可以喺多過一間公司度做嘢;佢做唔到嘅係透過一條忘記咗問嘅查詢同時睇到兩間。
  • 一套習慣。點分派一個潛在客戶、點寫一則備註、一份工作點去到一張發票——學一次,處處通用,令新人上手縮短到大約一個朝早。
  • 同成個家族其餘部分嘅一段關係。底下係 castomAPI、同一個帳戶、同一批連接器——喺重要嘅地方按公司配置。

集團一定會問嘅第二條問題

「我哋可唔可以跨晒全部做報告?」可以——由集團自己嘅角度出發,刻意而且明確咁做,而唔係一個漏咗嘅界線嘅副作用。呢個分別就係成個設計:越過條線必須係一個人有目的、有權限去做嘅動作。永遠唔可以係一個游離嘅識別碼可以意外做到嘅嘢。

而佢哋問嘅第三條問題係:「如果我哋賣咗其中一個品牌,會點?」一條由資料庫守住嘅界線,亦都係一條你可以乾乾淨淨抽走一份副本嘅界線。呢個唔係巧合——分隔同可移植性係同一種特性喺兩個唔同會議入面嘅樣。

地板之下

具體嚟講,係乜嘢守住條線

唔係一句聲明,係一份清單。如果一個供應商連自己產品嘅呢份清單都攞唔出嚟,咁就值得留意。

26

每張表都帶住所屬公司,檢查係強制開住,唔係得個選項。

72

政策逐條寫出嚟,確保每一條都有人真係睇過,唔係迴圈自動生成。

942

測試每次有任何改動,都會喺一個由零重建嘅資料庫上跑一次。

0

預設公司。一個冇指定範圍嘅請求,喺接觸到資料之前就會即刻報錯——冇得靠一個你忘記關閉嘅後備設定。

隔離係點樣做嘅 →

「五間公司、五個安裝、五張你開嘅發票。」

一個安裝,五道由資料庫守住嘅界線。

共用嘅人、共用嘅習慣、共用嘅平台——但冇一個客係共用嘅。越過嗰條線,一定要係有人刻意為之,永遠唔可以係一個識別碼意外搞出嚟。

隔離係點樣做嘅 →