Сорок інтернет-магазинів, сорок доменів, сорок дизайнів - і одна Odoo за ними всіма. Це не фокус: Odoo вміє кілька сайтів з коробки. Про що не пишуть - де саме приходить рахунок за цю зручність.
Що дає один інстанс
Один каталог, один склад, один список замовлень. Товар, виправлений один раз, зʼявляється на кожній вітрині, яка його продає, з тим самим залишком, що бачать інші. Клієнт, який замовив у двох магазинах, у системі один, а не два.
І одне місце для викатки. Сорок окремих установок - це сорок оновлень, сорок бекапів, сорок наборів доступів і сорок рахунків щомісяця. Правка в оформленні замовлення пишеться раз і приїжджає на всі сорок одночасно.
Що в кожного сайту своє
Домен, тема, меню, мови й ціни належать сайту, а не інстансу. Два магазини на одній Odoo можуть не мати нічого спільного зовні і продавати той самий товар за різною ціною в різній валюті.
Вміст теж розділений: сторінки, статті й товари привʼязані до сайту, і відвідувач однієї вітрини не натрапить на сторінки іншої. Розділення - це поле в записі, і саме тому воно дешеве.
Де це бʼє: воркери
Усі сорок сайтів ділять один пул воркерів Odoo. Воркер - це процес, і він обслуговує один запит за раз. Сорок вітрин не отримують у сорок разів більше процесів - вони отримують той самий пул, що й одна.
Тому важка сторінка на одному магазині - не його особиста проблема. Поки воркер витрачає вісім секунд на пошук по каталогу, він не відповідає решті тридцяти девʼяти сайтів. Помножте на людей, які шукають цілий день, - і пул зайнятий постійно.
Це і була друга причина винести пошук із бази, а не лише розмір каталогу: пошук, який займав вісім секунд , тримав воркерів сорока сайтів.
Odoo.sh чи власний сервер
На Odoo.sh кілька сайтів працюють рівно так, як мають, а масштабування й бекапи дістаються без вовтузіння із сервером. Чого не дістається - права запустити щось поруч з Odoo: ні власного Redis, ні власного сервісу. Усе зайве живе зовні й відповідає мережею.
На власному сервері з Enterprise додаткові сервіси стоять в одній підмережі з Odoo. Менше переходів, нижчі затримки й повний контроль над тим, що там крутиться, - в обмін на обовʼязок це крутити самому.
Коли один інстанс - неправильна відповідь
Коли бізнеси насправді не повʼязані: різні юрособи, різна бухгалтерія, люди, які не мають бачити чужі замовлення. Odoo і це розділить, але налаштування стає важким, а помилка в одному правилі доступу - вже не баг, а витік між бізнесами.
І коли один із магазинів настільки більший за інших, що йому нічого робити в спільному пулі. Тоді він переїжджає. Правило просте: один інстанс, поки сайти ділять дані й людей, і окремі інстанси, коли спільний у них лише власник.
А якщо інстанс ще не обрано, почніть на крок раніше - з ціни Odoo, Salesforce, HubSpot і SAP для команди з десяти осіб.
Цікаво, як ті самі системи поводяться щодня? Odoo в експлуатації: що тримає, що ламається, чого немає в документації.