Пять лет назад рынок backend-as-a-service (BaaS) был достаточно небольшим. Сегодня он оценивается 1,32 млрд долларов и ожидается, что эта цифра вырастет до 28 млрд к 2020 году. В этом материале мы посмотрим, зачем нужен BaaS и рассмотрим принципы работы BaaS-провайдера на конкретном примере.
/ фото CommScope CC
Сегодня, используя BaaS, разработчики способны быстро построить необходимый бэкенд и платформу для обработки данных, поступающих из мобильных приложений. BaaS-функции включают в себя облачное хранилище, push-уведомления, управление пользователями и файлами, службы определения местоположения и др. Все эти сервисы имеют собственный API, что позволяет им легко встраиваться в приложения.
По сути, BaaS решает три задачи разработчиков. Первая из них – это скорость развития. Для каждого проекта необходимо определить ключевой набор функций продукта и используемых технологий, с помощью которых проект будет реализован. Backend-as-a-Service решает эти задачи, отвечая на вопрос: «Как дойти до следующей итерации быстро, дешево и с минимальными рисками».
Вторая задача, которую решает BaaS – это равномерность. В этом случае задачи мультиплатформенности смещаются с фронтенда на бэкенд, что дает возможность делать приложения для разных операционных систем с одинаковой «начинкой под капотом» и не путаться в их особенностях.
Третья – это охват. Если ваш стартап построен на определенной идее с высокой виральностью, BaaS поможет с такими вещами, как интеграция с социальными сетями и облачными хранилищами.
Реальный кейс
BaaS-платформами пользуется множество разработчиков игр, социальных и корпоративных приложений. Ранее флагманом движения BaaS считалась компания Parse. Она была основана в 2011 году и предоставляла решение для удаленной работы с данными (обработка и хранение), которое упрощало написание серверной бизнес-логики на JS.
Однако в 2016 году Facebook купили стартап и прекратили обслуживание клиентов через год. Это событие совпало во времени с разработкой отечественной BaaS-платформы Scorocode от Prof-IT Ventures. Факт того, что рынку требовалось новое бэкенд-решение, подкреплялся результатами проведенного анализа. Согласно статистике, ежедневно в мире появляется порядка двух тысяч мобильных приложений: реализуются свежие проекты, новые идеи, число разработчиков увеличивается на 20–30% каждый год.
Scorocode – это облачная backend-платформа, которая использует принцип кластеризации с разделением по типам – API, системы управления базами данных, файлы, статистика – и упрощает разработку мобильных, настольных и веб-приложений. Каждый кластер API, работающий с конечными приложениями, способен выдержать нагрузку до 25 тысяч запросов в секунду.
Бэкенд-платформа Scorocode работает следующим образом: приложения обращаются к DNS round robin, которая распределяет запросы по кластерам. Далее, кластерный API распределяет их на СУБД, обеспечивая связь «многие ко многим». Отметим, что основной СУБД, используемой в Scorocode, является MongoDB, а также компания использует Redis, сервер очередей под RabbitMQ и высокопроизводительный API на Go.
«Google активно развивает язык Go, писать на нем комфортно, код получается компактным, а производительность держится на уровне С++, – отмечают сотрудники Prof-IT Ventures. – Множественные микросервисы платформы тоже разработаны на Go».
Реализуя проект Scorocode, компания хотела найти надежного
«Поскольку сложно сразу оценить требуемые для эксплуатации ресурсы, архитектура решения неоднократно корректировалась. Все это время (около двух месяцев) «ИТ-ГРАД» позволил нам работать бесплатно, оперативно выделяя необходимые под проект мощности», – рассказывает Ара Исраелян, директор по разработке программного обеспечения Prof-IT Ventures.
В целях компании Prof-IT Ventures числилось долгосрочное развитие платформы и поддержка приложений на протяжении всего их жизненного цикла: сюда входила быстрая разработка бэкенда и прототипирование фронтенд-приложений любых масштабов.
Сегодня Scorocode предоставляет готовый набор функций из облака «ИТ-ГРАД», которые уменьшают время на разработку приложений путем облегчения выполнения рутинных задач разработчиком, куда входят такие вещи, как авторизация, восстановление паролей, сохранение и управление данными пользователей, моделирование, реализация уведомлений (push, email, SMS), а также понятные системы аналитики.
P.S. Вот еще несколько материалов из нашего блога:
- Yota Devices: как облака в моделях IaaS и SaaS помогают разработчику YotaPhone
- Первая российская BaaS-платформа Scorocode разместилась в IaaS-облаке «ИТ-ГРАД»
- X-as-a-services: как не погрязнуть в аббревиатурах облачных услуг
Автор: ИТ-ГРАД