Перейти к содержимому

Как это работает

Что происходит за адресом вашего приложения.

От оплаты до работающего приложения под присмотром — и что с ним станет, если вы перестанете платить. Эта страница описывает, как платформа работает сегодня, и прямо говорит, чего ещё нет.

Запуск

От оплаты до живого адреса.

Заявок никто не создаёт: платформа сама проходит каждый шаг, а ваша панель показывает, на каком этапе приложение.

  1. Платёж подтверждён

    Платёжный провайдер сообщает нам, что подписка активна. Данные карты уходят провайдеру; мы их никогда не видим.

  2. Развёрнуто

    Платформа размещает ваше приложение на нашем общем сервере в ЕС и запускает его в собственных контейнерах — со своей конфигурацией и только что сгенерированными секретами, из точной версии, которую мы зафиксировали.

  3. Проверено

    Мы запрашиваем адрес проверки состояния приложения снаружи, как это сделал бы посетитель, и ждём нормального ответа. Только этот ответ переводит статус из «развёртывается» в «работает».

  4. Работает

    Приложение отвечает на собственном HTTPS-адресе, и мы отправляем адрес вам по электронной почте.

Если проверка не пройдена. Если приложение не ответило за отведённое время, запуск помечается неудачным и оператор получает сигнал. Запуск, на который никто не увидел ответа, никогда не отображается как работающий.

Изоляция

Свой стек, а не общий аккаунт.

Каждое приложение работает как отдельный стек Docker Compose на общем сервере.

  • Свои контейнеры

    Приложение и его база данных, если она отдельная, работают в контейнерах, запущенных только для вас. Приложения других клиентов работают в своих стеках.

  • Свои данные

    Файлы и базы данных лежат на томах, которые принадлежат вашему стеку. Контейнер базы данных находится во внутренней сети стека и не опубликован ни на сервере, ни в интернете; порт самого приложения не опубликован на публичном адресе сервера.

  • Лимиты, за которые вы платите

    Каждый стек ограничен лимитами CPU и памяти своего тарифа.

Где заканчивается разделение. Стеки разных клиентов делят машину и её ядро. Это изоляция контейнеров, а не отдельная виртуальная машина у каждого. Выделенный сервер есть в наших планах.

Адрес и HTTPS

Свой адрес, защищённый с первого запроса.

Где работает приложение, как оно называется и как до него доходит трафик.

  • В ЕС

    Серверы работают во Франкфурте (AWS Lightsail, eu-central-1), и сегодня все приложения работают там. Выбор другого региона есть в наших планах.

  • Свой поддомен

    Приложение отвечает по адресу вида имя.poof.run, который вы выбираете при покупке; настраивать DNS не нужно. Приложение может отвечать и по вашему собственному домену.

  • Только HTTPS

    Один wildcard-сертификат Let’s Encrypt покрывает все адреса на сервере и продлевается сам. Обычный HTTP получает в ответ лишь перенаправление на HTTPS, а прокси — единственный публичный путь к приложению.

Мониторинг

Под присмотром — чтобы вам не пришлось.

Круглосуточно идут проверки двух видов: каждого приложения и каждого сервера.

  • Приложение опрашивается

    Каждые несколько минут платформа запрашивает адрес проверки состояния приложения снаружи, как посетитель. Плохой ответ, тайм-аут или обрыв соединения считаются промахом. Серия промахов — не один (это нормально во время обновления) — открывает инцидент и отправляет письмо нашим операторам; когда приложение восстанавливается, письмо уходит снова.

  • Машина измеряется

    Каждые несколько минут измеряются состояние сервера, CPU, память, диск и запас burst-мощности. Мало свободного места на диске, исчерпанный запас burst-мощности или неудачная проверка провайдера открывают инцидент.

  • Контейнеры перезапускаются сами

    Упавший контейнер запускается снова и возвращается после перезагрузки сервера, если мы не остановили его намеренно.

Что это такое. Сигналы получают наши операторы, а не вы, и проверки показывают, что приложение отвечает, а не что у него внутри.

Обновления

Версии выбираем мы, изменения вносим мы.

Вы ничего не устанавливаете и не патчите. Обновления при этом не тихие: вот как они устроены.

  • Точные версии

    Приложение работает на одной точной версии образа, а не на плавающем теге вроде «latest», — работает именно то, что мы подготовили.

  • Выкатываем мы

    Новая версия попадает в ваше приложение, когда оператор запускает обновление — с вашей версии на следующую за ней. Приложение перезапускается на ней, так что возможен короткий перерыв.

  • Только вперёд

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

Оплата и жизненный цикл

Оплата, остановка и что остаётся.

Что происходит с работающим приложением, зависит от подписки, и ничего не удаляется без предупреждения.

  1. Платёж не прошёл

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

  2. Подписка закончилась

    Когда она отменена или попытки списания исчерпаны, приложение останавливается (останавливается, а не удаляется), и мы пишем вам. Отмена на конец периода оставляет приложение работать до этого срока.

  3. Хранится 30 дн.

    Данные остаются на сервере 30 дн. с момента остановки. Чтобы вернуть приложение в этот срок, напишите нам — данные ещё на месте. За 7 дн. до конца мы пишем вам.

  4. Затем удаляется

    Дальше идёт финальное окно в 24 ч с последним письмом; пока оно не закончилось, достаточно написать нам, и приложение вернётся. После этого приложение, тома с данными и файлы уничтожаются, и это нельзя отменить.

За этим нет резервной копии. Удалено — значит, исчезло: копии для восстановления у нас нет, поэтому и нужны напоминания.