Як це працює
Що відбувається за адресою вашого застосунку.
Від оплати до працюючого застосунку під наглядом — і що з ним буде, якщо ви перестанете платити. Ця сторінка описує, як платформа працює сьогодні, і прямо каже, чого ще немає.
Запуск
Від оплати до живої адреси.
Заявок ніхто не створює: платформа сама проходить кожен крок, а ваша панель показує, на якому етапі застосунок.
-
Платіж підтверджено
Платіжний провайдер повідомляє нам, що підписка активна. Дані картки йдуть провайдеру; ми їх ніколи не бачимо.
-
Розгорнуто
Платформа розміщує ваш застосунок на нашому спільному сервері в ЄС і запускає його у власних контейнерах — зі своєю конфігурацією та щойно згенерованими секретами, із точної версії, яку ми зафіксували.
-
Перевірено
Ми запитуємо адресу перевірки стану застосунку ззовні, як це зробив би відвідувач, і чекаємо нормальної відповіді. Лише ця відповідь переводить статус із «розгортається» в «працює».
-
Працює
Застосунок відповідає на власній HTTPS-адресі, і ми надсилаємо адресу вам електронною поштою.
Якщо перевірка не пройдена. Якщо застосунок не відповів за відведений час, запуск позначається невдалим і оператор отримує сигнал. Запуск, відповіді якого ніхто не бачив, ніколи не показується як працюючий.
Ізоляція
Власний стек, а не спільний акаунт.
Кожен застосунок працює як окремий стек Docker Compose на спільному сервері.
-
Власні контейнери
Застосунок і його база даних, якщо вона окрема, працюють у контейнерах, запущених лише для вас. Застосунки інших клієнтів працюють у своїх стеках.
-
Власні дані
Файли та бази даних лежать на томах, що належать вашому стеку. Контейнер бази даних перебуває у внутрішній мережі стеку й не опублікований ні на сервері, ні в інтернеті; порт самого застосунку не опублікований на публічній адресі сервера.
-
Ліміти, за які ви платите
Кожен стек обмежений лімітами CPU та пам’яті свого тарифу.
Де закінчується розділення. Стеки різних клієнтів ділять машину та її ядро. Це ізоляція контейнерів, а не окрема віртуальна машина в кожного. Виділений сервер є в наших планах.
Адреса і HTTPS
Власна адреса, захищена з першого запиту.
Де працює застосунок, як він називається і як до нього доходить трафік.
-
В ЄС
Сервери працюють у Франкфурті (AWS Lightsail, eu-central-1), і сьогодні всі застосунки працюють там. Вибір іншого регіону є в наших планах.
-
Власний піддомен
Застосунок відповідає за адресою виду ім’я.poof.run, яку ви обираєте під час купівлі; налаштовувати DNS не потрібно. Застосунок може відповідати й за вашим власним доменом.
-
Лише HTTPS
Один wildcard-сертифікат Let’s Encrypt покриває всі адреси на сервері й поновлюється сам. На звичайний HTTP відповідь лише одна — перенаправлення на HTTPS, а проксі — єдиний публічний шлях до застосунку.
Моніторинг
Під наглядом, щоб вам не довелося.
Цілодобово йдуть перевірки двох видів: кожного застосунку та кожного сервера.
-
Застосунок опитується
Кожні кілька хвилин платформа запитує адресу перевірки стану застосунку ззовні, як відвідувач. Погана відповідь, тайм-аут або обрив з’єднання вважаються промахом. Серія промахів — не один (це нормально під час оновлення) — відкриває інцидент і надсилає лист нашим операторам; коли застосунок відновлюється, лист іде знову.
-
Машина вимірюється
Кожні кілька хвилин вимірюються стан сервера, CPU, пам’ять, диск і запас burst-потужності. Мало вільного місця на диску, вичерпаний запас burst-потужності або невдала перевірка провайдера відкривають інцидент.
-
Контейнери перезапускаються самі
Контейнер, що впав, запускається знову й повертається після перезавантаження сервера, якщо ми не зупинили його навмисно.
Що це таке. Сигнали отримують наші оператори, а не ви, і перевірки показують, що застосунок відповідає, а не що в нього всередині.
Оновлення
Версії обираємо ми, зміни вносимо ми.
Ви нічого не встановлюєте і не патчите. Оновлення при цьому не тихі: ось як вони влаштовані.
-
Точні версії
Застосунок працює на одній точній версії образу, а не на плаваючому тегу на кшталт «latest», — працює саме те, що ми підготували.
-
Викочуємо ми
Нова версія потрапляє у ваш застосунок, коли оператор запускає оновлення — з вашої версії на наступну за нею. Застосунок перезапускається на ній, тож можлива коротка перерва.
-
Лише вперед
Відкоту немає. Оновлення може змінити базу даних застосунку так, що це не скасувати, а резервних копій ми поки не робимо — повертатися нікуди.
Оплата та життєвий цикл
Оплата, зупинка і що залишається.
Що відбувається з працюючим застосунком, залежить від підписки, і нічого не видаляється без попередження.
-
Платіж не пройшов
Застосунок продовжує працювати, поки платіжний провайдер повторює списання. Ви отримуєте лист із проханням оновити спосіб оплати та нагадування, поки це триває.
-
Підписка закінчилася
Коли її скасовано або спроби списання вичерпано, застосунок зупиняється (зупиняється, а не видаляється), і ми пишемо вам. Скасування на кінець періоду залишає застосунок працювати до цього строку.
-
Зберігається 30 дн.
Дані залишаються на сервері 30 дн. з моменту зупинки. Щоб повернути застосунок у цей строк, напишіть нам — дані ще на місці. За 7 дн. до кінця ми пишемо вам.
-
Потім видаляється
Далі йде фінальне вікно в 24 год з останнім листом; доки воно не закінчилося, достатньо написати нам, і застосунок повернеться. Після цього застосунок, томи з даними та файли знищуються, і це не скасувати.
За цим немає резервної копії. Видалено — значить, зникло: копії для відновлення в нас немає, тому й потрібні нагадування.