Всем привет! РИТ++ отгремел, время подводить итоги и стремиться дальше. Как показал опрос, проведенный организаторами фестиваля, большинство участников приехали туда, чтобы расширить кругозор, найти новые инструменты, технологии, идеи и вдохновение. Под катом рассказываю о знаниях и практиках, которыми делились на РИТ++ 2018 мои коллеги, зачем устраивать соревнование по дартсу на стенде и при чём здесь технологический радар.
Доклады от спикеров Авито
На РИТ++ мои коллеги подготовили три доклада — один прозвучал в рамках Root Conf, а ещё два в потоке Backend Conf.
В поисках идеального CI-пайплайна – Илья Сауленко
Continuous Integration — важная часть современного процесса разработки. Как выглядит идеальный пайплан? Сборка на каждый коммит, интеграционные тесты, деплой каждого коммита в продакшн, фиче-флаги? Но чаще всего разработка приложения не ограничивается написанием кода и запуском тестов.
Илья рассказал слушателям, как и зачем внедрять в CI процессы разработки, которые там обычно не представлены: написание документации, обновление зависимостей, аудиты безопасности, capacity management и даже дизайн интерфейсов. Сравнил возможности, которые предоставляют для этого популярные CI-серверы, разбил пайплайны на самые базовые составляющие и рассказал, чем TeamCity принципиально отличается от Concourse.
Видеозапись выступления Ильи уже доступна на youtube-канале фестиваля. Команды с работающим процессом Continuous Deployment получат из доклада информацию к размышлению о том, каких процессов не хватает в их существующих пайплайнах, а разработчики, только планирующие внедрять CI — критерии для выбора наиболее подходящего для них сервера интеграции.
Кроме того, можно изучить презентацию Ильи — вот ссылка.
Реализация Consumer-Driven Contract подхода для тестирования микросервисов в Авито — Фрол Крючков
Популярные реализации cdc-тестирования создают дополнительные проблемы программистам: трата времени на описание контрактов взаимодействия, неактуальность этих контрактов, собственный DSL. Для того, чтобы избежать всех этих проблем, мы в Авито используем нативные тесты, написанные на языках сервисов-потребителей, которые собираются в docker-образ и запускаются при изменениях в сервисе, от которого они зависят. В своём докладе Фрол Крючков рассказал, как мы реализовали свое cdc-тестирование и почему мы пришли к такому решению.
Надеемся скоро рассказать эту историю в текстовом виде, а пока можно посмотреть презентацию.
Эволюция поиска Авито — Вячеслав Крюков
Ежедневно на Авито заходят 10 миллионов уникальных пользователей и делают 140 миллионов поисковых запросов. За последний год поиск Авито получил значительное развитие. Вячеслав поделился с коллегами текущими результатами. В докладе изложен как продуктовый, так и технический взгляд на поиск Авито, а также взаимосвязь этих аспектов.
Наша цель — получить возможность быстрого и качественного развития поиска, это требует усложнения инфраструктуры и траты дополнительных ресурсов, в докладе изложено, как мы прокладываем путь к ней.
Tech Radar(ts)
Все два дня фестиваля у нас на стенде была интересная активность — соревнования по дартсу. Зачем и почему мы их устроили? Во-вторых, это весело. А во-первых — потому что хотели обсудить с коллегами наш технологический радар. Это набор практик, описывающих жизненный цикл технологии, и инструмент визуализации текущего состояния технологического стека. Технический радар помогает ответить на ряд вопросов. Вот примеры.
- Почему мы не используем технологию X?
- Как мы относимся к новомодной технологии Y?
- Что стоит использовать в разработке нового сервиса?
- На какие технологии мне стоит сделать упор в саморазвитии?
- Какие технологии и почему не востребованы в Авито?
Таким образом, у нас можно было пообщаться на актуальные для профильных разработчиков темы, обсудить внутренности той или иной технологии и области их применения. Ну и конечно, выиграть огненную сувенирку (лично мой фаворит — холиварные кости, с которыми можно решить на каком бэкенд-языке и фронтенд-фреймворке писать ваш новый проект/или переделать старый ^_^).
Если вам интересно что-то, связанное с нашим техрадаром, а на конференции вы не были, то вы всегда можете задать вопросы на Github в нашем репозитории Playbook — ждём ваших issues.
Ну и до новых встреч на конференциях — впереди Highload Siberia (вот пост с списком докладов от Авито), PyCon Russia 2018, да и в целом впереди ещё много крутых профессиональных мероприятий.