SDCast #54: в гостях Олег Анастасьев, ведущий программист Одноклассников

Встречайте 54-й выпуск SDCast’а, который посвящен разработке высоконагруженных систем. У меня в гостях Олег Анастасьев, ведущий программист Одноклассников, спикер на конференциях по Java и Cassandra, эксперт в области распределенных и отказоустойчивых систем.

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

В процессе беседы были затронуты темы подходов к архитектуре отказоустойчивых систем, вопросы масштабирования приложений, тестирования и мониторинга, а так же выкатывания обновлений. Поскольку Одноклассники используют различные open source решения, обсудили мы и тему контрибьютинга в различные open source проекты, равно как и выкладывание в open source своих наработок. Отдельно поговорили о кросс дата-центровой архитектуре, распределению данных и коммуникации между дата-центрами. Так же Олег рассказал о том, как у них проводятся теоретические и практические учения по устранению аварий.

Читать далее

SDCast #53: в гостях Андрей Солнцев и Алексей Виноградов, разработчики Selenide

Встречайте 53-й выпуск подкаста! В этот раз речь пойдёт о тестировании. У меня в гостях Андрей Солнцев, автор фреймворка для тестирования Selenide, разработчик из codeborne и Алексей Виноградов, независимый консультант, модератор подкаста Radio-QA.

Андрей рассказал про то, как появился проект Selenide, чего не хватало на тот момент в Selenium и как всё начиналось. Рассказал о том, как он сам превратился из просто разработчика в разработчика-тестировщика :)

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

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

Ребята рассказали про то, как устроен проект Selenide изнутри: как идёт разработка, как устроено тестирование самого фреймворка для тестирования :), насколько велико сообщество вокруг проекта и другие смежные вопросы. Алексей так же рассказал о ближайших и дальнейших планах по развитию проекта.

Читать далее

SDCast #52: в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt

Встречайте 52-й выпуск SDCast’а, целиком и полностью посвящённый OpenBSD. У меня в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt и преподаватель операционных систем по совместительству.

В этом выпуске мы обсудили, кажется, все возможные аспекты проекта OpenBSD. Хотя Вадим не согласен: “По моим ощущениям, мы обсудили далеко не всё, но нельзя объять необъятное”! :) И тем не менее… В начале Вадим рассказал, как он сам попал в проект, чем занимался в начале и как стал мейнтейнером таких тяжелых пакетов как KDE и Qt.

Обсудили то, как устроен проект OpenBSD: насколько велико сообщество разработчиков, какие там есть зоны ответственности, как устроен процесс разработки, тестирования, выпуска релизов, как устроена инфраструктура проекта, насколько велика роль лидера проекта Тео де Раадта и другие смежные вопросы.

Вадим подробно рассказал про устройство пакетов и портов OpenBSD, чем они отличаются от других пакетных систем, как устроен процесс появления нового пакета в дереве портов. Отдельно внимания заслуживает рассказ Вадима о портировании KDE4 в OpenBSD. Так же Вадим рассказал про его небольшие исследования в области автоматической настройки сети, Wi-fi и маршрутизации.

Поговорили мы и о областях применения OpenBSD: для кого этот дистрибутив, чем он может быть интересен разработчикам и пользователям, как начать своё участие в проекте.

Так же Вадим рассказал про хакатоны OpenBSD: зачем они проводятся, какие цели преследуются, как организовываются и кто принимает в них участие. Кстати, ещё Вадим поделился опытом менторства одного подпроекта в рамках участия OpenBSD в Google Summer of Code.

Читать далее

SDCast #51: в гостях Денис Макрушин, антивирусный эксперт Лаборатории Касперского

sd-podcast-logoРад представить вам 51-й выпуск SDCast’а! У меня в гостях Денис Макрушин, антивирусный эксперт «Лаборатории Касперского». В этом выпуске мы говорим о безопасности в ИТ в целом, о том, какие есть направления в безопасности, что происходит в отрасли, насколько велика роль безопасности в ИТ для бизнеса и прочие вопросы.

Обсудили мы и тему безопасности в различных сферах, таких как Internet of Things, облака, веб-приложения, базы данных, вспомнили недавно нашумевшие новости про ботнет из камер видеонаблюдения, и заражение серверов MongoDB.

Затронули немаловажный социальный аспект повышения уровня грамотности как разработчиков, так и простых пользователей. Что можно и нужно делать, чтобы программисты с первых дней разработки софта задумывались о вопросах безопастности. Как, когда, на каких стадиях можно и нужно привлекать экспертов по безопасности, как меняется процесс разработки с привлечением экспертов по безопасности и многое другое. Поговорили на тему того, как сделать продукт, удобный для простых пользователей, но при этом достаточно безопасный и защищенный.

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

Читать далее

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

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

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

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

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

Читать далее

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 #48: в гостях Михаил Тюрин, главный системный архитектор AVITO.ru

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

В заключении выпуска мы немного пофантазировали о том, где может применятся блокчейн в ближайшем будущем и что вообще нас ждет интересного в этой сфере!

Читать далее

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

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

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

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

Читать далее