Блог
Практика деплоя, баз данных и эксплуатации приложений в продакшене.
Бэкап PostgreSQL: pg_dump, автоматизация и восстановление
Как делать резервные копии PostgreSQL: pg_dump и форматы дампа, автоматизация через cron, выгрузка за пределы сервера, проверка восстановления и правило 3-2-1.
Где разместить Telegram-бота на Python: варианты хостинга и деплой
Куда залить готового Telegram-бота на Python и как его развернуть: long-polling против webhook, выбор хостинга, переменные окружения, база и запуск 24/7.
Где разместить Telegram-бота на Node.js: варианты хостинга и деплой
Куда залить готового Telegram-бота на Node.js (Telegraf, grammY) и как развернуть: long-polling против webhook, выбор хостинга, переменные окружения, база и запуск 24/7.
Переезд с VPS на managed-платформу: перенос приложения, базы и домена
Как съехать с VPS (Beget, Timeweb, Hetzner) на managed-платформу: что перенести — код, переменные окружения, базу, домен и SSL — и как переключиться без простоя.
Как перенести базу PostgreSQL на другой хостинг без простоя
Перенос PostgreSQL между серверами: dump и restore с коротким простоем, логическая репликация для near-zero downtime, проверка целостности и переключение приложения.
Секреты и .env в продакшене: как не потерять ключи и где их хранить
Как безопасно хранить секреты приложения: почему .env не коммитят, переменные окружения, что делать при утечке ключа и когда нужен менеджер секретов. Практика для прода.
Где разместить FastAPI-приложение: варианты хостинга и деплой
Куда задеплоить FastAPI в продакшен и как: ASGI-сервер uvicorn и gunicorn, переменные окружения, база и миграции, запуск 24/7. Варианты хостинга и пошаговый деплой.
Как перенести Telegram-бота на другой хостинг без простоя
Переезд работающего Telegram-бота между хостингами: перенос кода, токена и состояния, переключение long-polling или webhook без дублей и потери сообщений.
Connection pooling в PostgreSQL: зачем нужен PgBouncer
Почему PostgreSQL упирается в число соединений и падает с too many clients, как помогает пул соединений PgBouncer: режимы пулинга, конфиг и подводные камни.
Фоновые задачи в Python: Celery, RQ или свой воркер — что выбрать
Когда нужны фоновые задачи и чем их запускать: Celery, RQ или простой воркер на очереди. Брокер, отдельный процесс, идемпотентность, ретраи и расписание на практике.
Где разместить Django-приложение: варианты хостинга и деплой
Куда задеплоить Django в продакшен и как: gunicorn, DEBUG и ALLOWED_HOSTS, collectstatic, миграции, CSRF за прокси. Варианты хостинга и пошаговый деплой.
Как держать процесс запущенным 24/7: systemd, pm2 и Docker
Как запустить приложение или бота на сервере, чтобы он работал постоянно и перезапускался после сбоя и перезагрузки: systemd, pm2 и restart policies в Docker.
Nginx как reverse proxy и Let's Encrypt: конфиг и автопродление SSL
Рабочий конфиг nginx как reverse proxy к приложению, выпуск сертификата Let's Encrypt через certbot и настройка автопродления. Типичные ошибки и как их проверить.