История хостинга одного Flask-приложения без настройки VPS

Мы хотим рассказать историю одного нашего клиента, с которым прошли долгий путь. И по запросам которого реализовали несколько интересных функций в нашей PaaS-платформе Amvera.
Компания AIprintgen искала сервис для хостинга приложения на Flask с возможностью автоматизации деплоя через привязку Git-репозитория.
AIprintgen — онлайн-сервис для создания 3D-моделей по изображениям и текстовым описаниям. Основной фокус - 3D-печать: персональные фигурки, подарки, барельефы и декоративные изделия. Пользователь может создать модель, рассмотреть её в браузере, выполнить ряд операций по обработке и скачать файл для дальнейшей подготовки к печати. Сейчас у проекта тысяча платящих пользователей.

Как работает сервис AIprintgen
Представим, что пользователь хочет сделать персональную фигурку в подарок. У него есть фотография человека и представление о результате.
Сначала он готовит изображение в AIPRINTGEN: выбирает образ, одежду, позу и стиль будущей фигурки. На этом этапе проще оценить композицию и внести изменения, пока работа идёт с картинкой. Затем подготовленное изображение отправляется на генерацию 3D-модели.
Полученный результат можно открыть в браузере, повернуть и рассмотреть с разных сторон. Пользователь проверяет силуэт, пропорции и детали, в том числе те части модели, которых не было видно на исходном изображении. Если результат не подходит, можно скорректировать исходник и повторить генерацию.
Дальнейшие действия зависят от задумки и способа печати. При необходимости к модели добавляют подставку или разделяют её на части. После этого файл скачивают и открывают в слайсере, где выбирают масштаб, ориентацию, настройки печати и поддержки.
Перед изготовлением модель нужно проверить. В зависимости от геометрии и требований к изделию может потребоваться дополнительная доработка. AIPRINTGEN помогает получить основу для работы и выполнить часть операций с ней, а подготовка в слайсере и сама печать остаются следующими этапами.
Основное веб-приложение AIprintgen было написано на Python: Flask и Gunicorn. В браузере используется JavaScript и Three.js для просмотра 3D-моделей. На Amvera размещена веб-часть проекта.
Изначально коллеги искали что-нибудь простое, чтобы был деплой напрямую из Git и была встроенная поддержка Python и Docker, желательно с оплатой в рублях.
Я много работал с Google Cloud Platform, так что первые варианты были там, но нам нужна была российская компания. Решили попробовать Амверу, и нам понравилось. Особенно полезным в Amvera оказался функционал развёртывания через Git, поддержка собственного Docker-образа, постоянное хранилище, MCP, пробы и поиск по логам приложения.
Основной плюс использования PaaS-платформы Amvera — меньше времени на обслуживание инфраструктуры и больше на развитие самого приложения.
Виталий Карпатов: основатель AIprintgen
Проект рос и сталкивался с новыми вызовами.
Защищаем домен приложения от ботов
Первый серьёзный вызов для AIprintgen был в наплыве ботов-скраперов. Так как AIprintgen предлагает большую библиотеку 3D-моделей, многие боты хотели её спарсить. Это создавало большую нагрузку на сервер. С чем коллеги и обратились в Amvera.
Чтобы помочь, мы в Amvera сделали три улучшения.
Заменили сервера на более производительные, которые выдерживают большее количество запросов.
Создали новый тип ингресса, в котором пользователи могли сами управлять сетевыми параметрами количества соединений и размерами запросов. А также получать реальные IP-пользователей в заголовках.
Сделали сервис защиты проектов от ботов, брутфорса и других атак, который пользователи могут активировать одной кнопкой.
Особенно коллегам помог второй пункт, так как пробрасывание реального IP позволило им настроить собственную защиту в дополнении к нашей. В итоге именно это и помогло в борьбе с ботами.
А остальные возможности пригодились другим нашим клиентам.
Zero downtime deploy Flask-приложения
Вторым большим запросом от AIprintgen было сделать возможность бесшовного обновления без даунтайма. Чтобы в момент запуска новой версии кода, старая продолжала работать, и пользователи не получали ошибки.
Для обеспечения этого мы в Amvera сделали специальный режим zero downtime deploy, при котором в момент обновления запускается вторая реплика и трафик балансируется так, чтобы отсутствовал даунтайм.
Чтобы быть до конца объективными, полное отсутствие даунтайма при обновлениях зависит от самого кода проекта, настройки проб и ряда других факторов. Для большинства проектов всё происходит абсолютно бесшовно, и пользователи совсем не замечают простоя. Но если сам код запускается чуть позже готовности пода принимать трафик, то может быть несколько секунд перерыва. И AIprintgen оказался именно таким проектом. Нам удалось снизить даунтайм при обновлении на 90%, но полностью его ликвидировать – цель доработки нашей функции zero downtime deploy в ноябре 2026.
Регионы для хостинга
Изначально коллеги развернули проект в российском ЦОДе Amvera. Но для улучшения пинга они провели ряд тестов и остановились на регионе Amvera в Варшаве.
Уже сейчас проекты в Amvera можно размещать как в России, так и в Европе и Америке. Частым сценарием является размещение PostgreSQL в российском регионе для соблюдения требований законодательства о локализации персональных данных, а самих приложений в заграничных ЦОДах. Это помогает обеспечить доступность к сайтам как для пользователей, использующих прямое подключение, так и для тех, кто использует ВПН.
Следующим шагом, запланированным на ноябрь 2026, является реализация функции мультирегионального деплоя. Пользователи Amvera смогут развернуть сайты и веб-приложения сразу в нескольких регионах с использованием Anicast DNS. Это позволит как обеспечить доступность при любом типе подключения, так и максимально снизить пинг для пользователей из разных стран.
Что мы будем делать в 2026–2027
С ростом наших пользователей растут и их требования к нашей PaaS-платформе для простого деплоя приложений Amvera. В наших планах сделать в 2026 возможность мультирегионального деплоя с Anicast DNS для обеспечения минимального пинга и надёжного доступа из всех стран. И продолжать развивать такие PaaS-функции как CI/CD, наблюдаемость и возможность более гибкого управления, которые удовлетворят запросы клиентов со сложными, нагруженными проектами.
Amvera – российская PaaS-платформа для простого хостинга ботов, сайтов и других IT-приложений без необходимости настройки сервера. В облаке Amvera есть встроенная поддержка Python (в т. ч. Flask, Django, FastAPI), Node.js (в т.ч. Next.js, Nuxt.js), Docker, PHP (Laravel), С# (ASP.NET Core) и других окружений. А деплой идёт через встроенный CI/CD по принципу git push to prod. Для работы с данными есть управляемые PostgreSQL, Redis и MySQL с бэкапами. Возможности PaaS-платформы позволяют деплоить приложения без настройки сервера и не думать об инфраструктуре. В отличие от иностранных сервисов, в Amvera можно платить рублёвыми картами и размещать приложения как в Европе и Америке, так и на российских серверах для соответствия местным правилам обработки данных. Начать можно бесплатно: при регистрации даётся приветственный баланс на несколько недель тестов.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.