Senior / Principal Go Engineer — Cloud Metering, Billing & Resource Management
Описание
Volta - инфраструктурный стартап, который строит облачную платформу с нуля и без legacy. Мы создаём собственную IaaS/PaaS-платформу на базе трёх собственных дата-центров в Москве, с фрикулингом, гипервизором на Rust, собственным SDN с hardware offload. Ищем сильного Go-инженера для разработки: высоконагруженного metering миллионов облачных ресурсов; rating и billing engine; quota и resource management; внутренних сервисов cloud control plane. Это не вакансия про интеграцию платёжных API, эквайринг или CRUD. Это возможность для разработчика напрямую влиять на архитектуру продукта и участвовать в создании cloud-native платформы с нуля. Чем предстоит заниматься: сбор и обработка usage-событий по VM, CPU, RAM, storage, network и PaaS-сервисам; дедупликация, идемпотентность, replay и обработка late/out-of-order events; агрегация потребления и перерасчёт исторических данных;разработка тарифов, начислений, балансов и double-entry ledger; tenant/project quotas и конкурентное резервирование ресурсов; reconciliation фактического и учётного состояния; проектирование API, сервисных границ и event-driven взаимодействия; масштабирование PostgreSQL, ClickHouse и брокеров событий. Что ожидаем: Понимание предметной области IaaS/PaaS, биллинга, квот и учета ресурсов. Опыт в работы в смежных отраслях (облаках, хостинге, телекоме); Опыт написания операторов/контроллеров для k8s будет плюсом; Сильный коммерческий опыт разработки на Go; Достаточное понимание и опыт с PostgreSQL, clickhouse, kafka для проектирования масштабных систем; Умение брать ownership, предлагать архитектуру и аргументированно защищать свои решения; Условия: Сложный инфраструктурный продукт; Прямое влияние на архитектуру и принятие архитектурных решений; Полное отсутствие бюрократии; Оформление по ТК РФ или индивидуальное решение для иностранных специалистов; Аккредитованная IT компанияЧто написать при отклике Вместо стандартного сопроводительного письма кратко опишите: Как бы вы спроектировали metering виртуальных машин, если одновременно работает несколько миллионов ресурсов, а события об их создании, изменении и удалении могут дублироваться, теряться и приходить с опозданием? Нам важен не идеальный ответ, а способ мышления: какие инварианты вы определите, где будете хранить состояние и как обеспечите возможность восстановления и перерасчёта.