Интервью с техническим директором и соучредителем Amberflo.io Лиором Мечловичем
Лиор (Лиор Мехлович), технический директор и соучредитель Amberflo.io, рассказывает, как они обрабатывают миллиарды событий, чтобы предоставлять услуги на основе счетчиков. Amberflo.io использует лямбда-функции для бесконечного масштабирования и предоставления высокофункционального продукта с детализированными данными.
«Масштабирование от 0 до бесконечности очень важно для нас, поскольку мы обслуживаем компании с высокой пропускной способностью и миллиардами событий счетчиков»
› Хотите, чтобы ваша компания прошла собеседование в рамках программы Level Up Coding? Заполните эту форму
› Вы разработчик и ищете интересную работу? Посетите рекрутинговую платформу Level Up

Чем занимается ваша компания? Что привлекло вас в этой идее?
Мы запустили amberflo.io 2 года назад, и в мои обязанности как технического директора входит управление командой инженеров и, как всегда в молодом стартапе, всего понемногу.
Amberflo.io — это облачная платформа для измерения и выставления счетов на основе использования. Мы помогаем компаниям измерять и точно выставлять счета своим клиентам на основе использования.
Мой соучредитель Пунит Гупта и я провели много времени в AWS и других ведущих компаниях, создавая и масштабируя облачные сервисы на основе использования с фиксированным ценообразованием, выставлением счетов и выставлением счетов. Мы воочию убедились в огромных преимуществах использования бизнес-модели, основанной на использовании.

Можете ли вы рассказать об облачных измерениях и о том, как работает ваш продукт?
Мы пришли из AWS, где могли точно увидеть, как работает ценообразование на основе использования. Это может быть вычислительная мощность или запросы API. Все дело в высокоточных данных, за которые можно выставлять счета — сколько и как долго.
Мы предоставляем учет как услугу, поэтому это решение B2B. Мы помогаем клиентам измерять клиентов, а затем взимать с них плату с помощью Stripe. Так же, как AWS выставляет счета своим клиентам, мы предоставляем те же функции выставления счетов в качестве услуги нашим клиентам для варианта использования их компании и того, как их клиенты взаимодействуют с их продуктом.

Можете ли вы привести несколько примеров того, как ваши клиенты используют Amberflo.io?
У нас есть клиенты во всех отраслях, особенно в инфраструктуре — API, хранилище, сети и т. д. Мы можем получить еще более детализированные решения, такие как кластеры Kafka, где вы указываете облачного провайдера, регион экземпляра и размер.
Одним из примеров является монетизация API — как долго она работала или сколько записей обрабатывалось.
Еще один очень интересный случай — компания AI B2C, которая использует его как систему на основе кошелька, которая монетизируется действиями, например. твиты или другие действия ИИ.
Как предоставляется услуга — SDK?
Существуют API и SDK, которые позволяют нашим клиентам использовать Amberflo. Мы также можем подключаться другими способами, например, через Cloudwatch.
Какой стек технологий вы используете и почему выбрали именно его?
Мы используем serverless (AWS Lambda) с NodeJS и Java в качестве серверной инфраструктуры. Для нас было естественным использовать AWS, поскольку у команды основателей был большой опыт работы с AWS. Мы считаем, что бессерверные технологии лучше всего соответствуют реальному использованию наших клиентов и нашим затратам на их поддержку. Масштабирование от 0 до бесконечности очень важно для нас, поскольку мы обслуживаем компании с высокой пропускной способностью и миллиардами событий счетчиков. Наша система управляется событиями с принципами разработки, основанными на идемпотентности (обработка один и только один раз) для обеспечения высокой точности.
NodeJS предназначен для платформы и метаданных и работает с веб-сайтом и управлением пользователями.
Java предназначена для более тяжелой работы, такой как конвейеры и выставление счетов. Холодный запуск Java является проблемой в функциях Lambda. С конвейерами данных все в порядке, потому что это бэк-офис. Для производительности реактивного веб-приложения это может быть плохо.
Компромисс между ценой и бесконечным масштабированием огромен, поэтому компромисс стоит того, чтобы начать холодный старт. Мы обрабатываем миллиарды событий, что возможно только с помощью Lambda. Мы выставляем счета нашим клиентам точно так же, как нам выставляют счета функции Lambda (на основе использования), поэтому это хорошо согласуется.

Как для вас выглядит обычный день?
- Ежедневные встречи с backend и frontend командой.
- Встречи с клиентами.
- Встречи по дизайну/архитектуре с ведущими инженерами
- Собеседование с кандидатами
- Обзор данных измерений (сколько событий принимает система amberflo, сколько новых счетчиков создано)
- Операционные метрики (задержка, ошибки, инциденты)
Команда: 13 сотрудников. В эти дни я в основном занимаюсь встречами и организацией.
Как начиналась компания?
Мой соучредитель Пунит Гупта и я провели много времени в AWS и других ведущих компаниях, создавая и масштабируя облачные сервисы на основе использования с фиксированным ценообразованием, выставлением счетов и выставлением счетов. Мы воочию убедились в огромных преимуществах использования бизнес-модели, основанной на использовании.
Переход к точному измерению на основе использования нетривиален и требует больших усилий. Мы видели команды разного размера (от 10 до 70 инженеров), управляющие услугами биллинга/измерения в ведущих компаниях, таких как Twillio, Databricks и Snowflake.
Мы знаем, как сложно выставлять счета по счетчикам. Гораздо сложнее, чем вы думаете изначально. Мы видели, как несколько компаний создавали эту измерительную и биллинговую инфраструктуру, но не всегда успешно, и знаем, что можем помочь им стать лидерами с ценообразованием на основе использования намного проще и быстрее.
Что делает вашу компанию уникальной?
С самого начала мы очень четко заявляли о ценностях нашей команды основателей https://www.amberflo.io/about. Мы полностью удалены, и для нас очень важно сохранить культуру, с которой мы начали. Мы работаем над очень сложными проблемами, которые сильно влияют на наших клиентов, планка высока.
Какие самые интересные проблемы вы решаете?
Все начинается с измерения использования клиентами, точно и в масштабе.
Идемпотентность и дедупликация данных — обработка один и только один раз: убедитесь, что ваши клиенты не переплачивают (или не занижают).
В распределенной среде предотвращение дублирования записей — непростая задача. Вы хотите, чтобы служба измерения использования игнорировала повторяющиеся записи, даже если клиент повторяет попытку той же записи. Это делает службу измерения использования идемпотентной.
Масштабирование для различных рабочих нагрузок является сложной задачей. Шаблоны использования могут колебаться, и записи не должны быть удалены
Экономически эффективное масштабирование до миллионов и миллиардов событий, например, для учета вызовов API. Подсчет совокупного количества вызовов API за последние 6 месяцев, а затем, например, разбивка по 10 основным клиентам.

Как будет выглядеть мир, когда ваша компания реализует свое видение?
Измерение использования клиентов станет сегодня флажком, как мониторинг серверов.
Сегодня, когда вы запускаете стартап, вам нужен Datadog или эластичный поиск. Все данные должны куда-то идти. Так будет и с замерами. «Кто что использует и как долго». Вы хотите связать каждое действие — хранилище всего использования клиентов. Он отправляет эти данные в разные приложения. Замер становится полным профилем. Вы по-прежнему хотите знать, с точки зрения бизнеса, что именно делает и изменяет использование клиента, и с amberflo вы можете получить высокую степень детализации.
Вы не можете сделать это легко в наши дни. Amplitude и Mixpanel используют только веб- и мобильную аналитику — звучит одинаково, но это не так. Вы не можете получить полный спектр того, что делает клиент. Вы только определяете свои воронки и получаете этот результат, но на самом деле это только такие вещи, как веб-клики, а не вызовы API и реальное использование. Никто не строит измерение или использование клиентов на своей Amplitude. Продукты отличные, но это не их цель.
Например, компания ИИ, которая делает выводы для моделей ИИ. Они создают так много моделей и экземпляров, они гораздо больше ориентированы на измерение и бэкэнд. Нужен объем и умение реально концентрироваться на всех предпринимаемых действиях.

Как вы впервые занялись разработкой программного обеспечения?
Я думаю, это началось, когда мне было 14, когда я взял уроки программирования и сразу влюбился в него. Во время службы в разведывательном ядре АОИ это стало больше, чем просто хобби. Я всегда любил что-то строить и гордился тем, что построил.
Есть ли какие-то технологии или инструменты, с которыми вы сейчас работаете и которые вам нравятся?
На данный момент мне очень интересны две вещи:
- OpenTelemetry для бессерверной трассировки. Конвейеры — это то, как вы прослеживаете все функции, которые обрабатывают данные. Это высокотехнологичная и масштабная задача. Мы также хотим найти эквивалент в измерениях.
- AWS Lambda работает на инстансах ARM по сниженной цене.
Опишите аппаратную настройку вашего компьютера
Макбук про М1, 16 ГБ
Опишите настройку программного обеспечения вашего компьютера
Visual Studio Code, Slack, рабочий стол Github, интерфейс командной строки AWS
Вы нанимаете и на какие роли?
Разработчики, SRE/devops, дизайнер продукта, менеджер продукта.
Свяжитесь с нами по адресу [email protected].
Куда мы можем пойти, чтобы узнать больше?
Повышение уровня кодирования
Level Up — это сообщество из 3 миллионов разработчиков в месяц (узнай больше и подпишись или читай больше интервью). Мы также работаем с лучшими стартапами и самыми инновационными технологическими компаниями 🔥
- Вы разработчик? Попросите лучших компаний связаться с вами
➡️ Присоединяйтесь к коллективу талантов Level Up - ➡️ Нанять инженеров уровня FAANG
- ➡️ Форма запроса на собеседование, чтобы провести собеседование в вашей компании.
Мы также предоставляем разработчикам бесплатные инструменты для карьерного роста: Курс собеседования по программированию, автоматическое построение резюмеr, API портфолио