Salesforce — не только CRM. Возможности платформы и примеры проектов

Всем привет! Меня зовут Ник, я технический архитектор в компании Customertimes. Последние пару лет я занимаюсь разработкой решений на базе Salesforce — жутко популярной CRM. Почему Salesforce? Все просто — с ней интересно работать. До этого мне посчастливилось много лет работать с узкоспециализированной легаси платформой, которая не давала расправить крылья, а ее пользователей можно было пересчитать... ну не по пальцам, но их было немного. С Salesforce я был вскользь знаком после разговоров о ее интеграции с нашей системой. Когда предложили вакансию, первым делом я поигрался с местной базой данных туториалов (то, что там есть ачивки, скрасило процесс), а по итогу решил, что эта штука довольно многогранная и скучно с ней не будет. До сих пор я придерживаюсь этого мнения.

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

Что такое Salesforce и с чем ее едят

Salesforce известна многим как CRM система. Что и логично: «Sales» — это часть названия, платформа занимает львиную долю (19%) рынка CRM и ей пользуются тысячи компаний — от малого и среднего бизнеса до таких гигантов, как Disney, Toyota и Cisco.



Источник: Salesforce

Но это только вершина айсберга. Хоть Salesforce и начинали как облачную CRM, следуя тактике агрессивного выкупа сервисов и стартапов, она превратилась в нечто больше — в облачную платформу. Вот лишь несколько сервисов, принадлежащих компании:

  • Heroku — любимая многими платформа для микросервисов;
  • ExactTarget (теперь Salesforce Marketing Cloud) — часть платформы, заведующая решениями для маркетинга:
  • Demandware (теперь Salesforce Commerce Cloud) — B2C и B2B решения;
  • MuleSoft — универсальная шина, которая позволяет интегрировать эти сервисы вместе;
  • Quip — сервис для совместного редактирования документов;
  • Tableau — софт для визуализации данных;
  • Health Cloud — решения для медицины;
  • Einstein AI;
  • IoT;
  • И еще много, много всего...



Источник: Wikipedia

Все эти сервисы регулярно обновляются и интегрируются друг с другом, что делает Salesforce ближе по бизнес-модели к AWS. После последнего приобретения компании — покупки Slack (всего-то за $28 миллиардов) — ходят слухи о конкуренции с Microsoft.

На данный момент Salesforce имеет четыре базовых продукта:

  • Sales
  • Service
  • Marketing
  • Commerce

Имена говорят сами за себя (кроме Service — это техническая поддержка и сервисные центры). Также есть несколько более специфических продуктов, а полный их комплект называется Customer 360:



Источник: Salesforce

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

В добавок к стандартному функционалу настроек и инструментов, для кастомизации этой мириады сервисов разработчикам доступны Lightning Platform (front-end фреймворк наподобие Angular/React), Apex (аналог Java — т.е. настоящее ООП тут есть), SOQL (аналог SQL) и пачка API для разных задач. Ну а удачные решения можно выложить на AppExchange, местный marketplace.

Чем это полезно бизнесу?

Ну, во-первых, это красиво:



Источник: Salesforce

Те, кто общается с представителями бизнеса, знают, как важны для них красивый интерфейс, графики и прочие прелести. Salesforce это тоже знает:



Источник: Salesforce

Более того, всю эту красоту вынесли в отдельный фреймворк для верстки — Salesforce Lightning Design System aka SLDS (GitHub). Такие красивые компоненты проще продавать конечному пользователю. А мне, как архитектору, проще уговорить клиента использовать стандартный компонент и не изобретать велосипед.

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

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

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

Чем это полезно ИТ-специалисту?

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

В целом, в большинстве проектов можно выделить несколько базовых составляющих:

  • Разработка новых компонент в добавок к стандартным;
  • Автоматизация бизнес-процессов;
  • Разработка шаблонов email сообщений;
  • Интеграция с другими сервисами;
  • Настройка отчетов и графиков;
  • Настройка уровней доступов;
  • Настройка страниц с информацией из системы;
  • Настройка и разработка специальных сайтов для конечных пользователей (не пользователей CRM).

Независимо от размера проекта, особенности облачной архитектуры не заставляют скучать. Salesforce — это multi-tenant платформа, где ресурсы одного сервера разделены на несколько клиентов. Чтобы избежать проблем с производительностью и ресурсами, пользователи должны держать свои разработки в определенных рамках. Для прозрачности эти ограничения вшиты как в админскую часть (например, количество таблиц или полей), так и в сами языки платформы — упомянутые выше Apex и SOQL. Конечно, в разных версиях (не путать с продуктами) лимиты разные: чем выше — тем дороже.

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

Salesforce часто используется как хаб — связующее звено между несколькими микро (и не очень) сервисами, обычно с помощью шины Mulesoft или BridgeConnector.

Роли

На проектах нужны разные люди, с различными умениями и опытом. Salesforce выделяет следующие виды специализации:

  • Администраторы — те, кто занимается настройкой системы без кода. Иногда нужно иметь дело со штатным админом заказчика и разбираться, что он наконфигурировал;
  • Разработчики — собственно программисты (которых разделяют на несколько уровней);
  • Архитекторы — верхняя ступенька технологического роста в Salesforce;
  • Консультанты — связующее звено между заказчиком и разработчиками, отвечает за анализ и оптимизацию бизнес-процессов, настройку платформы (разделяются на несколько подкатегорий в зависимости от типа продукта);
  • Маркетологи — редкая птица, помогают с настройкой маркетинг-платформы.

Обучение

Тестовая версия платформы доступна любому желающему бесплатно. Для всех, кто хочет учиться, был создан бесплатный ресурс — Trailhead. Как правило, его хватает, чтобы разобраться в большинстве функций платформы. Что интересно — там есть не только теория, но и практические задания, что помогает набить руку новичку.

При желании каждый специалист может получить сертификат. В целом они делятся на те же категории, что и роли, но каждая категория имеет свои специализации и ранги. Некоторые сертификаты требуют выполнения определенных проектов Trailhead и/или другие сертификаты. Квест архитектора выглядит вот так (снизу вверх):



Источник: Salesforce

Защита сертификата проходит в одном из авторизованных центров или на дому (при наличии веб-камеры). Цены ниже привычных, но зависят от сертификата. Если же собирать полный комплект, то это приличное вложение времени на подготовку и денежных средств. Окупается? Да — многие заказчики требуют наличие сертификата. Это не так страшно, если вы работаете с консалтинговой конторой (как правило, они компенсируют расходы), но фрилансерам они просто необходимы — хотя бы базовые Администратор, Девелопер 1 и Девелопер 2.

Как правило, на проектах есть и админы, и разработчики, которые работают в команде, но и фрилансеров тоже полно. Кому как комфортнее работать. В целом, специалистов в этой сфере не так много, поэтому лица быстро становятся знакомыми. Что приятно — люди охотно друг другу помогают и советом, и делом.

Все ли так радужно?

Хотелось бы, но нет. Как я уже писал, система довольно сложная и глубоко разобраться со всем функционалом невозможно. Даже для того, чтобы понимать, где искать нужную информацию, понадобится не один месяц. К тому же информация о системе доступна в основном только из официальных источников (Trailhead, Developer Guide). Поскольку количество специалистов небольшое, полезных книг на эту тему примерно три, а большая часть блогов устарела. Как по мне, пока что самый рабочий способ — это достать вопросами знающего коллегу (тут довольно полезными бывают митапы и вебинары).

С точки зрения разработки тоже не все так гладко — те же Apex и Lightning, если проводить параллели с Java и React/Angular, кажутся устаревшими на их фоне, а ограничения, зашитые в платформу, не всегда очевидны. Всё приходит с опытом, и хоть некоторые моменты до сих пор удивляют, для любых проблем всегда находятся решения. А в процессе поиска часто открываешь что-то новое и полезное.

Примеры проектов

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

Проект А

Большой проект для крупной компании. Проект все еще жив, развивается третий год. Деталей предоставить не могу, так как подписан договор о неразглашении, но масштабы оценить можно.

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

При этом можно выделить такой момент — CRM там и не пахло, прям совсем. Зачем тогда CRM платформа? Тут имели значение отмеченные выше плюсы:

  • Компания хотела продавать свое решение третьим лицам в виде пакета.
  • Платформа Salesforce была связующим звеном между старой системой и новыми сервисами.
  • Для интеграции был очень полезен Mulesoft.
  • Lightning Design System использовался для создания пользовательского интерфейса.
  • Различные инструменты для автоматизации позволили избавиться от Excel.

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

Salesforce позволяет создавать надстройки над пакетами (extension packages), эту функцию решили утилизировать по полной и разбили монолитный пакет на 4 части:



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

На верхнем уровне система имела такую конфигурацию:



Итог для бизнеса? Спустя полтора года — сокращение процесса обработки медицинских данных с шести месяцев до одного. Случай, может и крайний — старая система была очень неэффективна — но в фармакологии такое встречается часто. Проект все еще в разработке, думаю, это не предел. Помнится, в будущем планировалось добавить в систему AI и machine learning. Не буду говорить, сколько стоит новая система, но уверен, что она покроет любые расходы на разработку и поддержку, еще и на пенсию начальству останется.

Я же радуюсь полученному опыту. Не всегда есть возможность работы в большой Enterprise системе — 20 функциональных команд, разбросанных по всему земному шару. Было у кого поучиться и, надеюсь, было кого поучить. К тому же хоть и занимался я Salesforce, но, благодаря всем интеграциям, получил рабочее знание нескольких новых для меня систем и сервисов.

Проект Б

Маленький проект для среднего бизнеса из Кентукки. Тут все было по-другому. Общение велось напрямую с начальством и одиноким админом их системы. Никаких тебе Product Owner-ов и жестких процессов. Все решалось единственной функциональной командой. Естественно, размахнуться было негде — код никто не писал, и ограничились мы стандартным функционалом.

Список требований похож на описанный выше: настроить уровни доступа и сайт для конечных пользователей. С архитектурной точки зрения самым сложным было добавления нового продукта — Health Cloud, что понесло за собой приличные (и опасные) изменения в модели данных. Всего на это было выделено 2 месяца, хотя по завершению все остались довольны и клиент захотел добавки.

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

Итого

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

Дополнительные ресурсы

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось18
До обраногоВ обраному11
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

В свое время когда я занимался форсом Апекс мне показался наихудшим языком.На тот момент все было очень сложно организовано внутри и нелогично.Сразу бросалось в глаза что делали разработчики с другим менталитетом.И если это все как говорит автор еще и развивается то можно предположить какой там ад сейчас.Этой системе надо обучать.Просто так ее использовать не получится.Это все «другое».

Круто! Дякую за разворот) було цікаво подивитися на платформу і з такого боку. Одними з перших придбали рішення в Україні, й це стало революційним кроком. Софт дуже допомагає автоматизувати бізнес процеси.

Круто! Одними з перших придбали СФ в Україні, й це було революційним рішенням. Дуже сильна платформа для автоматизації процесів.

вот каждый раз когда вижу посты про salesforce думаю неужели кто на этой платформе вообще начинает свою карьеру?

Да, тут хватает молодых ребят. Им даже нравится ;)

Дякую за статтю, дуже цікаво!

1С Предприятие Американ эдишн

Прекрасний (напевно) інструмент для біснесу й страшна жопа для розробників (станом на 2016й доводилося працювати, неприємно згадувати).

16й год был давно :) С тех пор было очень много изменений. В частности, инструментарий для разработчиков за пару дет прилично изменился в лучшую сторону.

Апекс код все еще пишется через плагин к эклипсу или стало лучше с этим ?

Теперь есть плагин IntelliJ IDEA, очень качественный, но неофициальный и платный. Сам СФ выкатил набор плагинов для VS Code, и очень мощный CLI инструмент. Даже человеческий CI/CD и версионность сделали.

Підписатись на коментарі