Към основното съдържание

Как работи

Какво се случва зад адреса на вашето приложение.

От плащането до работещо, наблюдавано приложение — и какво става с него, ако спрете да плащате. Тази страница описва как платформата работи днес и казва открито какво още не е изградено.

Пускане

От плащането до работещ адрес.

Никой не отваря заявка: платформата сама минава през всяка стъпка, а вашето табло показва докъде е стигнало приложението.

  1. Плащането е потвърдено

    Платежният доставчик ни съобщава, че абонаментът е активен. Картата ви отива при доставчика; ние никога не я виждаме.

  2. Разгърнато

    Платформата поставя вашето приложение на нашия споделен сървър в ЕС и го стартира в собствени контейнери — със своя конфигурация и току-що генерирани тайни, от точна версия, която сме фиксирали.

  3. Проверено

    Заявяваме адреса за проверка на състоянието на приложението отвън, както би направил посетител, и чакаме добър отговор. Само този отговор превръща „разгръща се“ в „работи“.

  4. На живо

    Приложението отговаря на собствения си HTTPS адрес, а ние ви изпращаме адреса по имейл.

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

Изолация

Собствен стек, а не споделен акаунт.

Всяко приложение работи като отделен стек на Docker Compose на споделен сървър.

  • Собствени контейнери

    Приложението и неговата база данни, ако използва отделна, работят в контейнери, стартирани само за вас. Приложенията на други клиенти работят в свои стекове.

  • Собствени данни

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

  • Лимити, за които плащате

    Всеки стек е ограничен до лимитите за CPU и памет на своя план.

Докъде стига разделянето. Стековете на различни клиенти споделят машина и нейното ядро. Това е изолация на контейнери, а не отделна виртуална машина за всеки. Dedicated сървър е в плановете ни.

Адрес и 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 часа с последен имейл; докато не изтече, стига да ни пишете и приложението се връща. След това приложението, томовете с данни и файловете му се унищожават и това не може да се отмени.

Зад това няма резервно копие. Изтрито значи изчезнало: не пазим копие за възстановяване, затова са напомнянията.