В среде разработчиков известно: ничто не делает разработку и сопровождение кросс-платформенных мобильных и веб-приложений таким простым и предсказуемым процессом, как использование backend-as-a-service (BaaS) платформ. До недавнего времени флагманом движения BaaS считалась компания Parse, вышедшая в 2011 году на рынок с облачным бэкендом для мобильных приложений. Решение представлялось в виде услуги удаленного сервиса для хранения, обработки данных и создавало гибкие условия для написания серверной бизнес-логики средствами JavaScript.
Однако век бэкенда Parse оказался недолгим: в 2016 году Facebook покупает стартап, а с 2017 года прекращает обслуживание клиентов. Это событие совпало с началом разработки российской BaaS-платформы Scorocode, создателем которой выступила компания PROF-IT VENTURES. Был разработан сервис с возможностью предоставления пользователям базовой функциональности альтернативных платформ и большого количества новых функций. Чем примечательно решение и что послужило поводом создания первой российской BaaS-платформы, расскажем в этом кейсе.
Особенности бизнеса PROF-IT VENTURES
PROF-IT VENTURES входит в группу компаний PROF-IT GROUP и специализируется на разработке инновационного программного обеспечения: от мобильных приложений до ведомственных систем. Штат компании состоит из специалистов, обладающих сертификатами ведущих мировых корпораций в области высокотехнологичного оборудования и ПО, многие сотрудники имеют ученые степени. PROF-IT VENTURES открыта для предложений и рассматривает проекты по разработке различных инициативных групп.
От идеи до реализации российской BaaS-платформы
Идея о разработке решения родилась в начале 2015 года. Уже тогда PROF-IT VENTURES выбрала для себя направление развития BaaS. После получения инвестиций в размере 19 млн руб. от частного инвестора компания начала разработку нового сервиса. К слову сказать, ситуация с Parse породила легкую панику: около 40 тысяч разработчиков остались не у дел. Непонимание, что делать дальше, поставило в тупик целую армию специалистов. После столь ошеломляющей новости разработчикам требовалось решить вопрос миграции сервисов на другие платформы. Но ни один из альтернативных вариантов, ни одна из доступных платформ не обеспечивала автоматическую миграцию. Это означало, что для миграции с Parse требовалась ручная работа.
Ара Исраелян, директор по разработке программного обеспечения PROF-IT VENTURES»
Востребованность в новом backend-решении виделась и по результатам проведенного анализа рынка BaaS. Согласно статистике за прошлый год, каждый день в мире выпускается 2300 мобильных приложений. Учитывая тот факт, что 82% приложений ни разу не скачали с Apple Store или Google Play, напрашивается вывод: приложения производятся, но не доходят до конечного клиента. При этом приложений не становится меньше, появляются новые идеи, воплощаются в жизнь новые проекты, количество разработчиков ежегодно увеличивается на 20–30 %.
Сегодня группы разработчиков, инвесторы и другие заинтересованные лица хотят получать результаты максимально быстро, причем с минимальными финансовыми и временными затратами. На помощь профессиональным разработчикам приходят современные сервисы, способные поддерживать максимальное количество внешних связей, включая социальные сети, интеграцию с внешними приложениями, возможность реализации серверной логики (cloud code), с гибкой, прозрачной моделью тарификации и ценообразования. Решение находится в новой российской BaaS-платформе Scorocode.
Техническая начинка и принцип работы Scorocode
Scorocode – облачная backend-платформа для мобильных, веб- и десктоп-приложений. Являясь горизонтально масштабируемой системой, сервис использует принцип кластеризации с разделением по типам: API, СУБД, файлы, статистика. Каждый кластер API, работающий с конечными приложениями, выдерживает нагрузку около 25 тысяч запросов в секунду. А с ростом нагрузки количество кластеров наращивается.
Принцип работы backend-платформы Scorocode предельно прост: существующие приложения обращаются к одному round robin DNS, который дальше распределяет поступившие обращения по кластерам. Кластерный API, в свою очередь, распределяет запросы на СУБД, обеспечивая связь «многие ко многим». При этом несколько API-серверов могут обращаться к нескольким серверам СУБД, что обуславливает независимую горизонтальную масштабируемость.
Отметим, что MongoDB – основная СУБД, используемая в Scorocode. В качестве in-memory database используется Redis, а сервер очередей работает под управлением RabbitMQ. Высокопроизводительный API написан с нуля на Go, который выбрали после серии экспериментов с Node.js и С++. Как отмечают в PROF-IT VENTURES, «Google активно развивает язык Go, писать на нем комфортно, код получается компактным, а производительность держится на уровне С++. Множественные микросервисы платформы тоже разработаны на Go».
Новая BaaS-платформа использует облако IaaS
При реализации проекта Scorocode перед компанией стояла задача найти долгосрочного партнера, надежного хостинг-провайдера, способного обеспечить гарантированную отказоустойчивость облачной платформы и безопасное хранение данных на территории России. При этом стратегическая цель PROF-IT VENTURES включала в себя последующее развитие платформы и обеспечение поддержки всего жизненного цикла разработки приложений: от быстрой разработки backend до прототипирования и разработки frontend-приложений любого масштаба.
Поиск партнера, запуск облачной платформы на базе вычислительных мощностей поставщика IaaS-услуг и вывод продукта на рынок стали важными задачами компании. Качество услуг, широта предоставляемого функционала и гибкая система ценообразования выступили главными критериями при выборе поставщика. В рамках проводимого конкурса «ИТ-ГРАД» одержал победу.
Ара Исраелян, директор по разработке программного обеспечения PROF-IT VENTURES»
Сегодня из облака «ИТ-ГРАД» Scorocode предоставляет готовый набор возможностей и серверной функциональности, сокращающих время разработки приложений и облегчающих разработчику решение рутинных задач:
- Регистрация, авторизация, восстановление пароля и сохранение данных пользователей.
- Моделирование и управление данными: создание коллекций, добавление документов и управление доступом к данным.
- Подключение PUSH-, e-mail- и SMS-уведомлений.
- Обеспечение безопасности хранения данных.
- Прозрачная аналитика нагрузки на приложения.
- Возможность совместной разработки приложения.
- Редактор JavaScript-кода для реализации уникальной функциональности приложений – аналог cloud code.
- Подробная документация iOS SDK, Android SDK, JavaScript SDK и обучающие примеры на русском языке.
Евгений Сударкин, генеральный директор PROF-IT GROUP
Используя «backend как сервис», предоставляемый PROF-IT VENTURES, разработчики получают облачную платформу с бесплатным тарифом, документацию по использованию платформы и SDK на русском языке. Последний пункт тоже немаловажен. Несмотря на утверждение, что без умения читать техническую документацию на английском языке практически невозможно разрабатывать приложения, многие согласятся, что такие области, как tutorial-курсы, хотелось бы видеть на русском языке. Это как минимум упрощает восприятие новой информации и минимизирует ошибки, которые зачастую допускают начинающие разработчики.
Заключение
Несмотря на недавний запуск проекта Scorocode, PROF-IT VENTURES уже сегодня ставит перед собой амбициозные цели. В ближайшее время компания планирует реализовать интеграцию с партнерскими облачными сервисами для расширения методов обработки данных, хранящихся в Scorocode; обеспечить поддержку полного цикла разработки – от backend до frontend, запустить фабрику интеллектуальных чат-ботов. Полагаясь на стратегического партнера «ИТ-ГРАД», обеспечивающего высокую надежность облачной площадки в модели IaaS, PROF-IT VENTURES уже сегодня предлагает клиентам качественный и надежный BaaS-сервис, аналогов которому нет в России.