Статьи: Cloud by Naasson
Облака и платформы, которые остаются у вас
Cloud by NaassonИз чего собран приватный мониторинг фронтенда
Grafana Faro, OpenTelemetry и собственный бэкенд приёма событий. Дороже, чем подключить сторонний сервис за пять минут — и через год это инфраструктура без внешней зависимости.
Почему Yandex Cloud, если инструмент облако-независим
Инструмент разворачивается в любом облаке. Готовая покупка — в одном. Это не противоречие, а разница между возможностью и обязательством.
Отчёт по кластеру как артефакт, а не как экран
Панель показывает состояние сейчас. Отчёт можно приложить к задаче, сравнить с прошлым и передать тому, у кого нет доступа.
Артефакты, а не мнение
Совет на созвоне исчезает вместе с консультантом. Перечень компонентов с лицензиями, список пробелов в правах и описание архитектуры остаются и работают на проверке.
Три слоя без пересечений
Инфраструктура, сервисы, край площадки. Правило нулевого перекрытия между ними — не эстетика, а способ понять, кто виноват, когда что-то сломалось.
Двести семьдесят сервисов, и ни одного интересного
В каталоге нет ничего, что стоило бы показывать на конференции. Это и есть цель: инфраструктура должна состоять из решённых задач.
Наблюдение не должно портить наблюдаемое
Скрипт, который измеряет скорость загрузки, сам её замедляет. В вебе это не философское замечание, а измеримая величина.
Начинать с карты, а не с редизайна
Запрос «приведите интерфейс в порядок» почти всегда исполняют редизайном. Почти всегда это не помогает, потому что человек теряется не из-за оформления.
Дистрибутив Kubernetes отдельно от облака
Выбор дистрибутива не должен быть заодно выбором поставщика. Talos по умолчанию, upstream из штатных компонентов или облегчённый дистрибутив — локально и в любом облаке.
Каталог, а не маркетплейс
Двести семьдесят приложений, вложенных в бинарник, вместо тысяч по ссылке. Разница в том, кто отвечает за то, что установка воспроизводима.
Сколько стоит наблюдаемость на своём железе
Подписки нет, но затраты есть: диск, память, внимание. Считаем честно и говорим, где своё дороже покупного.
Стабильные коды ошибок как часть интерфейса
Формулировку сообщения мы будем менять. Код — нет. Поэтому автоматизация опирается на код, а не на подстроку в тексте.
Домены, сертификаты и решение «наружу или нет»
У каждого приложения в каталоге есть метаданные о способе аутентификации и публикации. Это не описание — это то, от чего зависит, попадёт оно в интернет или нет.
Продукту — реальное поведение, а не клики
Счётчик кликов говорит, что кнопку нажали. Он не говорит, что перед этим страница думала четыре секунды и половина людей ушла до того, как она ответила.
Один бинарник вместо платформы
Установка — одна команда, обновление — замена файла, удаление — удаление файла. У платформы, которую надо разворачивать, чтобы разворачивать инфраструктуру, есть проблема курицы и яйца.
Обновление приложения — это коммит
Версия чарта закреплена в репозитории. Значит, обновление видно в диффе, откат — это откат коммита, а «оно само обновилось» становится невозможным.
Единый вход вместо девяти паролей
ArgoCD, Grafana, Hubble, внутренние сервисы — каждый со своей формой входа. Единая точка входа нужна не для удобства, а чтобы отзыв доступа был одной операцией.
Переезд из живого облака: разведка только на чтение
Сначала читаем существующую инфраструктуру, строим карту зависимостей и печатаем проект Terraform. Применяете его вы, а не мы.
Пробный прогон, который ничего не делает
Отдельный флаг показывает, что именно запишется в репозиторий, не записывая. Скучная функция, которая экономит больше времени, чем любая другая.
Метрика, лог и трейс отвечают на разные вопросы
Их принято называть тремя столпами и собирать все три сразу. Полезнее понимать, на какой вопрос отвечает каждый — иначе платишь за хранение трёх копий одного.
Никакого притворного успеха
Если бэкенд не поддержан, команда говорит это кодом ошибки. Не возвращает пустой результат, не рисует воображаемую схему, не сообщает об успехе.
Что входит в одну покупку
Работающая инфраструктура, а не отправная точка, которую потом надо доделывать самому. Разбираем состав и границы.
Оповещение, на которое не реагируют, хуже его отсутствия
Канал, где за месяц двести сообщений и ни одного действия, обучает команду игнорировать сообщения. Это обучение потом работает и в настоящей аварии.
Машинный вывод: конверт со схемой, а не разбор текста
Агенты, MCP-серверы и скрипты CI обязаны читать JSON, а не парсить человеческий вывод. У каждого события есть имя схемы, метка времени и признак завершённости.
Одна общая база вместо девяти отдельных
Каждое приложение из каталога умеет поднять себе свой Postgres. Девять приложений — девять баз, девять резервных копий, девять обновлений. Есть режим общей.
SLO вместо «всё зелёно»
Панель, на которой всё зелёное, не отвечает на вопрос, хорошо ли работает сервис. Цель по уровню обслуживания отвечает, потому что содержит число и срок.
Каталог состояния: что коммитить, а что никогда
Состояние проекта живёт в одном месте, и у каждого файла в нём есть явный ответ на вопрос, попадает ли он в репозиторий.
GPL в коммерческом продукте и другие сюрпризы на due diligence
Инвестор проводит проверку и находит проблемы, о которых вы не знали. Дешевле найти их первым — это и есть предмет консалтинга.
Установка пишет в репозиторий, а не в кластер
Команда установки не означает «поставить сейчас». Она означает «записать, что это должно быть». Ставит ArgoCD, и это меняет смысл всех остальных операций.
Инженеру — причина, а не симптом
«Страница загружается медленно» — это симптом. Причина находится в другом месте, и хороший дашборд отличается от плохого именно тем, ведёт ли он к ней.
Два трека в одном бинарнике
Простой трек — виртуальная машина и compose, императивно. Производственный — Talos, Cluster API и ArgoCD, декларативно. Трек определяет файл описания.
Интерфейс — это навигация, а не страницы
Веб-слой — место, где сложная система встречается с человеком. Мы делаем его для своих систем, поэтому рядом всегда живут наблюдаемость и производительность.
Три статуса в каталоге приложений
Проверено, кандидат, отключено. Третий статус — самый полезный: он говорит, чего нельзя поставить этой сборкой, и почему.
Приватный мониторинг фронтенда: данные не уезжают
Обычная аналитика отправляет поведение ваших пользователей на чужой сервер. Тот же набор данных можно собирать у себя — стек для этого существует и открыт.
Вне git-репозитория инструмент ничего не делает
Это не проверка для удобства, а несущее ограничение. На нём держатся журнал изменений, откат и безопасность работы нескольких человек.