С каждым годом компании, использующие Salesforce, становятся все более зависимыми от него. Несколько лет назад люди могли просто использовать Sales или Service Cloud, но теперь они могут использовать Salesforce для маркетинга, продаж, выставления счетов, поддержки клиентов, аналитики и многого другого.

Не секрет, что у Salesforce есть свои недостатки, когда дело доходит до разработки. Функции платформы фантастически мощные и поддаются настройке и небольшим развертываниям. Но когда вы управляете организацией с сотнями пользователей, командой разработчиков и все более сложной организацией, все может запутаться. Введите Вопросы для интервью с Salesforce DevOps.

Что такое Salesforce DevOps?

Термин DevOps существует с 2009 года, когда он был впервые придуман, и определяется следующим образом…

Ниже вы можете увидеть базовое представление жизненного цикла разработки программного обеспечения. В более широком мире программного обеспечения существуют сотни инструментов, которые могут помочь упростить и автоматизировать процессы на каждом этапе.

Salesforce DevOps ничем не отличается от более широкого определения этого слова, но его особое внимание сосредоточено на обеспечении того, чтобы администраторы и разработчики могли внедрять изменения и максимально эффективно работать в течение жизненного цикла разработки программного обеспечения с минимальными ошибками и неудобствами для пользователей.

Экосистема Salesforce немного медленнее внедряет DevOps, возможно, потому, что декларативные изменения очень легко вносить. Многие ведущие независимые поставщики программного обеспечения Salesforce, ориентированные на эту тенденцию, были основаны примерно в 2014–2016 годах. В 2016 году Salesforce также объявила о своей инициативе Developer Experience, посвященной созданию инструментов для поддержки жизненного цикла разработки программного обеспечения.

Зачем вам нужны инструменты Salesforce DevOps?

Во-первых, не всем понадобятся инструменты Salesforce DevOps. Если вы управляете небольшой организацией с относительно простой реализацией и небольшой командой разработчиков, вас могут устроить собственные доступные инструменты Salesforce, такие как наборы изменений.

Но если у вас большая команда с несколькими разработчиками, работающими в нескольких изолированных программных средах, или, возможно, вы используете сложные продукты, такие как Salesforce CPQ, инструменты Salesforce DevOps могут стать просто незаменимыми.

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



Пример

Наборы изменений относительно просты в использовании и могут быть созданы для развертывания изменений из одной среды в другую. Они создаются вручную путем добавления компонентов по одному. Но у них есть существенные недостатки…

  • Создание наборов изменений может занять некоторое время, поскольку компоненты добавляются вручную. Ошибки развертывания также распространены, и их исправление может занять много времени.
  • Вы не можете развернуть все компоненты с помощью наборов изменений, таких как стандартные значения раскрывающегося списка или процессы продаж.
  • Наборы изменений необходимо воссоздавать или клонировать каждый раз, когда они перемещаются в другую среду (например, из Dev › QA › Prod)
  • Наборы изменений нельзя интегрировать с системами контроля версий для отслеживания изменений между средами.

Наборы изменений — это лишь один пример того, как собственные инструменты Salesforce могут перестать работать при увеличении сложности. Если вы сталкиваетесь с проблемами или узкими местами на каком-либо этапе жизненного цикла разработки Salesforce, возможно, пришло время рассмотреть некоторые инструменты, которые могут помочь.

Преимущества DevOps

В целом вы можете ожидать следующих преимуществ от начала интеграции инструментов DevOps в вашу команду по развертыванию…

  • Экономия времени благодаря более быстрому и надежному развертыванию
  • Увеличение частоты выпуска обновлений за счет автоматизации (CI/CD), что также приводит к более тесному циклу обратной связи
  • Меньше багов/ошибок отправляется в рабочую среду благодаря тестированию
  • Улучшение взаимодействия между разработчиками и администраторами, отчасти благодаря журналу аудита, показывающему, кто изменил что, когда и почему (контроль версий)
  • Более высокий уровень безопасности благодаря мониторингу и резервному копированию

Инструменты Salesforce DevOps

Теперь мы рассмотрели, что такое Salesforce DevOps и какие преимущества он может принести. Давайте проверим инструменты, которые влияют на эту текущую тенденцию…



Инструменты развертывания

Первый и наиболее распространенный тип этих инструментов относится к категории развертывания. Если вы хотите окунуться в Salesforce DevOps, то внедрение инструмента развертывания — это верный способ коренным образом изменить способ развертывания Salesforce, а также сделать его молниеносным.

Вместо использования наборов изменений или утилиты командной строки, такой как инструмент Ant Migration, большинство приложений для развертывания Salesforce имеют специализированный пользовательский интерфейс, полный функций, упрощающих развертывание изменений и управление ими. Особенности могут включать…

Контроль версий —интегрируйтесь с вашим любимым хостинг-провайдером, таким как GitHub, чтобы иметь полное представление о том, что было изменено, почему, когда и кем.

CI/CD. Воспользуйтесь всеми преимуществами процессов непрерывной интеграции и доставки, создав автоматизированный конвейер доставки для всех ваших песочниц.

Откат. Выполнили развертывание, которое не сработало должным образом? Просто откатите внесенные изменения, чтобы минимизировать неудобства для ваших пользователей.

Тестирование.Обеспечение частого выполнения модульных тестов и проверка охвата кода имеют важное значение для плавного развертывания. Средства развертывания могут автоматизировать этот процесс.

Отчетность. Успех любого процесса заключается в возможности отслеживать и корректировать результаты работы команды, использующей инструменты. Большинство инструментов Salesforce DevOps позволяют создавать отчеты о развертываниях.

Инструменты, которые можно проверить в этом пространстве, включают Gearset, Copado, Flosum, Autorabit и Blue Canvas.

Инструменты резервного копирования

Резервное копирование данных Salesforce должно быть неотъемлемой частью процесса Salesforce DevOps. Это включает в себя не только ваши данные CRM, но и ваши метаданные. Это стало еще более важным, поскольку в прошлом году Salesforce объявила, что больше не будет предоставлять услуги по восстановлению данных. Давайте посмотрим, как работают эти инструменты…

Резервное копирование данных. Существует множество способов резервного копирования данных в Salesforce, но использование специализированных приложений значительно упрощает управление. Вместо того, чтобы пытаться жонглировать различными скачанными вами файлами CSV, инструменты резервного копирования Salesforce предоставляют пользовательский интерфейс, позволяющий восстанавливать данные в любой момент времени.

Это важно в мире Salesforce DevOps, так что вы можете быть уверены, что данные всегда можно восстановить в случае сомнительного развертывания.

Резервное копирование метаданных. Резервное копирование данных важно не только для жизненного цикла DevOps, но и для резервного копирования метаданных. Представьте себе перезапись сложного триггера Flow или Apex только для того, чтобы узнать, что резервной копии нет. Резервное копирование метаданных делает цикл DevOps менее рискованным, поскольку всегда возможен откат.

Инструменты, которые можно проверить в этом пространстве, включают Spanning Backup, Gearset и OwnBackup.

Инструменты автоматизации тестирования

Модульные тесты и достижение 75-процентного охвата кода — отличный способ обеспечить безопасность ваших развертываний, но как насчет выполнения тестов, чтобы убедиться, что взаимодействие с пользователем и бизнес-процессы работают должным образом? Здесь может помочь автоматизация тестирования.

Инструменты, работающие в области автоматизации тестирования, могут запускать тесты по расписанию, гарантируя, что любые процессы, встроенные в Salesforce, такие как квалификация потенциального клиента, продвижение возможности или закрытие обращения, будут работать независимо от того, какие изменения вы вносите в процесс. система. В дополнение к запуску всех модульных тестов в организации, чтобы убедиться, что классы Apex не начали выходить из строя.

Инструменты сканирования кода

Мы уже рассмотрели три основные области мира Salesforce DevOps, и если вы усвоите их, вы можете быть уверены в более плавных выпусках. Однако, как известно любому хорошему разработчику, написание кода Apex не совсем просто. Даже если вы знаете, как писать Apex, хорошие разработчики будут отделяться друг от друга, обеспечивая соблюдение передовых методов и стандартов для создания чистого, масштабируемого кода с минимальным техническим долгом.

Инструменты сканирования кода помогают группам разработчиков автоматизировать ручной процесс проверки кода и конфигурации Salesforce. Это гарантирует, что все члены команды следуют одному и тому же набору стандартов кода, лучших практик, и в целом организация Salesforce выглядит здоровой.

DX-продажи

Хотя все упомянутые выше приложения являются платными из экосистемы Salesforce, важно также упомянуть бесплатные инструменты, доступные в Salesforce в рамках программы Developer Experience.

В настоящее время Salesforce DX предлагает несколько различных функций в пространстве DevOps. Хотя эти функции упрощают DevOps, сами по себе они не являются DevOps. Вот почему многие инструменты, упомянутые в предыдущем разделе, строят и включают эти функции в свои технологии.

Расширения Salesforce для VS Code. Salesforce недавно анонсировала надежное расширение для Visual Studio Code. Это позволяет вам подключить ваши организации разработки к интуитивно понятному редактору кода.

CLI Salesforce DX. Ключевой частью Salesforce Developer Experience является мощный интерфейс командной строки (CLI). В интерфейсе командной строки Salesforce есть команды для перемещения метаданных между организациями и создания временных организаций.

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

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