Рубрика «Блог компании Avito»

15 сентября в офисе Авито состоится встреча, посвященная масштабированию приложений на PostgreSQL. Поговорим об алгоритмах и нюансах реализации транзакционности в языках программирования, построении бизнес-транзакций в сервисах с паттерном database per service, как устроена OZO — асинхронная типобезопасная header-only библиотека-клиент PostgreSQL для C++17, и уровнях изоляции транзакций PostgreSQL. С докладами выступят Стас Кельвич (Postgres Professional), Сергей Хандриков (Яндекс), Константин Евтеев (Авито) и Михаил Тюрин. Регистрируйтесь на встречу и приглашайте коллег. Под катом — тезисы выступлений докладчиков, ссылка на регистрацию и информация по трансляции митапа.

image

Читать полностью »

Привет!

Наши коллеги постоянно выступают на технических конференциях самого разного масштаба — от встреч локальных сообществ до мировых форумов. Мы часто проводим в нашем офисе митапы для разработчиков, для которых ищем и находим самых интересных спикеров. И вот уже больше двух лет мы с маленькой, но гордой командой технопиара рассказываем о работе технического отдела Авито в разных источниках. Начиналось всё с твиттера, продолжалось фейсбуком, потом мы начали делиться инженерными историями здесь, на Хабре.
В итоге накопилось очень много контента разной тематики (бэкенд и фронтенд, мобильная разработка и тестирование, DevOps и высокие нагрузки...), в котором бывает довольно сложно разобраться и найти нужную информацию в разных источниках. Нас часто спрашивали, есть ли место, где есть всё про технологии Авито. И вот, кажется, что мы подросли настолько, что готовы объединить собранное за эти годы на отдельном сайте. Встречайте — avito.tech!

Делимся технологическим контентом: собрали все наши материалы на одном сайте - 1

Читать полностью »

Что такое Istio? Это так называемый Service mesh, технология, которая добавляет уровень абстракции над сетью. Мы перехватываем весь или часть трафика в кластере и производим определенный набор операций с ним. Какой именно? Например, делаем умный роутинг, или реализуем подход circuit breaker, можем организовывать «canary deployment», частично переключая трафик на новую версию сервиса, а можем ограничивать внешние взаимодействия и контролировать все походы из кластера во внешнюю сеть. Есть возможность задавать policy правила для контроля походов между разными микросервисами. Наконец, мы можем получить всю карту взаимодействия по сети и сделать унифицированный сбор метрик полностью прозрачно для приложений.

Про механизм работы можно прочитать в официальной документации. Istio — это действительно мощный инструмент, который позволяет решить множество задач и проблем. В этой статье я бы хотел ответить на основные вопросы, которые обычно возникают в начале работы с Istio. Это поможет вам разобраться с ним быстрее.

Как запустить Istio, используя Kubernetes в production. Часть 1 - 1

Читать полностью »

11 августа в нашем офисе прошел Avito Mobile Testing Meetup — митап, полностью посвященный тестированию приложений на платформах iOS и Android. Говорили о качестве мобильного приложения — как понять, что оно работает должным образом, о нативных UI-тестах в iOS — что тестировать и какие инструменты помогут их улучшить. Обсуждали, что лучше использовать в тестировании Android-приложений — Appium или Espresso, и в end-to-end тестах — можно ли их организовать в больших мобильных проектах, и не только.

Кроме того, коллеги из Яндекса рассказывали о своём инструменте тестирования производительности мобильных телефонов, а мы представили телеграм-бота Гошу, который присматривал за всеми из-за угла, провели целых две викторины и наградили участников, приехавших на митап из Волгограда и Воронежа. В общем, получился настоящий фестиваль мобильного тестирования.

Под катом делимся впечатлениями, фото, видео, презентациями со встречи и отзывами слушателей.

Run, Test, Run. Рассказываем, как прошел Mobile Testing Meetup - 1Читать полностью »

Всем привет! Меня зовут Миша Каменщиков, я занимаюсь Data Science и разработкой микросервисов в команде рекомендаций Авито. В этой статье я расскажу про наши рекомендации похожих объявлений и о том, как мы улучшаем их при помощи многоруких бандитов. С докладом на эту тему я выступал на конференции Highload++ Siberia и на мероприятии «Data & Science: Маркетинг».

imageЧитать полностью »

Мы собираем более двух миллиардов аналитических событий в сутки. Благодаря этому можем узнать кучу необходимых вещей: нажимают ли на сердечки больше, чем на звёздочки, в какие часы пишут более развёрнутые описания, в каких регионах чаще промахиваются по зелёным кнопкам.

Систему сбора и анализа событий можно обобщённо назвать кликстримом. Расскажу о технической стороне кликстрима в Авито: устройство событий, их отправка и доставка, аналитика, отчёты. Почему хочется своё, если есть Google Analytics и Яндекс.Метрика, кому портят жизнь разработчики кликстримов и почему go-кодеры не могут забыть php.

Ни GA, ни ЯМ. Как мы сделали собственный кликстрим - 1

Читать полностью »

Привет! Меня зовут Константин Евтеев, я работаю в Авито руководителем юнита DBA. Наша команда развивает системы хранения данных Авито, помогает в выборе или выдаче баз данных и сопутствующей инфраструктуры, поддерживает Service Level Objective для серверов баз данных, а еще мы отвечаем за эффективность использования ресурсов и мониторинг, консультируем по проектированию, а возможно и разрабатываем микросервисы, сильно завязанные на системы хранения, или сервисы для развития платформы в контексте хранилищ.

Я хочу рассказать, как мы решили один из вызовов микросервисной архитектуры — проведение бизнес-транзакций в инфраструктуре сервисов, построенных с помощью паттерна Database per service. С докладом на эту тему я выступал на конференции Highload++ Siberia 2018.

imageЧитать полностью »

11 августа в офисе Авито пройдет первый митап, посвященный тестированию мобильных приложений на платформах iOS и Android. Поговорим о нативных UI-тестах в iOS — что тестировать и какие инструменты помогут их улучшить, end-to-end тестах — можно ли их организовать в больших мобильных проектах, качестве мобильного приложения — как понять, что оно работает должным образом, и выясним, что лучше использовать в тестировании Android-приложений — Appium или Espresso. Обо всем этом расскажут Артем Разинов (Авито), Павел Иванов (Альфа-Банк), Алексей Денисов (PTScientists) и Алексей Емелин (Яндекс). Под катом — тезисы выступлений докладчиков, ссылка на регистрацию и важная информация по трансляции митапа.

image

Читать полностью »

Привет! Мы обожаем квизы, посвященные языкам программирования. В нашем блоге мы разместили уже целых три: первый — по Python, PHP, Golang, DevOps, второй — полностью по Go, третий — только по PHP. Сегодняшний квиз посвящен исключительно Python.

Предлагаем вам размяться в честь конца ещё одной летней недели и в преддверии PyCon Russia 2018. (Кстати, кто едет? Мы там будем).

Под катом — семь вопросов, советы от друга, Чапаев, отрывки из ABBA (что? да!) и крутой мерч.

Разминка для тех, кто умеет в Python - 1

Читать полностью »

Возможно, некоторые из читателей уже слышали про Centrifugo раньше. В данной статье речь пойдет о разработке второй версии сервера и новой real-time библиотеке для языка Go, лежащей в его основе.

Меня зовут Александр Емелин. Летом прошлого года я присоединился к команде Авито, где сейчас помогаю разрабатывать бэкенд мессенджера Авито. Новая работа, напрямую связанная с быстрой доставкой сообщений пользователям, и новые коллеги вдохновили меня продолжать работу над open-source проектом Centrifugo.

Centrifugo v2 — будущее сервера real-time сообщений и библиотека для Go - 1

Читать полностью »