Как не потерять своё приложение, если все зарубежные поставщики уйдут, а App Store перестанет работать
Мини-кейс приложения для инвестиций FinamTrade.
Материал подготовлен при поддержке «Финама»
В январе 2022 года из-за нарастающего политического напряжения команда FinamTrade, приложения «Финама» — крупного российского брокера, начала всерьёз задумываться о дополнительной подстраховке своих сервисов и полном переносе их на отечественную инфраструктуру. Но если в начале года казалось, что этот переезд — проект на несколько месяцев, то в феврале стало ясно: дело срочное.
В итоге ИТ-команда нашла нового поставщика и переехала на его платформу всего за две недели. Притом — совершенно незаметно для пользователей. Теперь приложение спокойно выдерживает больше 100 тысяч клиентов в онлайне и не зависит от иностранных поставщиков ИТ-сервисов. Валерий Бакушин, руководитель отдела разработки мобильных приложений «Финама», и Сергей Загарский, ИТ-директор компании, рассказали, что пришлось для этого сделать.
мобильных приложений ФГ «Финам»
Что было не так
До февраля 2022 года торговое приложение FinamTrade работало с опорой на иностранные ИТ-сервисы — например, использовало облачные технологии компаний из США (Amazon Web Services (AWS), Google Firebase). Не потому, что всё иностранное априори лучше. Просто потому, что на ИТ-рынке так было заведено, а зарубежные технологии уже были обкатаны и по ним имелись эксперты.
На протяжении нескольких лет FinamTrade также полагался на CDN — систему географически распределённого хранения различных статических объектов. Там брокер складировал веб-приложения и их компоненты, а также другие мелкие, но важные для функционирования элементы — графические части интерфейса и даже иконки эмитентов ценных бумаг, которые должны были загружаться вместе с запуском страниц приложения. Серверы, на которых хранились копии этих данных, раскиданы по всему миру. Система определяла наиболее близкий к пользователю облачный узел и выгружала данные оттуда (чем ближе узел, тем быстрее прогрузка нужных пользователю данных). Когда команда выбирала поставщиков облачных решений, российских аналогов с приемлемым уровнем сервиса на рынке не было.
Зачем вообще что-то менять
В конце января 2022 года команда приложения окончательно осознала: размещать функциональные узлы приложений, пускай и не критически важные, у одного зарубежного поставщика — риск. В мире уже тогда нарастало геополитическое напряжение, а значит, иностранные партнёры в теории могли отказаться от сотрудничества с брокером в любой момент.
После 24 февраля нарастающее напряжение переросло в продолжительную проверку российской финансовой системы на прочность. Власти западных стран вводили санкции против российских компаний и их основателей, зарубежные платформы и корпорации приостанавливали поддержку российских партнёров и клиентов, а поставщики операционных систем удаляли подсанкционные российские приложения (в том числе банковские) из мобильных магазинов.
Все персональные данные пользователей FinamTrade и самого брокера — то есть ключевая часть сервиса — всегда хранились в российских дата-центрах в разных регионах страны. В случае чего они бы не пострадали. Но отключение от зарубежных облаков подкосило бы работу всего приложения:
- В лучшем случае — «полетели» бы вспомогательные функции приложения: например, перестал бы работать календарь и новостной раздел, а фоны, картинки и иконки перестали бы отображаться, но торговля по-прежнему бы работала.
- В худшем — могло отказать всё приложение целиком: котировки бы остановились, клиентские портфели бы не загружались, и нельзя было бы выставить заявку. Другой вариант — приложение показывало бы «вечную» загрузку при попытке входа в систему.
В теории, останься компания без зарубежных серверов, «оживить» приложение — задача реальная, хоть и требующая времени. Подыскав российского поставщика инфраструктуры, сервис бы переехал. Вот только для этого клиентам пришлось бы скачивать обновление, а App Store мог в любой момент удалить FinamTrade из магазина и лишить клиентов возможности обновиться.
«Костыльные» способы установить программу в обход экосистемы Apple есть, но они слишком сложные и доступны 1% самых технически подкованных клиентов.
В FinamTrade тем временем ежедневно заходили 100 тысяч уникальных пользователей, среди которых были и новички.
Чтобы заранее обезопасить клиентов и бизнес, компания решила сразу перенести в Россию абсолютно все свои сервисы. Тогда, если отвалится зарубежная «нога», без перебоев могла бы работать усиленная российская.
Как брокер выбирал облачного вендора
К 2022 году на рынке появилось несколько отечественных облачных поставщиков. ИТ-департамент (и разработчики, и бизнес-аналитики, и специалисты по кибербезопасности) анализировали их по трём критериям, говорит Сергей Загарский, ИТ-директор «Финама»:
- Сколько у них точек расположения — узлов подключения по всей стране.
- Поддерживают ли они ключевые для CDN-решений элементы — устанавливающий подлинность сайтов сертификат SSL, протоколы для маршрутизации IPv6, файлы php-2, интерфейсы REST API, а также возможности работы с логинами и аналитикой.
- Какая у них репутация в России.
«Мы выбрали Yandex.Cloud. „Яндекс“ как поставщик ИТ-сервисов в России очень авторитетный, к тому же мы не видим ему хорошей альтернативы. Учитывая, что площадка предоставляет сразу все необходимые сервисы и решения, долго с выбором мучиться не пришлось», — объясняет Валерий Бакушин.
Выбрав поставщика, FinamTrade завёл на новой платформе аккаунт и перенёс на него все необходимые данные. Позже протестировал работоспособность новой инфраструктуры на части клиентов, а затем выпустил обновления приложений, которые могли использовать новые сервисы.
С тестированием и релизом проблем не было: компания постоянно развёртывает новые сервисы и работает сразу в трёх глобальных направлениях (на американском, европейском и российском рынках). Так что параллельно с перевыпуском приложения FinamTrade даже смог добавить в релиз новые функции, например аналитику по клиентскому портфелю.
Мы знаем, что часть новичков пришла к нам вынужденно. Но хотим, чтобы все они воспринимали нас как основного партнёра для инвестиций, а не временное убежище. Поэтому сейчас особо внимательно изучаем обратную связь, выявляем потребности клиентов и навёрстываем то, что давно хотели сделать, но постоянно откладывали.
Раньше FinamTrade развивал в основном функции для торговли (расширял количество торговых инструментов, типов торговых заявок и их параметров, совершенствовал теханализ и индикаторы). А теперь собирается и совершенствовать и обёртку — чтобы она по крайней мере не уступала той, что есть у зарубежных конкурентов, и тому, каким привык видеть брокерское приложение массовый частный инвестор.
На выбор поставщика и переезд ушло всего две недели, а пользователи его даже не заметили: визуально для них ничего не изменилось. Система по-прежнему может подключаться к иностранным узлам (они пока работают), но преимущество отдаёт российским. Благодаря этому, сервису не страшны санкции вендора, а некоторые функции и веб-приложения стали работать даже быстрее.
Переезд не поможет, если пользователи сразу не скачают обновление
Переход на российскую инфраструктуру в кризис — вызов ещё и потому, что пользователей нужно убедить обновиться. «Обновляют приложение, как правило, далеко не все: у одних не хватает памяти на телефоне или времени, другие игнорируют обновления принципиально, — всегда остаётся „хвост“ из пользователей со старыми версиями. Но в этот раз мы сумели перевести на новую версию сразу 95% аудитории — благодаря комплексному подходу. Мы вешали просьбы обновиться прямо в приложениях активнее, чем обычно рассылали уведомления и письма, а также подключили к работе менеджеров, которые объясняли клиентам суть обновления напрямую», — рассказывает Валерий Бакушин.
Конечно, и без App Store новые пользователи смогут пользоваться FinamTrade — через веб-версию с компьютера. Но постоянным пользователям делать это не придётся: уже установленное и обновлённое приложение будет работать даже при отключении иностранного облака или App Store. А обладатели телефонов на Android (их вдвое больше) смогут скачать приложение через российский магазин RuStore, даже если FinamTrade удалят из AppGallery и Google Play.
Переезд не поможет, если приложение не справляется с притоком клиентов
Сервис может «лечь» не только из-за отключения от дата-центров. Но и из-за наплыва пользователей, которые в марте и апреле вынуждено искали замену подсанкционным брокерам. FinamTrade был готов к резкому притоку клиентов.
После 2020 года, когда приложение отказывало уже при 50 тысячах пользователей одновременно, сервис стал наращивать мощности. Теперь брокер спокойно выдерживает свыше 100 тысяч клиентов в онлайне.
Впрочем, 100 тысяч — не предел, особенно когда банки под санкциями, торги на бирже закрыты, а котировки при этом обвалились. Разработчики FinamTrade предполагали, что на возобновлении торгов одни пользователи поспешат купить «голубые фишки» с дисконтом, когда биржа закрылась с 50%-м обвалом цен. Вторые будут ликвидировать кредитное плечо — чтобы не платить лишние комиссии в кризис. А третьи запаникуют и поспешат сбыть акции — так же, как «на всякий случай» снимали наличку из банкоматов.
Пока торги были остановлены, команда готовилась к их открытию. Например, «передала» своим основным сервисам мощности тех систем, которые либо не работали для клиента, либо потребляли неоправданно много ресурсов. в частности, это слишком мощные тестовые и служебные сервисы, с помощью которых разработчики создают и испытывают новые функции. А ещё команда освободила место от старых сервисов, которые остались от неиспользуемых приложений. Острой необходимости в этом раньше не было, да и делать это всегда страшно — вдруг что отвалится. Но в кризис пришлось рискнуть.