
Firebase, Supabase и BaaS: как мы к такому пришли и что там внутри
MarkovM 7 минут назад Firebase, Supabase и BaaS: как мы к такому пришли и что там внутри 7 мин 109 Блог компании Amvera Базы данных * PostgreSQL * Искусственный интеллект Веб-разработка * Обзор Всем привет!Ранее мы...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. MarkovM 7 минут назад Firebase, Supabase и BaaS: как мы к такому пришли и что там внутри 7 мин 109 Блог компании Amvera Базы данных * PostgreSQL * Искусственный интеллект Веб-разработка * Обзор Всем привет! Ранее мы разбирались с одним конкретным примером - Supabase: как его поставить, зачем он нужен, какие есть аналоги и почему вокруг него в последнее время так много шума. Но, мне кажется, что сейчас будет правильно сделать шаг назад и поговорить не про конкретный сервис, а про весь BaaS (Backend-as-a-Service).
Как мы уже узнали из прошлой статьи, Supabase не возник сам по себе, до него был Firebase, а до Firebase были обычные самописные API, куча настроек авторизации, хранения файлов, нотификаций с вебсокетами и остального. В этой статье мы разберем, что такое BaaS, почему он вообще понадобился, чем Firebase отличается от Supabase, для каких приложений такой подход подходит, а где уже нужен собственный backend. Как мы вообще пришли к BaaSЕсли очень грубо, то классическое веб-приложение с минимум функций, требующих авторизацию, выглядело так: пользователь открывает сайт или приложение, приложение отправляет запрос на backend, backend проверяет пользователя, лезет в базу данных, что-то там считает, что-то сохраняет, а потом возвращает ответ обратно.
Технические детали
Вообще, это основная схема и сейчас, проблема немного в другом: почти в каждом MVP проекте backend начинает с одних и тех же, можно сказать душных, задач. То есть:Нужно зарегистрировать пользователя,Нужно сделать вход по почте и паролю,Нужно хранить сессии и токены,Нужно дать пользователю возможность загрузить аватарку,Нужно сделать CRUD (Create, Read, Update, Delete) для каких-то данных,Нужно настроить роли доступа,и т. , это можно продолжать бесконечно.
И тут у одних умных людей возникла мысль: а что если типовой backend не писать каждый раз заново? И мысль действительно умная, ведь уже очень давно существует один из главных принципов программирования - DRY - Don’t Repeat Yourself! Зачем повторять в каждом проекте одно и то же, если можно создать набор готовых backend-сервисов, к которым можно подключать frontend.
Так и появился подход Backend-as-a-Service, или BaaS. Если совсем коротко, то BaaS - это набор готовых backend-сервисов, к которым frontend или мобильное приложение подключаются через SDK или API. А что с безопасностью?
Отраслевые последствия
Я думаю у многих читателей, кто только-только узнает о BaaS возник очень даже логичный вопрос: а как это? Получается, что прям в коде веб-приложения, который доступен абсолютно каждому пользователю, что открыл сайт, есть код подключения BaaS со всеми секретными токенами и бизнес-логикой? Действительно, абсолютно каждый пользователь, что открыл сайт, может увидеть строку подключения того же Firebase, вместе с самым страшным: токеном.
Но, думаю было бы очень глупо, если бы этот токен был секретом. На самом деле это просто публичный идентификатор проекта в самом Firebase. Он нужен лишь для того, чтобы API Firebase знал, к какому проекту относить запросы с этого фронтенда.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.



