AvitoTech
22.7K subscribers
1.87K photos
103 videos
1.67K links
Рассказываем, что у Авито под капотом, делимся инженерной экспертизой и зовём на митапы.

По всем вопросам: @direct_avitotech

Сайт: https://avito.tech
Хабр: habr.com/ru/company/avito
Гитхаб: github.com/avito-tech

Регистрация в РКН: https://clc.to/FOxC1A
Download Telegram
В формате небольшого приключенческого рассказа Илья Сауленко показывает то, как связаны друг с другом различные решения, которые мы принимаем в процессе разработки веб-сайтов и приложений.

Как выбор технологий влияет на размер команды, как размер команды влияет на подходы к тестированию, как подходы к тестированию связаны со структурой всей компании... дальше — интереснее: https://habr.com/company/avito/blog/426851/
Если у вас есть несколько баз данных, то можно представить, что это единая база. Просто гетерогенная, распределённая. Работа с ней порождает множество интересных задач. Прежде всего, с точки зрения бизнеса важно, чтобы с данными, движущимися по такой базе, все было нормально. Ситуация обостряется, если вы хотите, чтобы это всё функционировало в микросервисной архитектуре.

Николай Голов рассказал в нашем блоге о том, как обеспечить целостность данных в микросервисной архитектуре без распределенных транзакций и жесткой связности.

Важно: если вы были на Highload Siberia и слушали Николая с докладом на эту тему, то всё равно загляните в пост: в конце внимательных читателей ждёт образное, краткое и почти сказочное изложение темы.
29 октября Евгений Ольков, ведущий системный администратор в Авито, расскажет на Kubernetes Meetup #1 офисе Mail.Ru Group, как мы балансировали трафик в кластеры kubernetes, что было сложного в этом и как развивалась схема балансировки трафика.

Почему это интересно? Все знают, что Kubernetes — хороший инструмент для оркестрации контейнерами. Правда, при его внедрении некоторые сервисы находятся за пределами kubenetes-кластера. И в этот момент многие задумываются о балансировке и роутинге трафика.
Когда у нас был только монолит, весь трафик приходил на него, а в Kubernetes запускались только stateless-сервисы. Но с развитием микросервисной архитектуры монолит постепенно пилится, и теперь мы получаем множество различных схем взаимодействия между сервисами и монолитом.

Зарегистрироваться на митап, где также выступят коллеги из «Тинькофф Банк» и Mail.Ru Group, можно по ссылке: https://corp.mail.ru/ru/press/events/521/
Александр Лукьянченко, ведущий разработчик команды «Архитектура» в Авито, и Сергей Носков, наш инженер по безопасности, на DevOps Conf дали интервью Константину Буркалеву, Антону Черноусову и Ивану Глушкову для SDCast — подкаста о разработке ПО и его окрестностях.

О чем же говорили пять инженеров, когда собрались в одной студии?
• Как устроена платформа в Авито, как её развивали.
• Внутренние процессы, как мы обучали инженеров и повышали их квалификацию, о безопасности сервисов, кто такие Security Champions и зачем они нужны.
• И о Service Mesh, оркестрации контейнеров, управлении конфигураторами, о мониторинге и откладке сервисов.

Целый мир DevOps в одном подкасте (ну почти) 😎
Ура, инженеры! Поздравляем с пятницей, которую все так ждали. Пусть код пишется легко и непринуждённо, баги фиксятся, новые фичи разливаются будто ручей в весенний день, а менеджер хлопал по плечу и говорил «Молодец, Андрюха! Сегодня можешь уйти пораньше».

Добра всем!
#фотостокчеллендж
Рассказали на Хабре о том, как у нас построен процесс адаптации новичков в команде разработки. Внутри поста — впечатления коллег и немного фоточек.
Константин Евтеев и Андрей Аксенов выступят 31 октября на обучающем Highload-митапе по масштабированию баз данных.

Константин Евтеев, руководитель юнита DBA в Авито, расскажет как масштабировать базы данных с помощью репликации. Мы использовали этот паттерн у себя, чтобы решить множество технических вызовов. Теперь делимся с другими и системно объясняем, зачем нужна репликация и как лучше всего её применять. Для примера рассмотрим бинарную, логическую и Master-Master репликацию: их сильные и слабые стороны, кейсы использования, DRP.

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

Участие в митапе бесплатное, но предварительно нужно зарегистрироваться: https://conf.ontico.ru/event/join/mhl2.html
Бывает, что пользователи ищут на Авито специфический товар или услугу, либо по-особенному выражают свои желания — поэтому поисковые запросы выглядят забавно или странно. Но эти запросы нам нравятся ❤️
Мы отобрали из них пятьдесят самых необычных и пофантазировали, как выглядели бы объявления на Авито, если бы названия товаров или услуг в точности соответствовали поисковым запросам 🤩

Смотрите, что получилось, в нашем блоге на Хабре: http://bit.ly/searchfun
This media is not supported in your browser
VIEW IN TELEGRAM
Читайте как, используя паттерн Саг, обеспечить целостность данных в микросервисной архитектуре без распределенных транзакций и жесткой связности, в нашем блоге на Хабре:
http://bit.ly/2JIo7zE
Доброго утра!

Сегодня — второй день Highload++, и мы с коллегами вовсю делимся полезной информацией с участниками конференции.

Вчера Вадим Мадисон сделал первый доклад в Конгресс-холле, где поделился (ну почти) всем, что мы знаем о микросервисах. Николай Голов рассказал про концепцию логического хранилища данных. Андрей Дроздов поделился опытом Авито в области многокритериальной оптимизации поисковой выдачи.

Сегодня Владимир Колобаев выступит c докладом о том, как продолжает развиваться наша собственная система мониторинга (и почему мониторинг как сервис — это нужно и важно для команды разработки Авито). А Виктор Сафронов проведет мастер-класс, где покажет, как без особых проблем развернуть полноценный кластер kubernetes на своём компьютере.

И конечно, мы рады видеть всех на нашем стенде, где готовы ответить на вопросы про разработку Авито и разыграть (говорят, классный) мерч.
Сегодня на конференции HighLoad++ Виктор Сафронов покажет, как без особых проблем развернуть полноценный кластер kubernetes на своём компьютере. И расскажет, зачем вообще вам это может быть нужно. Вы узнаете о проблемах, с которыми можете столкнуться, и о путях их решения.
Встречаемся в зале Сан-Паулу в 14:00.

#HighLoad2018 #AvitoTech
Владимир Колобаев рассказал о создании и развитии нашего внутреннего сервиса мониторинга, который построен на популярных opensource-решениях: Graphite, Clickhouse, Prometheus, Moira.
В общем, метрики — всем!
#Highload2018
Конференция HighLoad++ завершается. За эти два дня мы успели многое рассказать: Николай Голов — про концепцию логического хранения данных, Вадим Мадисон — все, что нужно знать о микросервисах, Андрей Дроздов — как реализован механизм многокритериальной оптимизации поисковой выдачи, Владимир Колобаев — об устройстве нашего внутреннего сервиса мониторинга, а Виктор Сафронов на митапе показал, как развернуть полноценный кластер kubernetes на своем компьютере. Это была программа, насыщенная технологиями.

Спасибо всем, кто задавал вопросы и интересовался техническим «мясом». И поздравляем счастливчиков, заполучивших наш мерч в играх «Докер» и «AvitoTech Бинго».

Были рады со всеми увидеться и пообщаться. До новых встреч!
#HighLoad2018
25 ноября Роман Дворнов, руководитель команды платформы фронтенда в Авито, выступит с докладом на HolyJS Moscow про data science во фронтенд-разработке.

Роман расскажет о пользе data science для фронтенда, какие задачи решает подход, как мы к этому пришли. Представит Жору — наш инструмент для построения стендов анализа данных, на реальных примерах покажет, что уже можно с ним сделать и что будем делать дальше.

Ключевые события и программа HolyJS Moscow — в блоге конференции на Хабре: habr.com/company/jugru/blog/429708/
HighLoad++ 2018 отгремела. Делимся презентациями докладчиков от Авито, показываем конспекты выступлений от активных участников конференции, рассказываем об активностях на стенде (в частности, зачем этот бак на фото и откуда взялся кит-докер).
6 декабря в офисе Авито пройдет devleads meetup — мероприятие для тимлидов и руководителей разработки. Докладчики расскажут, как собрать эффективную команду, поделятся опытом оптимизации мобильной разработки и обсудят актуальные вопросы за круглым столом. Участвовать во встрече и делиться опытом будут представители Альфа-Банка, Cocoaheads Russia, mos.ru, mysky.com, Skyeng и, конечно, Авито.
Трудно сделать поиск на сайте таким, чтобы он нравился всем. Но мы на то и инженеры, чтобы постоянно работать над этой задачей. Читайте в блоге на Хабре, как менялся поиск на Авито. С чего начинала команда, и как мы сейчас улучшаем жизнь наших пользователей. Нововведения за последние месяцы появились как в продукте, так и в его начинке — технической части. Спасибо за статью говорим Вячеславу Крюкову, инженеру систем поиска.
Егор Толстой, руководитель разработки App Platform в Авито, выступил в Казахстане на конференции для iOS-разработчиков Kolesa Mobile 3.0.

О чем был доклад Егора: как удерживать качество продукта большого iOS-приложения на высоком уровне, какие техники использовать, типичные проблемы и советы для их решения. Видео с выступления можно посмотреть здесь → http://bit.ly/2DRYsnf

Тезисы и видео других докладов выложены в блоге конференции на Хабре: https://habr.com/company/kolesa/blog/431502/
Frontend + Data Science = 💪🏻

25 ноября прямо во время выступления на HolyJS Роман Дворнов выложил в open source Discovery — это инструмент для построения стенда анализа данных. И теперь он доступен для всех: https://github.com/discoveryjs/discovery

Другая полезная информация с выступления Романа на HolyJS Moscow 2018 — на слайдах: http://bit.ly/2SlSY8e
Константин Евтеев выступит на PgConf.Russia 2019, которая пройдет с 4 по 6 февраля на экономическом факультете МГУ, с докладом «Стендбай в бою».

Руководитель юнита DBA в Авито рассмотрит различные варианты использования и конфигурации standby-сервера. Расскажет о том, как сделать согласованный с вашим архивом standby, чтобы после аварии primary и промотирования standby-сервера новый стендбай можно было пересоздать из архива. Поделится нашим опытом: как мы сейчас используем standby для read-only запросов, какие проблемы у нас возникали раньше и как мы их решили. И посоветует, на какие метрики стоит обратить внимание при мониторинге standby.

Программа конференции и регистрация → https://pgconf.ru/2019
Мы запланировали несколько прямых эфиров, посвящённых разработке клиентской части. Ровно через неделю, 11 декабря, будет первый из них — обсудим инфраструктуру фронтенда. В дискуссии будут участвовать эксперты из Яндекса, Tinkoff, Mail.Ru и Авито. Больше деталей — в блоге на Хабре, подключайтесь.