Разработчик показывает, как из простого приложения сделать дорогостоящее — за счет трат на сервера, инфраструктуру и многое другое.
027 открытий162 показов
Да, из простого приложения можно создать такую архитектуру, которая будет стоить более $2000 в месяц. В этом видео разработчик показывает, как пошагово усложнять инфраструктуру простого приложения для задач, добавляя все больше и больше компонентов. А чтобы вам было проще сориентироваться — мы адаптировали его на русский.
Этап 1: Простой MVP за $0
Изначально нужно создать максимально простое приложение для управления задачами: веб-страница с несколькими категориями и возможностью добавлять таски. На фронте разработчик использует библиотеку Shad CN UI, а на бэке — Flask. Данные хранятся просто в словаре Python. Все приложение — это один файл. Оно запускается в Docker-контейнере через docker compose
.
Это MVP работает локально на компьютере разработчика и рассчитано на одного пользователя. Такой подход позволяет всё упростить, но при перезапуске контейнера все данные будут утеряны. Правда, чтобы получить прибыль, этого недостаточно.
Этап 2: Инфраструктура на $30
Чтобы приложение стало более удобным и приближенным к продакшену, разраб добавляет несколько главных компонентов:
- База данных: PostgreSQL.
- Веб-сервер: Nginx для проксирования запросов и избавления от портов.
- Аутентификация: авторизация через JWT и интерфейсы входа и регистрации на фронтенде.
Все эти компоненты подключаются к существующему приложению через docker-compose.yml
. Благодаря этому теперь можно запускать приложение на localhost
, а не по порту, и все будет работать как полноценное веб-приложение. Размещение такой системы на бесплатном облачном тарифе или VPS обойдётся в пределах 30 долларов.
Этап 3: Допиливание до $100
Разработчик добавляет допфункции:
- Уведомления по email: вместо стороннего API — система очередей с RabbitMQ и воркером, который отправляет письма.
- Обновления в реальном времени: WebSocket’ы для синхронизации задач на разных устройствах.
- Кэширование: Redis для хранения данных в памяти, что значительно ускоряет работу.
Также подключается Docker Build Cloud — сервис для параллельной сборки контейнеров и шаринга кеша между проектами. Это повышает производительность и ускоряет разработку.
Теперь в системе работает очередь заданий, кеш, WebSocket-сервер, SMTP и полноценная база данных. Все эти компоненты увеличивают инфраструктурные затраты до примерно $100 в месяц.
Этап 4: Мониторинг и масштабирование за $500
Разработчик внедряет:
- Логирование: стек ELK (Elasticsearch, Logstash, Kibana).
- Мониторинг: Prometheus и Grafana.
- Горизонтальное масштабирование: добавляются реплики некоторых сервисов и балансировка нагрузки через Nginx.
Эти инструменты позволяют отслеживать метрики, визуализировать логи, следить за состоянием приложений и быстро выявлять сбои. Инфраструктура становится ближе к корпоративному уровню. Стоимость такого комплекса достигает уже около 400–500 долларов в месяц.
Этап 5: Целых $2000 долларов
Разработчик решает перейти на Kubernetes и развернуть приложение в разных дата-центрах по всему миру. Для управления трафиком используется глобальный балансировщик нагрузки (например, Cloudflare). А чтобы все работало стабильно, внедряются:
- Postgres с репликацией в реальном времени,
- Redis для быстрой отдачи данных.
Сейчас без ИИ приложение уже не имеет смысла. Поэтому разработчик решает добавить серверлесс-функции с категоризацией задач, приоритетами и предложениями на основе поведения пользователей, а также с использованием обработки естественного языка для создания тасков. Также подключаются правовые ограничения — поддержка GDPR и CCPA.
Для мониторинга:
- Jaeger — для распределённой трассировки,
- ELK Stack — для логов,
- Grafana + PagerDuty — для алертов и инцидентов.
Вишенка на торте — план восстановления после катастроф: бэкапы, автоматическое переключение на другие регионы и подготовка команды.
Хотя вся система началась с одного Python-файла и простого UI, шаг за шагом разработчик добавлял в нее компоненты, которые делают её пригодной для реального продакшена: защита, масштабируемость, отказоустойчивость, мониторинг, кеширование и очереди. И оно вполне может стоить несколько сотен или даже тысяч долларов в месяц при развертывании в облаке.