«Немного о платформах»: Backend-as-a-Service

от автора

Пять лет назад рынок 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. Вот еще несколько материалов из нашего блога:


ссылка на оригинал статьи https://habrahabr.ru/post/314592/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *