«Немного о платформах»: Backend-as-a-Service
/ фото 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: как не погрязнуть в аббревиатурах облачных услуг