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

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

Всем привет! Меня зовут Ник, я технический архитектор в компании 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 развивается и становится интересным все большему количеству заказчиков, а разнообразие проектов и функционала позволяет каждому найти свою нишу.

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

👍ПодобаєтьсяСподобалось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 и версионность сделали.

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