ANYKS
EN
планANYKS Web Framework

AWF — сайт одним исполняемым файлом

Сервер приложений, в котором сайт, портал или API пишутся на Python, Lua или TCL, а всё, что под ними, — сеть, протоколы, шифрование, кластер — компилированное ядро AWH без единой сторонней зависимости.

01 Задача

Сегодня веб-портал — это стек из двадцати частей

  • nginx или Apache впереди, отдельный процесс приложения позади — две конфигурации, два журнала, две точки отказа.
  • Интерпретатор с менеджером пакетов и десятками зависимостей — у каждой своя версия, свои уязвимости, свой темп обновлений.
  • Отдельные службы под очереди, кэш, поиск, планировщик — ещё четыре демона под наблюдение.
  • Контейнеры, чтобы всё это вообще воспроизводилось.

Что нужно разработчику

Один инструмент: написал обработчик — получил работающий сайт. Развернуть то же самое на Windows, ARM или BSD — не отдельный проект, а та же команда.

02 Решение

Один исполняемый файл — вся площадка

AWF ставится одним файлом и сразу является веб-сервером, средой исполнения сценариев, кластером процессов и набором из тридцати готовых модулей.

1 · Запрос

HTTP/1.1, HTTP/2, HTTP/3 или WebSocket приходит в ядро и разбирается компилированным кодом.

2 · Сценарий

Ядро находит сценарий по доменному имени; обработчик на Python, Lua или TCL получает разобранный запрос.

3 · Ответ

Сжатие, шифрование, отдача — снова на стороне ядра; сценарий об этом не думает.

Архитектура не придумывается с нуля: слой сценариев с зеркальными модулями, привязкой к доменам, очередями и шифрованием сценариев годами работает в нашем закрытом проекте, где пользовательский код исполняется на сервере под нагрузкой.

03 Главное

Три языка — три разные причины

Lua · порог входа

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

TCL · власть над системой

Язык, сросшийся с оболочкой ОС: естественно управляет системой и внешними программами. Сайт становится панелью управления серверами и оборудованием; наследие телекома и САПР переносится без переписывания.

Python · весь мир пакетов

Самый популярный язык и полная поддержка pip без ограничений. Нейросети, обработка данных, компьютерное зрение — прямо в обработчике страницы, без россыпи отдельных служб.

Все три получают зеркально одинаковый набор модулей: web, ws, tcp, dns, ntp, fs, regexp, csv, hash, syslog, timer, hnsw, bloom, lev и другие — с одинаковыми именами методов и поведением.

04 Модульность

Модули на разных языках работают как одно целое

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

# TCL · обслуживание
catalog call "reindex" $ids
-- Lua · каталог
ai:call("embed", text)
# Python · умный поиск
shop.call("price", sku)

Команда не спорит о языке, модуль переписывается на другой язык без правки остальных, а библиотека модулей ставится в любой проект. Записи иллюстрируют проектируемый интерфейс; форма вызова закрепляется при переносе слоя сценариев.

05 Автономность

Языки — часть проекта, а не зависимость

ЯзыкВерсияКак собран
Python3.13оптимизация по профилю исполнения (PGO), ThinLTO, -O3
Lua5.4семь платформенных правок: ARM, FreeBSD, Solaris, Windows, Windows ARM
TCLmainстатическая 64-разрядная сборка

Дистрибутивы так не собирают: системный Python собран ради совместимости, без PGO и сквозного связывания. Пакеты pip ставятся встроенным интерпретатором в каталог площадки — весь мир библиотек доступен, но живёт внутри платформы, а не в системе заказчика.

06 Архитектура

Процессы вместо потоков

AWF строится на кластере процессов AWH, который работает и под Windows: мастер принимает подключения и раздаёт их работникам.

  • Изоляция площадок. Сценарий соседа не прочитает вашу память и не уронит ваш процесс.
  • Перезапуск упавшего. Кластер поднимает погибший процесс, площадка продолжает отвечать.
  • Потолок Python снят. Глобальная блокировка интерпретатора живёт внутри процесса — восемь процессов, восемь ядер.
  • Память под контролем. Утечка в сценарии ограничена своим процессом и обнуляется его перезапуском.
  • Обновление без простоя. Работники заменяются по одному, мастер продолжает принимать подключения.
  • Одна установка — сотни площадок, каждая своим процессом, со своими правами, лимитами и журналом.
07 Поставка

Проект уезжает к заказчику одним приложением

Сценарии площадки шифруются и упаковываются вместе с платформой. Заказчик получает работающий веб-проект как единое приложение — без исходных кодов и без понимания, как он устроен внутри.

  • Исходники не уезжают: код запечатан под AES-GCM, ключ разделён на части, запуск проверяется ключом лицензии.
  • Архитектура не раскрывается: снаружи виден один исполняемый файл.
  • Закрытый контур: ни доступа к нашим серверам, ни интернета.

Что это меняет

Студия продаёт результат, а наработки остаются у автора. Продуктовая компания ставит коробочную версию на серверы клиента, не отдавая продукт целиком. Каталог готовых решений — форум, корзина, личный кабинет — без утечки исходников.

08 Сравнение

Где AWF сильнее привычных стеков

AWFPHP + nginxNode.jsPython + Django
Частей в поставкеоднадве и большедве и большетри и больше
Внешних зависимостей ядранольдесяткисотнидесятки
HTTP/3 своей реализациейдачерез сервер впередичастичночерез сервер впереди
Языков для логикитриодинодинодин
Изоляция площадок процессамивстроенаснаружиснаружиснаружи
ГОСТ в комплектедавнешний модульнетвнешний модуль
Защита исходников при поставкевстроенанетнетнет
Зрелость экосистемыначинаемогромнаяогромнаяогромная

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

09 План

Три этапа

Этап 1 · Ядро площадки

  • слой сценариев на AWH v5
  • кластер процессов
  • маршрутизация по доменам и статика
  • сессии, формы, загрузка файлов

Этап 2 · Продукт

  • панель управления площадками
  • лимиты и журналы площадок
  • документация и примеры на трёх языках

Этап 3 · Экосистема

  • каталог сценариев с лицензированием
  • шаблоны: портал, магазин, база знаний
  • умные функции на векторном индексе