Не так давно в нашем блоге мы делились историей экстренной миграции инфраструктуры клиента. Однако бывают ситуации, когда компании не нужно ниоткуда мигрировать — она сразу приходит «жить» в облако без опыта использования on-premise за плечами. Так было с BelkaCar — стартап сразу развернул сервисы в нашем публичном облаке. Обсудим, насколько верным было это решение и как компания планирует развивать свою инфраструктуру.
Сегодня BelkaCar — один из крупнейших сервисов каршеринга в России и входит в десятку крупнейших каршеринговых компаний в мире. BelkaCar работает в Москве и Краснодарском крае, а общее количество пользователей превысило 2 миллиона, причем около 700-750 тысяч из них пользуются сервисом ежемесячно.
Но это сейчас. Когда каршеринг только обратился к нам 5 лет назад с намерением арендовать облачные ресурсы, это был типичный стартап, не связанный ни с одним крупным проектом. Как и любому такому стартапу, BelkaCar пришлось некоторое время существовать в условиях непредсказуемости и неопределенности. Выстрелит ли он, а если выстрелит, то когда, — было неизвестно.
Но даже в такой ситуации нужно иметь в виду, что в один прекрасный день количество пользователей и спрос на услуги может измениться. Бизнес точно обрадуется, а ИТ-директор и технические специалисты должны быть уверены, что вычислительные ресурсы смогут выдержать кратно возросшую нагрузку. Поэтому BelkaCar сразу выбрала облако: IaaS позволяет быстро масштабироваться (как минимум горизонтально), не резервировать дополнительные мощности и, что принципиально важно для стартапа, не увеличивать CAPEX, работая только с оптимальными OPEX-расходами.
Определившись с провайдером, BelkaCar арендовала в облаке пару десятков виртуальных машин. Были запущены первые сервисы, обеспечивающие основной функционал работы каршеринга — сервисы взаимодействия с автомобилями (телематика), сервисы управления пользователями, поездками, тарифами, биллинговый сервис, базовые внутренние административные сервисы для управления автопарком.
С тех пор прошло уже 5 лет. Количество пользователей выросло с нескольких сотен почти до двух миллионов, а виртуальные машины стали исчисляться сотнями.
Как бы просто ни выглядела работа сервиса для пользователя, на самом деле каршеринг достаточно сложно устроен как организационно, так и технологически.
Сейчас инфраструктура стартапа, объединенная в единую каршеринговую платформу, состоит из большого количества сервисов:
Кроме этого в 2021 году начали активно развиваться новые бизнес-направления. Была запущена платформа подписок на автомобили, запущены первые построенные на ней сервисы по подписке на автомобили ŠKODA и AUDI.
Чтобы обеспечить необходимый уровень надежности и производительности работы сервисов, компания использует более 700 виртуальных машин для prod, stage и test-сред. Суммарный объем потребляемых ресурсов колеблется на уровне 3000 vCPU, 3 Tb RAM и 300 Tb хранилища.
Инфраструктура каршеринга существует в непрерывно высоконагруженном состоянии. Пиковые нагрузки превышают 4000-5000 запросов в секунду. Основной вклад в профиль нагрузки дает сервис телематики, который связывает серверы непосредственно с автомобилями. Именно он отвечает за то, чтобы пользователи смогли арендовать машину в автоматическом режиме — открыть/закрыть её, запустить/заглушить двигатель, удаленно прогреть салон. Также сервис получает от автомобиля большое количество информации о координатах автомобиля на карте, состоянии его узлов, возникновении ситуаций, типичных для ДТП, а также о поведении пользователя за рулем и стиле его вождения.
Гибкое и оперативное масштабирование
Периодически BelkaCar, как и любая другая компания, сталкивается с пиковыми нагрузками на инфраструктуру во время маркетинговых активностей. Например, конверсия массовых push-рассылок в открытие приложения иногда достигает 20%, и тогда нагрузка на отдельные критические сервисы может ненадолго превысить типичную в 4-5 раз. Кратковременное увеличение ресурсов на виртуальных машинах конкретных сервисов помогает пережить такие ситуации без падений и серьезных замедлений работы функционала платформы.
Но бывают и обратные ситуации. В 2020 году сервисы каршеринга столкнулись с covid-запретом на работу в Москве, который продлился с 13 апреля по 25 мая. Тогда BelkaCar «свернула» облачные ресурсы почти в несколько раз, а вместе с ними упали и затраты на хостинг — это помогло пережить хоть и недолгий, но тем не менее сложный для компании период.
Машинное обучение и Data Analysis
BelkaCar активно занимается обработкой собираемых данных, в частности, по таким направлениям как:
Все эти активности требуют кратковременного выделения большого количества ресурсов, что в облаке реализовать все-таки проще, чем на своей площадке. Компания берет какое-то количество мощностей (vCPU, RAM и пр.), а когда задача выполнена, освобождает их и перестает оплачивать.
Защита персональных данных
Защита персональных данных — крайне важная и максимально приоритетная задача для компаний, обрабатывающих большие массивы ПДн.
Современное законодательство Российской Федерации изобилует нормативными актами различного уровня, которые обеспечивают регулирование этой чувствительной области. С каждым годом спектр этих актов охватывает все новые и новые области, повышается уровень требований по защищенности ИСПДн. Любая компания, обрабатывающая персональные данные россиян, должна обеспечить требования, главные из которых указаны в:
Размещение в защищенном облаке снимает огромную часть работы по приведению инфраструктуры в соответствие законодательству. Использование облачных сегментов, защищенных по требованиям 152-ФЗ и локализованных на территории Российской Федерации в соответствии с требованиями 242-ФЗ, помогает защитить данные на техническом уровне и сильно помочь в успешном прохождении проверок регуляторов.
Сертификация PCI DSS 3.2 Level 1
Каршеринг обрабатывает большое количество финансовых транзакций (более 10 миллионов в год), что приводит, в свою очередь, к необходимости проведения сертификации по требованиям стандарта PCI DSS Level 1 (при количестве транзакций более 6 млн. в год). Наличие у нас аттестата соответствия требованиям позволило BelkaCar существенно уменьшить количество подготавливаемых документов и технических мероприятий по аттестации и успешно пройти сертификацию.
Резервное копирование
Увы, нередко при выборе облачных технологий важность многоуровневого и географически распределенного резервного копирования недооценивается. Потеря данных может негативно отразиться на бизнесе.
В BelkaCar используются несколько подходов к резервному копированию:
Возможность построения гибридных решений
Компании, у которых постоянно увеличивается нагрузка на сервисы и объемы этих сервисов с точки зрения данных, в какой-то момент задумываются о создании гибридного облака.
Тут компания решила пойти по уже проверенному пути и тоже использовать провайдерские мощности. Сейчас BelkaCar совместно с нашей командой работает над построением и миграцией ресурсов в выделенное защищенное облако. При этом критические сервисы будут вынесены в эксклюзивные облачные ресурсы, параллельно с которыми будут использоваться расширяемые ресурсы публичного облака. Такая архитектура, с одной стороны, гарантирует изоляцию от других потребителей и позволяет быть уверенным в контроле над основными ресурсами этого сегмента, а с другой — дает возможность использования дополнительных мощностей в случаях, когда в них появляется необходимость.
Сегодня BelkaCar — один из крупнейших сервисов каршеринга в России и входит в десятку крупнейших каршеринговых компаний в мире. BelkaCar работает в Москве и Краснодарском крае, а общее количество пользователей превысило 2 миллиона, причем около 700-750 тысяч из них пользуются сервисом ежемесячно.
Но это сейчас. Когда каршеринг только обратился к нам 5 лет назад с намерением арендовать облачные ресурсы, это был типичный стартап, не связанный ни с одним крупным проектом. Как и любому такому стартапу, BelkaCar пришлось некоторое время существовать в условиях непредсказуемости и неопределенности. Выстрелит ли он, а если выстрелит, то когда, — было неизвестно.
Но даже в такой ситуации нужно иметь в виду, что в один прекрасный день количество пользователей и спрос на услуги может измениться. Бизнес точно обрадуется, а ИТ-директор и технические специалисты должны быть уверены, что вычислительные ресурсы смогут выдержать кратно возросшую нагрузку. Поэтому BelkaCar сразу выбрала облако: IaaS позволяет быстро масштабироваться (как минимум горизонтально), не резервировать дополнительные мощности и, что принципиально важно для стартапа, не увеличивать CAPEX, работая только с оптимальными OPEX-расходами.
Инфраструктура: тогда и сейчас
Определившись с провайдером, BelkaCar арендовала в облаке пару десятков виртуальных машин. Были запущены первые сервисы, обеспечивающие основной функционал работы каршеринга — сервисы взаимодействия с автомобилями (телематика), сервисы управления пользователями, поездками, тарифами, биллинговый сервис, базовые внутренние административные сервисы для управления автопарком.
С тех пор прошло уже 5 лет. Количество пользователей выросло с нескольких сотен почти до двух миллионов, а виртуальные машины стали исчисляться сотнями.
Как бы просто ни выглядела работа сервиса для пользователя, на самом деле каршеринг достаточно сложно устроен как организационно, так и технологически.
Сейчас инфраструктура стартапа, объединенная в единую каршеринговую платформу, состоит из большого количества сервисов:
- мобильные приложения для физических лиц и корпоративных клиентов;
- телематические сервисы;
- управления автопарком (техническое обслуживание и ремонт, заправки, мойки, шиномонтаж, работа с ДТП, перегоны автомобилей);
- CRM, call center и другие сервисы департамента клиентского обслуживания;
- верификации пользователей;
- взыскания задолженностей;
- динамического ценообразования;
- биллинга с сертификацией PCI DSS Level 1;
- коммуникаций с пользователями (reengagement);
- поведенческой аналитики;
- безопасного вождения;
- многочисленные интеграции с внешними сервисами.
Кроме этого в 2021 году начали активно развиваться новые бизнес-направления. Была запущена платформа подписок на автомобили, запущены первые построенные на ней сервисы по подписке на автомобили ŠKODA и AUDI.
Чтобы обеспечить необходимый уровень надежности и производительности работы сервисов, компания использует более 700 виртуальных машин для prod, stage и test-сред. Суммарный объем потребляемых ресурсов колеблется на уровне 3000 vCPU, 3 Tb RAM и 300 Tb хранилища.
Инфраструктура каршеринга существует в непрерывно высоконагруженном состоянии. Пиковые нагрузки превышают 4000-5000 запросов в секунду. Основной вклад в профиль нагрузки дает сервис телематики, который связывает серверы непосредственно с автомобилями. Именно он отвечает за то, чтобы пользователи смогли арендовать машину в автоматическом режиме — открыть/закрыть её, запустить/заглушить двигатель, удаленно прогреть салон. Также сервис получает от автомобиля большое количество информации о координатах автомобиля на карте, состоянии его узлов, возникновении ситуаций, типичных для ДТП, а также о поведении пользователя за рулем и стиле его вождения.
Где облако показывает себя с лучшей стороны
Гибкое и оперативное масштабирование
Периодически BelkaCar, как и любая другая компания, сталкивается с пиковыми нагрузками на инфраструктуру во время маркетинговых активностей. Например, конверсия массовых push-рассылок в открытие приложения иногда достигает 20%, и тогда нагрузка на отдельные критические сервисы может ненадолго превысить типичную в 4-5 раз. Кратковременное увеличение ресурсов на виртуальных машинах конкретных сервисов помогает пережить такие ситуации без падений и серьезных замедлений работы функционала платформы.
Но бывают и обратные ситуации. В 2020 году сервисы каршеринга столкнулись с covid-запретом на работу в Москве, который продлился с 13 апреля по 25 мая. Тогда BelkaCar «свернула» облачные ресурсы почти в несколько раз, а вместе с ними упали и затраты на хостинг — это помогло пережить хоть и недолгий, но тем не менее сложный для компании период.
Машинное обучение и Data Analysis
BelkaCar активно занимается обработкой собираемых данных, в частности, по таким направлениям как:
- динамическое ценообразование на основе различных факторов — загруженности автопарка в отдельных зонах, предсказаний о направлении движения пользователя, погодных факторов;
- предиктивная аналитика по состоянию узлов автомобилей в динамике их эксплуатации, в которой заинтересованы партнеры, в первую очередь производители автомобилей;
- безопасное вождение и скоринг пользователей;
- моделирование для расчета геозон старта/завершения аренды;
- аналитика по поиску и локализации fraud-активностей пользователей;
- проверка продуктовых гипотез на базе накопленных массивов данных.
Все эти активности требуют кратковременного выделения большого количества ресурсов, что в облаке реализовать все-таки проще, чем на своей площадке. Компания берет какое-то количество мощностей (vCPU, RAM и пр.), а когда задача выполнена, освобождает их и перестает оплачивать.
Защита персональных данных
Защита персональных данных — крайне важная и максимально приоритетная задача для компаний, обрабатывающих большие массивы ПДн.
Современное законодательство Российской Федерации изобилует нормативными актами различного уровня, которые обеспечивают регулирование этой чувствительной области. С каждым годом спектр этих актов охватывает все новые и новые области, повышается уровень требований по защищенности ИСПДн. Любая компания, обрабатывающая персональные данные россиян, должна обеспечить требования, главные из которых указаны в:
- федеральных законах 152-ФЗ, 242-ФЗ;
- приказе ФСТЭК №21 и их методических документах;
- постановлении Правительства Российской Федерации № 1119.
Размещение в защищенном облаке снимает огромную часть работы по приведению инфраструктуры в соответствие законодательству. Использование облачных сегментов, защищенных по требованиям 152-ФЗ и локализованных на территории Российской Федерации в соответствии с требованиями 242-ФЗ, помогает защитить данные на техническом уровне и сильно помочь в успешном прохождении проверок регуляторов.
Сертификация PCI DSS 3.2 Level 1
Каршеринг обрабатывает большое количество финансовых транзакций (более 10 миллионов в год), что приводит, в свою очередь, к необходимости проведения сертификации по требованиям стандарта PCI DSS Level 1 (при количестве транзакций более 6 млн. в год). Наличие у нас аттестата соответствия требованиям позволило BelkaCar существенно уменьшить количество подготавливаемых документов и технических мероприятий по аттестации и успешно пройти сертификацию.
Резервное копирование
Увы, нередко при выборе облачных технологий важность многоуровневого и географически распределенного резервного копирования недооценивается. Потеря данных может негативно отразиться на бизнесе.
В BelkaCar используются несколько подходов к резервному копированию:
- snapshot-бэкапы виртуальных машин с использованием Veeam Backup;
- бэкапы БД с использованием утилит БД, хранение горячего бэкапа в сторадже с быстрым доступом;
- хранение исторических бэкапов в нескольких облачных ЦОД провайдера с использованием Swift Storage позволяют решить проблемы катастрофоустойчивости.
Возможность построения гибридных решений
Компании, у которых постоянно увеличивается нагрузка на сервисы и объемы этих сервисов с точки зрения данных, в какой-то момент задумываются о создании гибридного облака.
Тут компания решила пойти по уже проверенному пути и тоже использовать провайдерские мощности. Сейчас BelkaCar совместно с нашей командой работает над построением и миграцией ресурсов в выделенное защищенное облако. При этом критические сервисы будут вынесены в эксклюзивные облачные ресурсы, параллельно с которыми будут использоваться расширяемые ресурсы публичного облака. Такая архитектура, с одной стороны, гарантирует изоляцию от других потребителей и позволяет быть уверенным в контроле над основными ресурсами этого сегмента, а с другой — дает возможность использования дополнительных мощностей в случаях, когда в них появляется необходимость.