Міграція з On-Premise Bitrix24 у хмару
Компанія може мати потребу перейти від самостійно розміщеного сервера через надмірні витрати на адміністрування, скорочення IT-інфраструктури або бажання використовувати хмарні функції, яких немає у коробці. Зворотний перехід — з коробки у хмару — має фундаментальне обмеження: Bitrix24 не надає офіційного інструменту для імпорту з On-Premise. Дані необхідно мігрувати через API у зворотному напрямку.
Що можна перенести, а що — ні
Не все, що є у коробці, доступне у хмарі. Ключові відмінності, які варто перевірити перед прийняттям рішення про перехід:
| Можливість | On-Premise | Хмара |
|---|---|---|
| Прямий доступ до БД | Так | Ні |
| Користувацькі PHP-модулі | Так | Ні (тільки REST-додатки) |
| Невоєнне число користувачів | Так (обмежено ліцензією) | За тарифом |
| WebRTC-телефонія без SIP | Ні | Так |
| Мобільний додаток | Обмежено | Повнофункціональний |
| Користувацькі бізнес-процеси з PHP | Так | Ні |
Якщо у коробці є користувацькі PHP-модулі або компоненти — у хмарі їх потрібно переписати як REST-додатки. Це серйозна робота, яка може перевищити вартість самої міграції.
Стратегія перенесення даних CRM
Дані експортуються з On-Premise через REST API (він працює однаково в обох версіях) і імпортуються у хмару через той же REST API. Послідовність:
- Створити OAuth-додаток у хмарному портальному для аутентифікації запитів
-
Перенести користувачів — запросити вручну через інтерфейс або використати
user.add(тільки у On-Premise; у хмарі додавання користувачів через API обмежено) -
Пересоздати довідники: статуси угод (
crm.status.add), лійки продажів (crm.dealcategory.add), користувацькі поля (crm.userfield.add) - Перенести дані CRM: компанії → контакти → лідів → угод зі збереженням маппінгу ID
-
Перенести файли з Диска через
disk.folder.uploadfile
Скрипт міграції працює з двома API-клієнтами одночасно: один підключений до On-Premise (джерело), другий — до хмари (приймач).
Особливість: обмеження хмарного API
Хмарний Bitrix24 жорсткіше обмежує API, ніж коробкова версія. На тарифі «Команда» — 2 запити на секунду, на «Компанія» — до 200 запитів на секунду при використанні enterprise-функцій. При перенесенні великих обсягів даних потрібно реалізувати rate limiting у скрипті:
class RateLimiter
{
private float $lastRequest = 0;
private float $minInterval; // секунди між запитами
public function wait(): void
{
$elapsed = microtime(true) - $this->lastRequest;
if ($elapsed < $this->minInterval) {
usleep((int)(($this->minInterval - $elapsed) * 1_000_000));
}
$this->lastRequest = microtime(true);
}
}
Користувацькі поля та типи даних
Користувацькі поля у Bitrix24 мають типи: string, integer, double, date, datetime, boolean, enumeration, file, url, employee, crm. У хмарі доступні ті ж типи, але тип file у хмарі поводиться інакше: файли спочатку мають бути завантажені через disk.folder.uploadfile, а потім прив'язані до запису CRM.
Тип employee (прив'язка до користувача Bitrix24) вимагає попередньої коректури: ID користувачів у коробці та хмарі не збігаються.
Бізнес-процеси та автоматизація
Шаблони бізнес-процесів з коробки (bizproc.workflow.template.list) можна експортувати у XML і спробувати імпортувати у хмару. На практиці це працює тільки для простих процесів без користувацьких PHP-дій. Складні BP вимагатимуть переробки за допомогою хмарних інструментів: роботів та тригерів CRM.
Період паралельної роботи
Рекомендую 2–4 тижні роботи в обох системах одночасно. За цей час нові дані вносяться у хмару, а стара коробка залишається у режимі read-only для звірки. По закінченні періоду — деактивація коробки та звільнення сервера.
Типові терміни
| Обсяг даних | Складність персоналізацій | Термін |
|---|---|---|
| До 30 000 записів CRM, стандартна конфігурація | Низька | 2–3 тижні |
| 30 000–150 000 записів, кілька користувацьких полів | Середня | 1–2 місяці |
| 150 000+ записів, користувацькі модулі, складні BP | Висока | 2–4 місяці |
Фінальне рішення про перехід варто прийняти після детального порівняння функціональності: іноді з'ясовується, що для конкретного бізнесу коробка переважніша, і перехід не виправданий.







