Золотой бэк-енд: как сэкономить и не убить качество приложения

бэкенд_фб

Хороший бэк-енд — достаточно дорого. Мы предлагаем вам выбрать 1 из 4 способов сэкономить на этом важном процессе без потерь в качестве. И совершенно не важно, есть ли у вас своя IT-команда, лайфхак найдётся для всех.

Как и всегда, есть два стула: фронт-енд и бэк-енд.
Первый отвечает за ту часть приложения, которую видят все.
Второй — за ту, что видит только разработчик, а также за базы данных.

cool-button-animation-00-lines-f-code-back-end-vs-front-end-42197444

Нужна ли вам разработка бэк-енда? Если вы не планировали будильник, какой-нибудь простенький калькулятор, фото-редактор и (или) что-то подобное — да. Вот ещё несколько пунктов, которые чётко дают понять, что бэк-енд необходим.
Планируется:

  • функция регистрации пользователей;
  • возможность авторизации в приложении через соцсети;
  • разработка профиля пользователя и предоставления прав его редактирования;
  • возможность сменить пароль;
  • функция выхода из приложения;
  • возможность поиска по материалам внутри приложения;
  • возможность настройки приложения;
  • управление уведомлениями;
  • встроенный чат и звонки внутри приложения;
  • таблица с данными пользователей;
  • такая же таблица с данными администраторов;
  • отображать текущую версию приложения.

Если вы выбили это бинго хотя бы в нескольких пунктах — закладывайте бюджет на бэк-енд. На самом деле это не так уж страшно и дорого. Рассмотрим, как можно сделать недорогой бэк-енд без потерь в качестве.

Способ 1. Выбрать бессерверную архитектуру приложений (Serverless)

Подойдёт если бэк-енд планируется несложным, т. е. потенциальная база пользователей/администраторов небольшая. Заключается в использовании специальных сервисов. Например, BaaS-платформы (Backend-as-a-Service) AWS (Amazon Web Services), Microsoft Azure и Firebase.

AWS — облачная платформа, центральная вычислительная служба которой — сервис Elastic Compute Cloud (EC2). Поддерживает 7 различных семейств экземпляров и 38 типов экземпляров. Иными словами, AWS предлагает клиентам одновременную поддержку и региона (22), и зоны (69).

Сервис Quick Sight гарантирует детальную и понятную бизнес-аналитику с готовыми шаблонами. А Virtual Private Cloud — создание VPN с настройкой подсети, таблиц маршрутизации, частных диапазонов IP-адресов и сетевых шлюзов (для DNS есть сервис Route 53).

Больше об инструментарии вы можете прочитать на официальном сайте.
Вся информация доступна на русском языке и подана в понятной форме.

Microsoft Azure — набор облачных служб, который поддерживает 4 семейства, 33 типа экземпляров. Однако работает только по регионам (с зонами пока не получается). Несмотря на принадлежность к Microsoft, код MA открытый и может использоваться для любых приложений и сайтов.

Огромный плюс Microsoft Azure — функция резервного копирования и восстановления данных хранилища. Не менее важен для работы с бэк-ендом подсервис StorSimple, это гибридное облако поможет снизить затраты до 60%.

Также работает с VPN, IP, DNS. Больше — на официальном сайте.

Firebase — облачная база данных класса NoSQL. Впрочем, не только. Firebase также предоставляет клиентам множество других сервисов. При этом писать код не нужно, т. к. всё конфигурируется через интерфейс платформы.

Из плюсов Firebase можно назвать кроссплатформенность, масштабируемость, возможность собирать статистику, а также бесплатную поддержку. Подробнее об инструментах можно узнать на официальном сайте.

И ещё несколько сервисов для работы с бэк-ендом по ссылке.

youallgetacloud

Способ 2. Хранить данные в устройстве пользователя

Сторону клиента можно использовать с выгодой для компании. Однако это работает только в случае приложений с минимальными интеракциями и максимально статичным контентом. Например, ридеров.

На самом деле контент может быть любой. Единственное условие здесь — он не будет обновляться, пока не выйдет новая версия приложения. То есть пока не произойдёт новая загрузка и обновление базы. При этом системные функции остаются доступными. Например, через In-App Purchase (сервис покупки виртуальных товаров внутри приложения).

Способ 3. Воспользоваться SaaS-сервисами

Это работа с облаками и поставщиками услуг (Software-as-a-Service). От сотрудничества с BaaS-платформами отличается тем, что оплачивается не хранилище, а услуга, куда оно входит.

Например, маркетплейсу нужен хелпдеск для работы с проблемами пользователей. В таком случае можно обратиться к SaaS-сервису, который предоставляет услугу под-ключ.

pasted image 0

Способ 4. Экономить с помощью бесплатных инструментов

Не самый удобный способ, но в кризисной ситуации может пригодиться. Заключается в том, чтобы по возможности заменять элементы бэк-енда доступными бесплатными альтернативами.

В качестве примера можно привести Google-формы вместо собственных опросников, а также Google-таблицы для сбора данных. Вот, кстати, работающий способ (перевод).

Вывод

Сэкономить на бэк-енде можно.
Способ зависит от ситуации, приложения и тех. отдела компании.

Тем, кто не разбирается совсем, лучше всего выбрать SaaS-сервис.
Более подкованным, но без бюджета, который был бы достаточным для нормальной работы, — BaaS-платформы.

Если приложение не нуждается в постоянном обновлении контента, сэкономить можно с помощью переноса данных на устройство. Самым экономным, но креативным — использовать то, что даровал великий Google (так и на свой собственный сервис накопят находячивые).

Главное — делать акцент на качество. Не прибегайте к способам выше, чтобы закончить «уже-наконец-закончить-работу-вообще-плевать-как» и запустить проект в релиз.

Бэк-енд — фундамент, то, на чём держится приложение. Полностью. Вообще, всё. Поэтому экономьте с умом. Ведь вы должны бороться со злом, а не примкнуть к нему. (;

Полезные ссылки

  • Удобное решение для организации сервера, т. к. расположен на ПК, но воспринимается не как локальный сервер. Подключение происходит не по localhost, а по IP, который прописывает разработчик: Vagrant
  • Ещё одно решение, которое действует по схожему принципу. ПО использует систему образов, чтобы хранить файлы и запускать процессы ОС изолированно друг от друга: Docker
  • Программа для тестирования API: Postman
  • Отличные репозитории для хранения данных: Bitbucket, GitLab, GitHub