Открыть сервис

Песочница Salesforce

Песочница Salesforce (Salesforce Sandbox) — это изолированная копия рабочей среды (production-организации) в облачной платформе Salesforce, предназначенная для разработки, тестирования, обучения и внесения изменений в конфигурацию без риска повлиять на функционирование основной системы. Песочницы представляют собой отдельные экземпляры Salesforce, которые могут быть созданы на основе данных и метаданных из production-организации или из другой песочницы. Они являются ключевым инструментом для управления жизненным циклом приложений (ALM) на платформе Salesforce, позволяя командам разработчиков и администраторов работать параллельно, не нарушая работу пользователей.

История и назначение

Концепция песочниц возникла в начале 2000-х годов, когда Salesforce начала предоставлять клиентам возможность создавать тестовые среды. Первоначально функционал был ограничен, но с развитием платформы и появлением сложных кастомизаций (Apex, Visualforce, Lightning) потребность в изолированных средах возросла. Песочницы стали стандартным компонентом лицензий Salesforce, особенно для Enterprise и Unlimited Edition, а также для некоторых отраслевых решений. Основное назначение песочниц — минимизация рисков при внедрении изменений: разработчики могут тестировать новые функции, исправлять ошибки и проводить регрессионное тестирование в среде, полностью повторяющей production, но без доступа к реальным данным пользователей.

Типы песочниц Salesforce

Salesforce предлагает несколько типов песочниц, различающихся по объёму данных, скорости создания и доступности в зависимости издания лицензии. Выбор типа зависит от целей: разработки, тестирования, обучения или интеграции.

Developer Sandbox

  • Назначение: Индивидуальная разработка и тестирование небольших изменений.
  • Ёмкость данных: 200 МБ (до 10 000 записей).
  • Обновление: Не поддерживает обновление данных из production (только метаданные).
  • Особенности: Создаётся быстро, подходит для одного разработчика. Не требует дополнительной лицензии на песочницу (входит в базовую лицензию).

Developer Pro Sandbox

  • Назначение: Разработка с более объёмными данными и тестирование интеграций.
  • Ёмкость данных: 1 ГБ (до 50 000 записей).
  • Обновление: Поддерживает обновление метаданных и данных из production.
  • Особенности: Часто используется для более сложных проектов, где требуется больше данных, чем в Developer Sandbox.

Partial Copy Sandbox

  • Назначение: Тестирование с репрезентативным набором данных, включая конфигурацию и часть записей.
  • Ёмкость данных: 5 ГБ (до 500 000 записей).
  • Обновление: Поддерживает обновление данных и метаданных, но с ограничением по объёму (копируется только часть данных, заданная шаблоном).
  • Особенности: Позволяет настроить, какие объекты и записи копировать. Идеальна для тестирования сценариев, близких к реальным.

Full Sandbox

  • Назначение: Полное копирование production-среды для масштабного тестирования, обучения и регрессионного тестирования.
  • Ёмкость данных: Полная копия всех данных и метаданных из production.
  • Обновление: Поддерживает полное обновление из production.
  • Особенности: Требует наибольшего времени для создания (от нескольких часов до суток). Используется для критически важных тестов, таких как нагрузочное тестирование или проверка перед развёртыванием крупных релизов. Доступна только в Enterprise и Unlimited Edition.

Процесс создания и управления

Создание песочницы осуществляется через интерфейс Salesforce Setup (Настройки). Администратор выбирает тип песочницы, задаёт имя и, при необходимости, настраивает шаблон для Partial Copy Sandbox. После запуска процесс создания занимает от нескольких минут (для Developer) до 24 часов (для Full). Во время создания песочница недоступна. После завершения администратор получает уведомление, и песочница становится доступной по отдельному URL (например, https://test.salesforce.com`).

Управление песочницами включает:

  • Обновление (Refresh): Замена данных и метаданных песочницы на актуальные из production. Все изменения, сделанные в песочнице после последнего обновления, теряются.
  • Удаление: Освобождение ресурсов. Удалённую песочницу можно восстановить в течение определённого периода (обычно 30 дней).
  • Мониторинг: Отслеживание статуса создания, обновления и использования дискового пространства.

Применение в разработке и тестировании

Песочницы являются основой для DevOps-процессов на платформе Salesforce. Типичный рабочий процесс включает:

  1. Разработка: Разработчики работают в Developer или Developer Pro Sandbox, создавая и тестируя код Apex, компоненты Lightning, триггеры и потоки.
  2. Интеграционное тестирование: Изменения переносятся в Partial Copy или Full Sandbox для проверки взаимодействия с внешними системами (через API) и другими модулями.
  3. Пользовательское приёмочное тестирование (UAT): Бизнес-пользователи тестируют новые функции в Full Sandbox, имитируя реальные сценарии.
  4. Развёртывание: После успешного тестирования изменения переносятся в production с помощью инструментов развёртывания (Change Set, Ant Migration Tool, Salesforce CLI или сторонние CI/CD-решения).

Песочницы также используются для обучения: новые сотрудники могут безопасно изучать функционал платформы, не рискуя повредить реальные данные.

Ограничения и лицензирование

Каждая организация Salesforce имеет лимит на количество и тип песочниц, зависящий от издания лицензии. Например:

  • Enterprise Edition: 1 Full Sandbox, 5 Partial Copy Sandbox, 10 Developer Pro Sandbox, 30 Developer Sandbox (может варьироваться).
  • Unlimited Edition: 3 Full Sandbox, 10 Partial Copy Sandbox, 20 Developer Pro Sandbox, 50 Developer Sandbox.
  • Professional Edition: Песочницы не предоставляются (только тестовые среды через партнёрские программы).

Дополнительные песочницы можно приобрести за отдельную плату. Также существуют ограничения на частоту обновления: Full Sandbox можно обновлять не чаще одного раза в 29 дней, Partial Copy — раз в 5 дней, Developer — ежедневно.

Альтернативы и интеграция

Помимо встроенных песочниц, Salesforce поддерживает интеграцию с внешними инструментами управления версиями (Git) и CI/CD (Jenkins, GitLab CI, GitHub Actions). В таких случаях песочницы используются как временные среды для развёртывания кода из репозиториев. Для более сложных сценариев (например, тестирование с большими объёмами данных или нагрузочное тестирование) могут применяться сторонние решения, такие как Copado или Gearset, которые автоматизируют управление песочницами и развёртывание.

Критика и сложности

Несмотря на полезность, песочницы имеют ряд недостатков:

  • Ограниченный объём данных: Developer и Developer Pro Sandbox не подходят для тестирования сценариев, требующих больших объёмов записей.
  • Время создания: Full Sandbox может создаваться долго, что замедляет цикл разработки.
  • Сложность синхронизации: При работе нескольких команд в разных песочницах возникает риск конфликтов при слиянии изменений.
  • Стоимость: Дополнительные песочницы и лицензии на них увеличивают затраты.

Источники

  • Salesforce Help Documentation: "Sandbox Types and Templates"
  • Salesforce Developer Guide: "Sandbox Environments"
  • Salesforce Architects: "Best Practices for Sandbox Management"
  • Trailhead (Salesforce): "Sandbox Management Module"
  • Официальная документация Salesforce по лицензированию и ограничениям

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →