Бесплатная миграция IT-инфраструктуры в облако
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

Принципы работы

Основная функция сервиса приложений — автоматический деплой. Apps автоматически выгружает на сервер код вашего сайта, API-сервиса, приложения и т.п. 

Процесс работы с Apps при использовании backend-фреймворков выглядит так:

  1. Подключение репозитория: Вы подключаете репозиторий к Timeweb Cloud, выполняя вход в свой аккаунт на GitHub, GitLab или Bitbucket, или по ссылке.

  2. Подтягивание кода и установка зависимостей: Сервис автоматически подтягивает код из указанного репозитория и устанавливает необходимые зависимости, указанные в специальных файлах — таких как requirements.txt для Python или package.json для Node.js.

  3. Сборка приложения: Сервис определяет параметры сборки для вашего приложения и собирает его.

  4. Запуск в Docker-контейнере: После сборки запускается Docker-контейнер с подходящим окружением, внутри которого работает ваше приложение.

  5. Настройка Nginx: Timeweb Cloud Apps автоматически настраивает Nginx для проксирования вашего домена на запущенное приложение.

При выполнении git push в ваш репозиторий (при включенном автодеплое) процесс начинается заново — начиная со второго этапа: сервис подтягивает код, ставит зависимости, собирает приложение и так далее.

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

Управление данными при использовании Apps

Поскольку данные внутри Docker-контейнера не сохраняются при повторном деплое, важно предусмотреть использование внешних хранилищ для данных, которые необходимо сохранить между деплоями:

  • Файлы и медиа: Если ваше приложение позволяет пользователям или администратору загружать файлы или медиа-контент, рекомендуется сохранять их в хранилище, таком как S3. Это гарантирует, что данные останутся доступными после обновления или повторного деплоя приложения.

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

К приложению будет привязан бесплатный технический домен с SSL-сертификатом Let's Encrypt, который можно использовать для тестирования работы и, если вам это подходит, — для запросов к приложению.

Работа сервиса с frontend-приложениями имеет одно важное отличие от backend-приложений — после сборки мы не создаем Docker-контейнер, приложение хранится в директории на сервере. Такое приложение — это статические файлы, которые отдаются клиентам с сервера.

Однако, в отличие от обычного размещения приложения на сервере, где вам нужно самостоятельно настраивать окружение, сервис Apps, как и в случае с бэкенд-приложениями, сделает всё за вас:

  • «подтянет» код из репозитория, 

  • установит зависимости и ПО, 

  • настроит Nginx, 

  • выпустит SSL-сертификат,

  • выполнит сборку вашего приложения.

А в дальнейшем будет автоматически деплоить изменения — если вы оставите включенной опцию автодеплоя.

Была ли статья полезна?
Ваша оценка очень важна
Комментарии 1
Username
10.10.2024, 17:09

Понятно