Эшелон 370 для вашего кода: Почему мой стек — это FreeBSD 15 и ARM на Hetzner
Когда ты сидишь в левом кресле Boeing 737, пролетая над ночным Дубаем, ты ценишь две вещи: предсказуемостьи избыточность. В авиации нет места «авось». Каждая система должна работать штатно, а если она отказывает — протокол переключения должен быть мгновенным.
Когда я возвращаюсь домой в Киев или отдыхаю на Пхукете, я переношу эту философию в свой код. Мой выбор для пет-проектов и торговых скриптов может показаться консервативным, но для меня это — «Checklist Complete».
Почему FreeBSD 15?
Многие спросят: «Почему не вездесущий Linux?». Ответ прост — архитектура.
FreeBSD — это не дистрибутив, это цельная операционная система. В авиации мы называем это интегрированной модульностью. Я точно знаю, где лежат конфиги, как работает сетевой стек и почему UFS на NVMe в 2026 году — это лучший выбор для легковесного сервера.
В FreeBSD 15 поддержка ARM64 (Tier-1) доведена до идеала. Устанавливая её на инстанс Hetzner CAX11, я получаю систему, которая потребляет всего 150 МБ оперативной памяти. В мире, где Docker-контейнеры «съедают» гигабайты еще до старта приложения, это кажется магией. Но это просто инженерный расчет.
Стек «Три семерки»: Go, HTMX, Tailwind
Мой инструментарий отражает мой стиль полета — минимум визуального шума, максимум функциональности.
- Golang: Это мой второй пилот. Он быстрый, строгий и компилируется в один бинарник. Мне не нужны интерпретаторы или зависимости на сервере. Скомпилировал под ARM64, закинул на сервер — и он работает.
- HTMX: Я устал от тяжелых JS-фреймворков, которые обновляются чаще, чем я прохожу тренажер (SIM). HTMX возвращает нас к истокам: сервер отдает HTML. Это быстро, это надежно, это легко отлаживать.
- Tailwind CSS: Это как приборная панель Modern Glass Cockpit. Всё на своих местах, никакой лишней стилизации, только чистая функциональность и скорость разработки.
Перелет на ARM: Hetzner CAX11
Переход на процессоры Ampere Altra в облаке — это как переход с классических двигателей на новые LEAP-1B. Тише, холоднее и гораздо эффективнее. За 4 евро в месяц я получаю 4 ГБ оперативной памяти. Для связки Caddy + Go этого объема хватит, чтобы обслуживать трафик небольшого аэропорта.
Использование UFS вместо ZFS на таких маленьких узлах — мой осознанный выбор. Зачем мне тратить драгоценную память на кэш файловой системы, если я могу отдать её под кэш котировок с Interactive Brokers?
Checklist для разработчика
Если вы хотите собрать систему, которая не «свалится в штопор» под нагрузкой, мой совет:
- Упрощайте. Чем меньше слоев между железом и кодом, тем лучше.
- Оптимизируйте. Включите TCP BBR, настройте
noatimeна дисках, уберите лишние демоны. - Автоматизируйте. Caddy сам разберется с SSL, пока вы отдыхаете на пляже.
Программирование, как и полет — это управление энергией и информацией. И на FreeBSD 15 я чувствую, что полностью контролирую свой штурвал.
Member discussion