SDCast #50: в гостях Иван Гуз, директор аналитического департамента в Avito

sd-podcast-logoТоварищи, рад представить вам 50-й выпуск SDCast’а! На этот раз речь пойдет об аналитике, анализе больших данных, машинном обучении и прочих смежных темах. У меня в гостях Иван Гуз, директор аналитического департамента в Avito.

По традиции, в начале Иван рассказал немного про себя, о том, как и почему он ушел из большого enterprise мира в, тогда еще, стартап под названием «Avito» и что представляет Avito из себя сейчас. Рассказал про разные аналитические задачи, которые он и его команда решают, среди которых, например, анализ поведения пользователя на сайте, распознавание дубликатов товаров, дифференциация реальных пользователей и ботов и многие другие.

Не обошли мы стороной и техническую составляющую: Иван рассказал про то, какие инструменты, языки программирования, тулкиты и фреймворки они используют для решения своих задач.

В завершении выпуска, обсудили с Иваном, как развивалась аналитическая отрасль в ретроспективе, что интересного происходит сейчас, насколько важно и востребовано данное направление в ИТ, да и в бизнесе в целом, и каково направление развития и основные тенденции в ближайшем будущем. Читать далее SDCast #50: в гостях Иван Гуз, директор аналитического департамента в Avito

Скачать (mp3, 43 MB) Скачать (ogg, 34 MB)

SDCast #49: в гостях Александр Махомет, PHP Product Architect в компании Upwork

sd-podcast-logoВстречайте 49-й выпуск подкаста! На этот раз речь пойдет про распределенные команды разработки. У меня в гостях Александр Махомет, PHP Product Architect в компании Upwork и один из создателей проекта Frameworks days.

В компании Upwork работает порядка 350 инженеров и разработчиков, 270 из которых работают удаленно из 40 стран со всего мира. Александр рассказал как в компании в целом устроены процессы разработки, как формируются распределенные команды, на каких принципах построено взаимодействие между разработчиками и командами в целом.

Конечно же мы поговорили и про архитектуру проекта в целом. Саша рассказал из каких компонент состоит система в целом и что используется «под капотом». Рассказал так же про постепенную миграцию от монолитной архитектуры к микросервисной, как это происходило, какие были сложности и что в итоге это дало на выходе. В Upwork используется PHP как middleware между фронтендом и различными сервисами и Саша рассказал про миграцию с Zend Framework на Symfony, а так же про миграцию на PHP7.

Александр является одним из создателей проекта Framework days, и вообще активным участником различных сообществ разработчиков, так что не обошли мы стороной и эту область. Обсудили тему конференций и встреч, зачем и кому это нужно, как они устроены и организовываются, что дают всем участникам. Поговорили про различие конференций в постсоветском пространстве и Европе, возможность проведения конференций на английском языке и прочие смежные вопросы. Читать далее SDCast #49: в гостях Александр Махомет, PHP Product Architect в компании Upwork

Скачать (mp3, 27 MB) Скачать (ogg, 30 MB)

SDCast #48: в гостях Михаил Тюрин, главный системный архитектор AVITO.ru

sd-podcast-logo Рад представить вам 48-й выпуск SDCast’а! У меня в гостях Михаил Тюрин, главный системный архитектор AVITO.ru. В этом выпуске речь идет об архитектуре AVITO в целом, как оно работает изнутри и на каких технологиях базируется.

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

Мы довольно подробно разобрали, как система обрабатывает запрос, начиная от нажатия кнопки «Submit» в браузере, что происходит с данными запроса в бэкенде, какие сервисы участвуют в обработке, в какие очереди раскладываются задачи и заканчивая тем, каким образом обновляются данные во всей системе для других пользователей.

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

Так же довольно подробно пообщались про базы данных и PostgreSQL в частности. Затронули вопросы взаимодействия клиентского кода приложений с БД, обновления и миграции данных.

Миша является активным участником сообщества #PostgreSQLRussia, он сам активно выступает на разных конференциях и встречах, равно как и ребята из его команды, так что мы пообщались и на эту тему тоже.

Читать далее SDCast #48: в гостях Михаил Тюрин, главный системный архитектор AVITO.ru

Скачать (mp3, 49 MB) Скачать (ogg, 52 MB)

SDCast #47: в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo

Open_vz-logo Друзья! Встречайте 47-й выпуск подкаста! На этот раз речь пойдет о виртуализации. У меня в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo. В начале мы немного обсудили общие вопросы по виртуализации, какие типы виртуализации бывают, как все зарождалось и появлялось. Обсудили, что происходит в сфере виртуализации сейчас, как появление таких проектов как docker повлияло в целом на индустрию и на другие решения в этой области в частности.

Так же ребята подробнее рассказали про проект OpenVZ от истории его появления и развития до архитектуры и внутреннего устройства. А в свете выхода новой, 7-й версии проекта, поделились тем, что появилось нового и интересного. Не обошли мы стороной и тему open source. Проект OpenVZ является открытым, а проект Virtuozzo — коммерческим. Ребята рассказали, как ведется параллельная разработка обоих проектов, какая часть кодовой базы является общей, а что специфично для каждого проекта. Так же Сергей рассказал о том, какие ошибки были допущены в open source составляющей проекта, и как они были исправлены. Читать далее SDCast #47: в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo

Скачать (mp3, 41 MB) Скачать (ogg, 43 MB)

SDCast #46: в гостях Дима Стародубцев, основатель киберфонда, блокчейн евангелист

sd-podcast-logo Друзья! Что вы знаете про технологию blockchain? Вы наверняка слышали такой термин как «BitCoin». Но знаете ли вы другие сферы или проекты, которые базируются на этой технологии? Об этом и многом другом слушайте в 46-м выпуске SDCast’а. У меня в гостях Дмитрий Стародубцев, основатель киберфонда и блокчейн евангелист.

В этом выпуске мы с Димой говорим о том, как появилась эта технология, о её первой реализации «Bitcoin», какие были, в первую очередь, экономические условия для того, чтобы цифровая валюта смогла войти в нашу жизнь и занять там свое место. Дима рассказал про то, как устроена цепочка блоков, и какая информация в них может храниться. Рассказал и про умные контракты, что это такое и каков принцип их работы, какие условия и вообще среда необходима для их функционирования. Не обошли мы стороной и вопросы безопасности.

Так же мы обсудили новые проекты, которые появились в последнее время, и которые так же базируются на технологии blockchain. Самый известный из таких — это проект Виталия Бутерина «Эфириум» (Ethereum), который представляет из себя платформу для построения приложений. Вообще в процессе разговора Дима приводил очень много различных примеров проектов, использующих технологию блокчейн, это и социальные сети, и реестр собственности на землю, ставки на спорт и всевозможные проекты по работе с цифровым контентом и распределенные вычисления и многое другое.

В заключении выпуска мы немного пофантазировали о том, где может применятся блокчейн в ближайшем будущем и что вообще нас ждет интересного в этой сфере!
Читать далее SDCast #46: в гостях Дима Стародубцев, основатель киберфонда, блокчейн евангелист

Скачать (mp3, 45 MB) Скачать (ogg, 46 MB)

SDCast #45: в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе

sd-podcast-logo А вот знаете ли вы, дорогие слушатели, как выстроить архитектуру, которая будет выдерживать десятки миллиардов запросов в день, ворочить петабайты данных, и при это быть быстрой и отзывчивой? Ответы на эти и не только вопросы вы можете услышать в свежем выпуске SDCast’а! У меня в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе.

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

Отдельно ведем разговор про аналитическую базу данных ClickHouse, которую компания Яндекс недавно выложила в opensource. Виктор рассказал про историю зарождения проекта, который появился в следствие эксперимента и попытки написать БД, которая будет быстро работать с сырыми, не агрегированными данными. Рассказал про внутреннюю архитектуру проекта: как устроено хранение данных, обработка запросов и взаимодействие с внешним миром. Не обошли мы стороной и тему публикации проекта в открытый доступ. Виктор рассказал о том, есть ли интерес у сообщества к проекту, чего ещё нужно сделать, чтобы проектом было легко и удобно начать пользоваться, есть ли запросы на новые фичи и пулл-реквесты. Так же Виктор поделился мнением о том, когда следует использовать ClickHouse и для какого рода задач она подходит наилучшим образом. В завершении выпуска обсудили планы по развитию проекта на ближайшее будущее.

Читать далее SDCast #45: в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе

Скачать (mp3, 39 MB) Скачать (ogg, 43 MB)

Анонс выпуска про виртуализацию

Друзья, в одном из ближайших выпусков ко мне в гости придут Сергей Бронников и ребята из проектов OpenVZ/Virtuozzo. Будем разговаривать про виртуализацию, контейнеры в целом и проекты OpenVZ и Virtuozzo в частности.

Поэтому если у вас есть какие-то вопросы по этим темам или по самим проектам — смело задавайте их в комментариях к анонсу и мы обсудим их в выпуске! Читать далее Анонс выпуска про виртуализацию

SDCast #44: в гостях Евгений Лазин, программмист, автор проекта akumuli

sd-podcast-logo Рад представить вам 44-й выпуск SDCast’а! У меня в гостях Евгений Лазин, программист, автор проекта Akumuli. Основной темой этого выпуска являются БД для хранения временных рядов (Time-series DB, TSDB).

В начале мы обсудили общие вопросы, такие как: зачем нужны tsdb, чем они отличаются от привычных всем реляционных баз данных, какие у них особенности и основные области применения.

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

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

Обсудили и общие вопросы open source проекта: внешнее API, документация, тестирование и покрытие кода, есть ли интерес у сообщества.

Читать далее SDCast #44: в гостях Евгений Лазин, программмист, автор проекта akumuli

Скачать (mp3, 30 MB) Скачать (ogg, 35 MB)

SDCast #43: в гостях Николай Сивко, сооснователь проекта OKMeter.io

sd-podcast-logo Встречайте 43-й выпуск подкаста! На этот раз речь пойдет о devops, эксплуатации и мониторинге. У меня в гостях Николай Сивко, сооснователь проекта OKMeter.io.

В этом выпуске мы говорим про мониторинг в целом, каким он бывает, когда стоит задумываться о мониторинге своих сервисов, как внедрять мониторинг в уже работающие решения. Обсудили какие метрики надо собирать, какие есть способы сбора метрик в принципе и какие есть уже готовые инструменты для этого.

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

Далее Николай рассказал о том, как устроен сам сервис OKMeter.io, какова его архитектура, из каких компонентов он состоит и какие инструменты используются «под капотом». Рассказал, как и какие метрики собираются, обрабатываются, хранятся и в дальнейшем используются для построения графиков и гистограм. Отдельно обсудили тему отказоустойчивости и масштабирования решения по мониторингу.

Читать далее SDCast #43: в гостях Николай Сивко, сооснователь проекта OKMeter.io

Скачать (mp3, 29 MB) Скачать (ogg, 32 MB)

SDCast #42: в гостях Антон Шевчук, техлид в компании Nix Solutions

sd-podcast-logo Встречайте 42-й выпуск подкаста с ответом на главный вопрос! 🙂 У меня в гостях Антон Шевчук, техлид в компании Nix Solutions, open-source контрибьютор и автор книги «jQuery для начинающих».

В этом выпуске мы говорим о разных аспектах разработки программного обеспечения, затрагивая следующие темы: отличие open-source проектов от коммерческих, стоит ли выкладывать свои решения в open-source, переквалификация инженеров внутри команды с одних технологий на другие, фронтенд и бэкенд взаимодействие и многие другие. Антон рассказал, как некоторые члены его команды успешно перепрофилировались из php-разработчиков в JavaScript и node.js разработчиков. Обсудили мы и разный уровень экосистем в php и node.js, насколько отличаются подходы как к разработке, так и к выбору инструментов в этих платформах.

Антон, как автор php-фреймворка bluz, рассказал о истории появления проекта, подходе и сфере применения. Так же мы обсудили и общие вопросы, связанные с PHP: как развивается сам язык, экосистему платформы и уже устоявшиеся фреймворки и паттерны их использования в проектах. Подисскутировали на тему того, что PHP сейчас в антитренде, но при этом все еще является одним из самых популярных и востребованных языков в разработке.

Отдельно обсудили образовательную тему в IT. Антон рассказал про свою серию образовательных заметок «PHP для начинающих». Зачем он её начал, какие цели преследует, что это дает ему как автору и какая польза для начинающих разработчиков. Так же Антон является автором очень популярной серии заметок «jQuery для начинающих», которые в итоге превратились в полноценную книгу, которая доступна как в электронном, так и печатном виде. Для справки, вот некоторые интересные цифры, касательно книги:

  • на написание книги из материалов доступных на сайте ушло около года и 400 часов времени
  • за всё время было >300 000 просмотров на scribd.com
  • за всё время учебник был скачан более 100 000 раз (все версии)

Читать далее SDCast #42: в гостях Антон Шевчук, техлид в компании Nix Solutions

Скачать (mp3, 36 MB) Скачать (ogg, 40 MB)