Веб-сервис в облаке

Когда пользователь заходит на ваш сервис, в его браузер или WebView необходимо передать HTML-документ с интерфейсом сервиса. За формирование и отправку HTML должен отвечать фронтенд-сервер. Обычно он представляет из себя Node.js-приложение, но в простейших случаях может содержать и статическую веб-страницу.

Подключиться

Если сервис не требует серьёзной бизнес-логики, то допустимо реализовать её на этом же сервере. В противном случае лучше выделить отдельный бэкенд-сервер для обработки данных и их отправки на фронтенд — например, в формате JSON. Передача данных между клиентом, фронтенд- и бэкенд-серверами должна регулироваться за счёт балансировщиков нагрузки. Балансировщики могут быть программными — достаточно взять за основу HAProxy, nginx или другое ПО.

Файлы пользователей и файлы статических веб-страниц эффективнее всего разместить в объектном S3-совместимом хранилище. Оно обладает свойством отказоустойчивости и обеспечивает постоянный доступ к файлам по прямым ссылкам. Управление базой данных можно реализовать на одной из виртуальных машин бэкенд-сервера, но, чтобы не требовалось обслуживать и обновлять базу, лучше воспользоваться облачным сервисом для управления БД.

Какие сервисы нужны для построения этого решения в Яндекс.Облаке

Yandex Compute Cloud
Бэкенд- и фронтенд-сервер, балансировщики нагрузки
Yandex Object Storage
Объектное хранилище
Yandex Virtual Private Cloud
Сеть для обмена данными между виртуальными машинами
Yandex Managed Databases
Сервис для управления базами данных