SDCast #65 HL edition: Александр Баталов, директор по развитию в компании Флант

sd-podcast-logoДрузья, рад представить вам интервью с Александром Баталовым из компании Флант, записанное на прошедшей конференции Highload 2017.

В этом выпуске мы вместе с Петей из подкастов «Пятиминутка PHP» и «Пятиминутка React» обсуждаем с Александром тему DevOps в целом и Kubernetes в частности. В начале Александр рассказал про компанию в целом, как и когда она появилась и чем занимается.

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

Александр рассказал, что такое Kubernetes, зачем он нужен, какие задачи он решает, и как они у себя в компании его активно применяют.

Читать далее

SDCast #60: в гостях Иван Круглов, програмист Booking.com

sd-podcast-logoРад представить вам 60-й выпуск SDCast’а! У меня в гостях Иван Круглов, програмист Booking.com. Некоторое время Иван занимался разработкой подсистемы поиска отелей, именно об этом и пойдёт речь в этом выпуске.

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

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

Иван рассказал про то, как они ушли от баз данных MySQL к встраиваемому решению, а именно RocksDB. Рассказал про материализацию данных для поиска, шардирование данных и эффективную обработку запросов.

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

Читать далее

SDCast #56: в гостях Антон Солдатов, инженер-программист из компании IPONWEB

sd-podcast-logoЛюбите ли вы Lua так же, как люблю его я? А вот ребята из компании IPONWEB настолько его полюбили, что даже сделали свою собственную имплементацию Lua! :) Об этом и пойдет речь в этом выпуске. У меня в гостях Антон Солдатов, инженер-программист из компании IPONWEB, где он занимается разработкой и поддержкой их реализации Lua.

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

Компания IPONWEB занимается разработкой в области RTB (Real Time Bidding) систем. Это технология закупки медийной рекламы посредством программируемых онлайн-аукционов. Вначале Антон рассказал про то, что это за системы, какие задачи они решают, какие есть компоненты и сущности в RTB-системах, что такое DSP и SSP, как они устроены и фукнционируют.

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

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

Читать далее

SDCast #55: в гостях Сергей Аверин, технический эксперт и конференционный маньяк

sd-podcast-logoРад представить вам 55-й выпуск SDCast’а! У меня в гостях Сергей Аверин, технический эксперт и конференционный маньяк из компании «Acronis». В этом выпуске мы говорим про Go, Python, параллельное программирование в Go, а так же обсуждаем обычные разработческие будни.

В начале Сергей рассказал про то, как он сам познакомился с языком Go, на каких задачах начал его применять, и как происходило внедрение языка в компании. Вопреки расхожему мнению о том, что на Go обычно переходят с Php или JavaScript, в «Acronis» инициаторами перехода были разработчики C/C++. Для лучшего понимания, Сергей рассказал о приложениях и сервисах, о том, какие задачи необходимо было решить, и как происходил процесс внедрения, какие были сложности и трудности, а главное — какие получились бенефиты в результате перехода.

Немного подробнее поговорили о горутинах и в целом парадигме программирования на Go. Насколько этот подход отличается от других языков, насколько легко его освоить и начать программировать. Обсудили тему кроссплатформенной разработки на Go, и в особенности написание программ под Windows.

Так же, в компании “Acronis” активно используется Python, поэтому не обошли мы стороной и этот язык. Сергей немного рассказала про то, где и как они используют Python в своих сервисах.

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

SDCast #37: в гостях Евгений Кривошеев, инженер, спикер, agile тренер

sd-podcast-logo Друзья! Рад представить вам 37-й выпуск SDCast’а! У меня в гостях Евгений Кривошеев, инженер, спикер на многих конференциях, agile-тренер и консультант. В этом выпуске речь идет не о каком-то конкретном продукте или проекте, а в большей степени затрагивает концептуальные и методологические аспекты разработки и проектирования информационных систем в целом.

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

Так же, обсудили тему построения архитектуры проекта в современных быстро изменяющихся условиях, зачем нужен devops и почему так важно с самого начала выстраивать процессы continious integration (CI) и continious delivery (CD), насколько важны тесты и максимальная автоматизация всех процессов.

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

Читать далее

SDCast #27: в гостях Анатолий Панов, ведущий разработчик биллинга в Badoo

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