Архив метки: Open source

SDCast #58: в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon

DDoS… Как часто мы стали слышать этот термин в айтишных новостях. Сейчас это одна из наиболее распространённых типов атак на информационные системы. В этом выпуске у меня в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon.

В начале мы обсудили теоретическую часть. Паша рассказал про то, что в целом представляют из себя DoS-атаки, какие типы атак бывают, как они устроены и работают и для чего вообще они предназначены. Рассказал о различных способах борьбы с DoS-атаками.

Паша долгое время работал в хостинг-индустрии и не понаслышке знает, что такое DoS-атаки. Паша рассказал, как он сам впервые столкнулся с такой атакой, как стал искать средство защиты от атак и как в итоге пришёл к написанию собственного велосипеда, который превратился в проект FastNetMon.

Далее мы обсудили сам проект FastNetMon. Паша рассказал историю своих первых экспериментов, как он получил «proof of concept», и как в дальнейшем происходило развитие системы как с архитектурной точки зрения, так и со стороны функциональности. Паша подробно рассказал про внутреннее устройство системы, как происходит обработка входящего трафика, как происходит расчёт метрик и как в конечном счёте принимается решение о легитимности трафика.

В процессе обсуждения были затронуты и общие вопросы построения сетевой инфраструктуры провайдера или датацентра, вкратце освещены разные сетевые протоколы, такие NetFlow, IPFIX, sFlow и другие. Так же Паша рассказал как происходит тестирование FastNetMon. Это не простой вопрос, потому что для полноценного тестирования такого рода систем необходимо большое количество дампов разнородного сетевого трафика. Откуда его взять? Спасибо пользователям проекта, которые для решения своих настоящих и потенциально будущих проблем готовы поделиться своими данными. Так же интересный вопросы — это взаимодействие с вендорами оборудования. Поскольку в конечном итоге сетевой трафик идет через конкретные коммутаторы и маршрутизаторы того или иного производителя, и не смотря на принятые и открытые стандарты, как это водится, каждый вендор трактует стандарты и протоколы немного по-своему.

В завершении беседы мы немного пообщались на тему Open Source в целом и в разрезе проекта FastNetMon в частности. Паша рассказал, какие он видит плюсы, что дала ему публикация проекта в open source, какое появилось сообщество у проекта. Читать далее SDCast #58: в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon

Скачать (mp3, 72 MB) Скачать (ogg, 56 MB)

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

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

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

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

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

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

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

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

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

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

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

Скачать (mp3, 68 MB) Скачать (ogg, 51 MB)

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 #52: в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt

Скачать (mp3, 90 MB) Скачать (ogg, 63 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 #45: в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе

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

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

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

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

Скачать (mp3, 39 MB) Скачать (ogg, 43 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)

SDCast #41: в гостях Андрей Бреслав, руководитель проекта Kotlin в компании JetBrains

sd-podcast-logo Рад представить вам 41-й выпуск подкаста! Этот эпизод посвящен языку Kotlin, у меня в гостях Андрей Бреслав, руководитель проекта Kotlin в компании JetBrains.

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

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

Так же Андрей рассказал, почему в качестве платформы была выбрана JVM, рассказал некоторые технические подробности реализации проекта. Подробно рассказал про interop с Java, о том, как можно начать использовать Kotlin в уже существующем проекте на Java сейчас, и как они у себя, в компании JetBrains уже начали это делать.

Не обошли мы сторой и социальную составляющую проекта. Код языка Kotlin выложен в open source на github. Андрей рассказал про сообщество, которое сформировалось вокруг проекта, и как они с ним взаимодействуют, обсуждают запросы на новый функционал, баг-репорты и все прочее.

В завершение выпуска, Андрей поделился планами по развитию языка как в ближайшем будущем, так и в долгосрочной перспективе.
Читать далее SDCast #41: в гостях Андрей Бреслав, руководитель проекта Kotlin в компании JetBrains

Скачать (mp3, 20 MB) Скачать (ogg, 22 MB)

SDCast #40: в гостях Анатоль Бельский, core-developer, релиз-менеджер PHP 7

sd-podcast-logo Всем привет! В этом выпуске у меня в гостях Анатоль Бельский, core-developer, релиз-менеджер PHP 7. В этом выпуске мы, конечно же, говорим про сам язык PHP, экосистему вокруг языка, разработку проекта и сообщество, сформировавшееся вокруг PHP.

Анатоль рассказал о том, как он попал в проект, как начинал писать расширения для недостающего функционала, как стал коммитером, а затем и core-разработчиком проекта.

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

Конечно же, мы пообщались и на тему того, что же принципиально нового появилось в PHP7, даже несмотря на то, что эта тема уже была много раз освещена. Поскольку Анатоль занимается системной частью языка, было интересно узнать его мнение по данному вопросу, а заодно и послушать, что он думает про альтернативные VM для php, вроде HHVM.

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

Читать далее SDCast #40: в гостях Анатоль Бельский, core-developer, релиз-менеджер PHP 7

Скачать (mp3, 23 MB) Скачать (ogg, 21 MB)

SDCast #38: в гостях Александр Золотарев, инженер, один из основателей проекта maps.me

sd-podcast-logo Встречайте 38-й выпуск SDCast’а. У меня в гостях Александр Золотарев, инженер, один из основателей проекта maps.me. В этом выпуске мы говорим о самом проекте maps.me, open-source, архитектуре приложений и прочих айтишных темах. Maps.me — это offline-карты для любых мобильных устройств с открытым исходным кодом.

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

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

Так же Александр рассказал про процесс разработки, установившийся в проекте и некоторые инструменты, используемые в разработке. Рассказал про команду проекта и взаимодействие с сообществом, после публикации проекта в open-source.

В завершении выпуска, Александр рассказал про интересные нововведения в проекте и планы по дальнейшему развитию. Читать далее SDCast #38: в гостях Александр Золотарев, инженер, один из основателей проекта maps.me

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