osFoundry / Platform
Контейнерные вычисления
Нужны постоянные процессы? Переключите рантайм на контейнер. То же приложение, другой режим.
Что это
Контейнерные вычисления — это режим выполнения для приложений, которые вы создаёте в osFoundry. Большинство приложений прекрасно работают как короткоживущие процессы, управляемые запросами: поднимаются, отвечают и завершаются. Но некоторым нагрузкам нужно нечто, что остаётся живым: WebSocket-сервер, удерживающий открытые соединения, фоновый воркер, разбирающий очередь, планировщик, тикающий по собственным часам, или бэкенд, хранящий тёплое состояние в памяти между запросами. Для таких случаев вы переключаете режим выполнения на контейнер, и то же приложение продолжает работать как долгоживущий процесс, а не запускается заново каждый раз.
Суть в том, что это одно и то же приложение. Вы не переписываете его, не форкаете и не переносите в другой сервис. Код, маршруты и связи остаются на месте; вы меняете лишь то, как оно выполняется. Поэтому режим контейнера — это решение, которое вы принимаете, когда его требует конкретная функция, а не архитектура, на которую вы подписываетесь заранее. Запустите приложение в лёгком, короткоживущем режиме и переключите его на контейнер в тот момент, когда добавите часть, которая должна сохраняться.
Это отвечает подходу osFoundry: держать чат, агентов, приложения, код и данные в одном рабочем пространстве, а не разбрасывать по отдельным хостинг-аккаунтам. Поскольку osFoundry работает по принципу bring-your-own-key и local-first, вы запускаете собственное приложение на своих условиях, без обёртки из SaaS с оплатой за место. Контейнерные вычисления распространяют это на бэкенд: когда ваше приложение вырастает из помощника без состояния в нечто, что должно оставаться запущенным, в рабочем пространстве для него уже есть место.
Ключевые возможности
- Переключайте любое приложение osFoundry между короткоживущим и контейнерным режимом, не меняя его код
- Запускайте долгоживущие процессы: WebSocket-серверы, фоновые воркеры, планировщики и демоны
- Храните тёплое состояние в памяти между запросами вместо холодного старта на каждый вызов
- Выбирайте режим для каждого приложения, чтобы платить за постоянный процесс только там, где функция этого требует
- Бэкенд живёт в том же рабочем пространстве, что и ваш чат, агенты, код и данные
Сценарии использования
- Разработчик: в приложение добавили функцию WebSocket для живых обновлений, поэтому его режим переключают на контейнер, чтобы держать соединения открытыми
- Создатель автоматизаций: фоновому воркеру, который разбирает очередь задач и работает по расписанию, нужен процесс, который никогда не спит
- Тимлид: прототип начинался без состояния и, когда ему понадобились тёплый кэш и постоянный бэкенд, перешёл в контейнерный режим без пересборки
Часто задаваемые вопросы
Когда стоит переключить приложение на контейнерные вычисления вместо режима по умолчанию?
Переключайте, когда приложению нужно, чтобы что-то оставалось живым между запросами: открытые соединения (как WebSocket), фоновые или запланированные воркеры, процесс-демон или состояние в памяти, которое вы не хотите терять на каждом вызове. Если приложение просто отвечает на запросы и завершается, лучше подойдёт более лёгкий короткоживущий режим.
Нужно ли переписывать приложение, чтобы запустить его как контейнер?
Нет. Это то же приложение в другом режиме. Вы переключаете настройку выполнения, и существующий код работает как постоянный процесс. В этом и вся идея: можно начать с простого приложения и перейти к контейнеру лишь тогда, когда этого действительно потребует какая-то функция.
Как это связано с тем, что osFoundry работает по принципу bring-your-own-key и local-first?
Контейнерные вычисления — о том, где выполняется бэкенд вашего приложения, поэтому они встают в один ряд с остальным osFoundry: ваши ключи, ваши модели и ваши данные остаются под вашим контролем, а бэкенд приложения живёт в том же рабочем пространстве, что и ваш чат, агенты, код и данные, а не в отдельном хостинг-аккаунте.