Volta - инфраструктурный стартап, который строит облачную платформу с нуля и без legacy.
Мы создаём собственную IaaS/PaaS-платформу на базе трёх собственных дата-центров в Москве, с фрикулингом, гипервизором на Rust, собственным SDN с hardware offload.
Ищем сильного Go-инженера для разработки:
- высоконагруженного metering миллионов облачных ресурсов;
- rating и billing engine;
- quota и resource management;
- внутренних сервисов cloud control plane.
Это возможность для разработчика напрямую влиять на архитектуру продукта и участвовать в создании 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 виртуальных машин, если одновременно работает несколько миллионов ресурсов, а события об их создании, изменении и удалении могут дублироваться, теряться и приходить с опозданием?
Нам важен не идеальный ответ, а способ мышления: какие инварианты вы определите, где будете хранить состояние и как обеспечите возможность восстановления и перерасчёта.
Ключевые навыки
- Golang
- PostgreSQL
- Clickhouse
- Kubernetes
- Go
Соискателям с особенностями здоровья
- Хронические заболевания