惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
InfoQ
N
Netflix TechBlog - Medium
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
SegmentFault 最新的问题
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
C
Cisco Blogs
T
Threat Research - Cisco Blogs
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园_首页
Recorded Future
Recorded Future
J
Java Code Geeks
The Cloudflare Blog
S
Securelist
人人都是产品经理
人人都是产品经理
T
Tor Project blog
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
V
V2EX
P
Palo Alto Networks Blog
I
Intezer
罗磊的独立博客
博客园 - 叶小钗
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale
P
Privacy International News Feed
P
Proofpoint News Feed
美团技术团队
Cisco Talos Blog
Cisco Talos Blog
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
L
LINUX DO - 热门话题
Simon Willison's Weblog
Simon Willison's Weblog
MyScale Blog
MyScale Blog
H
Help Net Security
W
WeLiveSecurity
Google Online Security Blog
Google Online Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
1 ГБ и 2 ГБ RAM — это больше в 1 или в 2 раза? Считаем вместе
runity (Руни · 2026-04-28 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение9 мин

Охват и читатели124

Обзор

Привет, Хабр! На связи команда Рег.облака. Мы запустили программу Free Tier полнофункционального облака с бесшовным переходом в основную инфраструктуру. Теперь любой желающий может заказать абсолютно бесплатно облачный сервер с минимальной конфигурацией с одним виртуальным ядром, 1 ГБ оперативной памяти и 10 ГБ пространства на NVMe-накопителе на срок до 6 месяцев и с возможностью ее расширения по запросу. 

Но статья не об этом. Один-два гигабайта — ресурс ограниченный. И сегодня мы попытаемся разобраться, что в него помещается, какой стек выбрать, на чем можно сэкономить, а на чем не стоит. Будет полезно всем, кто работает с недорогими VPS или оптимизирует расходы на ИТ-инфраструктуру.

Навигация по тексту

Что под капотом

Бесплатный сервер живет в той же инфраструктуре, что и платные ресурсы: Intel Xeon, NVMe-диски, та же сеть, тот же гипервизор. Все пользователи работают на одном и том же оборудовании — машина получает публичный IP и работает как любой другой инстанс. Программа устроена в два шага:

Базовая конфигурация

Расширенная конфигурация

Ресурсы

1 vCPU / 1 ГБ / 10 ГБ NVMe

2 vCPU / 2 ГБ / 10 ГБ или 1 vCPU / 2 ГБ / 20 ГБ

Срок

6 месяцев

3 месяца

Как получить

При регистрации

Запрос через техподдержку

Базовая конфигурация подходит для знакомства с платформой и легких задач. Но если проект чуть серьезнее — бот с базой данных, тестовый стенд с Docker, MVP с несколькими сервисами — стоит сразу запросить расширенную конфигурацию. Второе ядро и удвоенная память открывают заметно больше сценариев, а три месяца — достаточный срок, чтобы обкатать идею и принять решение. Если проект перерос Free Tier, переход на платный тариф — пара кликов, без миграции данных и смены IP.

Мы также готовим следующие этапы программы: FT2 с расширенными конфигурациями (2 vCPU / 2 ГБ / 10 ГБ или 1 vCPU / 2 ГБ / 20 ГБ) и ispmanager one для тех, кому удобнее работать через веб-панель, и FT3 — конфигурация 2 vCPU / 4 ГБ / 40 ГБ с S3, ИИ-токенами и ispmanager lite для B2B-сегмента. Заявки на FT2 уже принимаем.

Арифметика одного (и двух) гигабайт

Прежде чем что-то запускать, стоит понять, сколько памяти «съедает» система и какой бюджет остается приложениям. На Ubuntu 24.04 с минимальным набором сервисов:

Компонент

Потребление RAM

Ядро Linux + системные процессы

~100–150 МБ

systemd, journald, сетевые сервисы

~50–80 МБ

SSH-сервер

~5–10 МБ

Итого на систему

~180–240 МБ

1 ГБ (базовая)

2 ГБ (расширенная)

Остается приложениям

~780–840 МБ

~1 700–1 800 МБ

nginx + FastAPI + PostgreSQL

впритык, нужен тюнинг

с запасом

То же + Redis + фоновые задачи

не влезает

комфортно

Сайт на CMS (WordPress и подобные)

один — можно

два-три с запасом

Docker-контейнеры

один-два максимум

три-четыре сервиса

Разница существенная. На одном гигабайте приходится тщательно выбирать стек и тюнить каждый сервис. На двух — можно работать с привычными инструментами без компромиссов. С сайтами логика та же: один легкий сайт (корпоративный, визитка, блог на WordPress с минимумом плагинов) на 1 ГБ поднимается без проблем, если не ждать шквала трафика. Несколько сайтов на одной машине, особенно на CMS с плагинами и фоновыми задачами, — уже история для 2 ГБ, где каждый nginx-virtual host и пул php-fpm получает свой запас памяти.

Что происходит, если не влезли

Если процессы суммарно запросят больше памяти, чем есть на сервере, ядро Linux включает OOM-killer и убивает самый «прожорливый» процесс. На 1 ГБ это особенно заметно: один всплеск трафика, тяжелый запрос к базе или фоновая задача — и nginx, PostgreSQL или приложение уходит в SIGKILL без предупреждения.

Есть страховочный механизм — swap. Это область на диске, которую ядро использует как дополнительную память: когда физической RAM не хватает, редко используемые страницы выгружаются туда. На NVMe-дисках накладные расходы минимальны, и это спасает от внезапных падений. Но swap — не замена оперативной памяти: если активные процессы начинают в него попадать, производительность проваливается в разы. Задержки на операциях с памятью растут с наносекунд до миллисекунд, и приложение формально живет, но фактически тормозит.

Вывод: на 1 ГБ swap нужен обязательно как подушка безопасности (конкретная настройка — в разделе с практическими советами ниже), но закладываться на то, что он вытянет постоянную нагрузку, нельзя. Если стек регулярно уходит в swap — это сигнал, что пора запрашивать расширенную конфигурацию.

Что помещается: шпаргалка по потреблению памяти

Типичные значения для популярных сервисов при небольшой нагрузке:

Сервис

RAM при минимальной нагрузке

Комментарий

nginx

2–10 МБ

Обратный прокси, раздача статики

Caddy

15–30 МБ

Автоматический HTTPS из коробки

PostgreSQL

30–60 МБ

С настройкой shared_buffers = 64 МБ

SQLite

~0 МБ сверх приложения

Встраивается в процесс приложения, отдельной памяти не требует

Redis

3–10 МБ

На малых объемах данных

Python (Flask/FastAPI)

40–80 МБ

Зависит от зависимостей

Go-бинарник

5–20 МБ

Один из самых экономных вариантов

Node.js (Express)

30–60 МБ

V8 любит память, но при малых нагрузках укладывается

Telegram-бот на Python

30–50 МБ

aiogram / python-telegram-bot

На 800 МБ уживаются nginx + Python-приложение + PostgreSQL — но без Redis и без запаса на пиковые нагрузки. На расширенной конфигурации с 2 ГБ тот же стек работает с запасом, и остается место для кеша, воркеров или мониторинга.

Сколько держит: нагрузочный тест

Арифметика памяти — это половина картины. Вторая половина — сколько запросов в секунду конфигурация реально выдерживает. Прогнали простой сценарий: FastAPI, один POST-эндпоинт, Ubuntu 24.04, стандартные настройки. Нагрузку давали через wrk, замеряли RPS и p95 — задержку, ниже которой укладываются 95 % запросов.

Конфигурация

Что тестировали

RPS

p95

Комментарий

1-1-10

health-чек без БД

~800

~20 мс

Упирается в vCPU

1-1-10

API + PostgreSQL

~250–300

~100 мс

Периодические 5xx на пиках

2-2-10

API + PostgreSQL

~500

< 70 мс

Без ошибок, запас по CPU

Что из этого видно? На базовой 1-1-10 простой отдающий сервис (health-чек, статический API, легкий прокси) спокойно держит сотни запросов в секунду — ограничением становится процессор, а не память. Но как только появляется полноценная БД, картина меняется: PostgreSQL начинает конкурировать за память и CPU с приложением, и на пиках уже ловятся 5xx-ошибки. На 2-2-10 того же API с PostgreSQL хватает на стабильные 500 RPS с запасом по ресурсам.

Вывод: для лендинга, MVP с SQLite, Telegram-бота или прокси-сервиса базовой конфигурации хватает с головой. Если проект предполагает реляционную базу и хоть какую-то заметную нагрузку — лучше сразу идти на расширенную, не тратя время на тюнинг того, что решается дополнительным гигабайтом.

Сценарий 1. MVP и прототипы

На старте проекта каждый рубль на счету — и логично направить бюджет в продукт, а не в инфраструктуру. Free Tier позволяет развернуть бэкенд, поднять базу данных и выкатить сервис на публичный адрес без затрат на серверы.

Ключевое отличие от локальной разработки — сервис сразу доступен извне. Можно привязать домен, дать ссылку первым пользователям и собрать обратную связь на реальном трафике, а не на localhost.

На базовой конфигурации (1-1-10) получится поднять легкий стек: статический фронтенд + API на Go или Python + SQLite. Если в MVP нужны PostgreSQL, Redis и фоновые воркеры — лучше сразу запросить 2-2-10: два ядра и два гигабайта позволяют не экономить на архитектуре и сфокусироваться на продукте.

Когда MVP подтвердил востребованность, масштабирование происходит в рамках той же платформы.

Пример. Два разработчика строят SaaS для генерации коммерческих предложений. Начинают на 1-1-10 с Caddy + FastAPI + SQLite — потребление около 100–150 МБ. Через две недели появляется потребность в полнотекстовом поиске и очереди задач. Добавляют PostgreSQL и Redis — на одном гигабайте стек уже не помещается. Запрашивают апгрейд до 2-2-10, разворачивают полный стек с запасом, привязывают домен и пускают тридцать бета-тестеров. Если к концу бесплатного периода продукт подтвердил спрос — переходят на платный тариф. 

Сценарий 2. Внутренние инструменты и автоматизация

В любой команде есть задачи, которые не дотягивают до отдельного проекта: бот для напоминаний, скрипт сбора метрик, cron-задача для отчетов. Обычно их запускают на рабочем ноутбуке — и они умирают вместе с закрытой крышкой.

На базовой конфигурации помещаются два-три легких сервиса: пара ботов и cron-скрипт. Если хочется собрать на одном сервере целую связку инструментов — мониторинг, автоматизацию и бота — расширенная конфигурация с 2 ГБ даст для этого пространство.

Что помещается на 1-1-10:

  • два-три Telegram/Slack-бота (30–50 МБ каждый);

  • cron-скрипты для сбора данных и отправки отчетов;

  • скрипты мониторинга или healthcheck-сервис (~50–150 МБ).

Что комфортно работает на 2-2-10:

  • всё перечисленное выше одновременно;

  • n8n или Huginn для автоматизаций (~150–300 МБ);

  • Gitea или Forgejo для небольшой команды (~100–150 МБ);

  • несколько Docker-контейнеров.

Пример. Аналитик написал Python-скрипт: раз в месяц собирает данные из пяти рекламных кабинетов и отправляет сводку в корпоративный мессенджер. Начали с 1-1-10 — скрипт отлично работает по cron. Потом команда добавила бота для дежурных и Uptime Kuma для мониторинга клиентских сайтов. Когда стало тесновато — запросили 2-2-10 и развернули всё на одном сервере.

Сценарий 3. Тестовый стенд

Тестировать обновления на продакшне — конечно, плохая идея, но создавать отдельный платный стенд ради пары прогонов тоже расточительно. Еще хуже — поднимать тестовую среду локально: окружение отличается от боевого, и баги, пойманные на ноутбуке, не воспроизводятся в продакшне.

Free Tier закрывает этот сценарий. Тестовый сервер живет в той же экосистеме, что и продуктивный, — одинаковые образы ОС, одинаковая сеть. Ресурсы Free Tier можно включить в приватную сеть с другими ресурсами Рег.облака — тестовый стенд будет максимально приближен к боевому окружению.

Для smoke-тестов и проверки отдельных компонентов хватит 1-1-10. Если нужно развернуть полноценную копию приложения с базой данных и прогнать нагрузочный тест — стоит запросить 2-2-10 или 1-2-20 (второй вариант дает 20 ГБ диска, что важно при работе с дампами).

Пример. Интернет-магазин готовит новый фильтр каталога. Команда запрашивает 1-2-20, разворачивает копию с дампом базы, прогоняет 500 тестовых запросов, находит узкое место в кешировании. Исправляют — и выкатывают в продакшн.

Как выжать максимум из минимального сервера

Эти рекомендации работают не только для Free Tier, но и для любых серверов с ограниченными ресурсами. Впрочем, если задача позволяет, самый простой способ выжать максимум — запросить расширенную конфигурацию и не тратить время на оптимизацию того, что можно решить дополнительным гигабайтом.

Настройте swap

С одним гигабайтом RAM swap обязателен. Он не заменит оперативную память по скорости, но спасет от OOM-киллера при пиковых нагрузках. На NVMe штраф за обращение к swap минимальный.

fallocate -l 512M /swapfile

chmod 600 /swapfile

mkswap /swapfile

swapon /swapfile

echo '/swapfile none swap sw 0 0' >> /etc/fstab

echo 'vm.swappiness=10' >> /etc/sysctl.conf

sysctl -p

swappiness=10 означает, что ядро будет использовать swap только при дефиците свободной памяти — именно то, что нужно на NVMe. На расширенной конфигурации с 2 ГБ swap тоже не помешает, но острой необходимости уже нет.

Затюньте PostgreSQL под малый объем RAM

Дефолтные настройки PostgreSQL рассчитаны на сервер с запасом ресурсов. На 1 ГБ стоит выставить:

shared_buffers = 64MB

work_mem = 2MB

maintenance_work_mem = 32MB

effective_cache_size = 256MB

max_connections = 20

На 2 ГБ можно позволить себе более щедрые настройки — shared_buffers = 256MB, work_mem = 4MB — и PostgreSQL начнет работать заметно отзывчивее.

Или рассмотрите SQLite — для нагрузок до ~100 записей в секунду он справляется без отдельного процесса и не потребляет RAM сверх приложения. Litestream решает проблему бэкапов, реплицируя WAL в S3.

Выбирайте легкие альтернативы

Тяжелый вариант

Легкая замена

Экономия RAM

GitLab (~2–4 ГБ)

Gitea / Forgejo (~100 МБ)

~2 ГБ

Grafana + Prometheus (~500 МБ)

Uptime Kuma (~100 МБ)

~400 МБ

WordPress (~150–300 МБ)

Hugo / 11ty + nginx (~10 МБ)

~200 МБ

полноценный Docker

Podman rootless

экономнее по памяти, без демона

Не тащите Docker, если не нужен

Docker-демон и контейнерный рантайм расходуют 50–100 МБ сверху. На базовой конфигурации с 1 ГБ это ощутимо — systemd-юниты справятся проще и экономнее. На расширенной конфигурации с 2 ГБ Docker уже вписывается: можно запустить docker compose с двумя-тремя сервисами.

Следите за потреблением

На сервере с 1 ГБ каждый процесс на счету. Привычка мониторить расход поможет поймать утечки до того, как сработает OOM-киллер:

# Топ процессов по памяти

ps aux --sort=-%mem | head -15

# Мониторинг в реальном времени

htop

А вот когда Free Tier уже не достаточно

Ограничения стоит понимать заранее:

  • тяжелые базы данных с большими объемами данных — PostgreSQL будет работать, но при активной нагрузке и/или большом количестве данных даже 2 ГБ RAM станут узким местом;

  • ML-инференс и ресурсоемкие вычисления — двух ядер не хватит;

  • продакшн-трафик свыше нескольких сотен запросов в минуту;

  • хранение больших объемов — 20 ГБ на диске (в конфигурации 1-2-20) заканчиваются быстро, если речь о медиафайлах.

Для задач посерьезнее есть платные конфигурации, на которые можно перейти в любой момент без миграции. А для юрлиц мы готовим FT3 с конфигурацией 2 vCPU / 4 ГБ / 40 ГБ, S3 и ИИ-токенами.

Для получения сервера нужна идентификация — разовый платеж 100 ₽, который возвращается или остается на балансе. После этого сервер готов к работе. Если понимаете, что задача требует больше ресурсов, то можно запросить  расширенную конфигурацию через техподдержку.


1 vCPU и 1 ГБ RAM — достаточно, чтобы начать. 2 vCPU и 2 ГБ — достаточно, чтобы не отвлекаться на ограничения и сосредоточиться на проекте. Какой самый полезный сервис вам удавалось запустить на минимальном железе? Делитесь кейсами в комментариях!