Как стать автором
Обновить
32
0
Вадим Мельников @Molodoi

Технический директор

Отправить сообщение

Как мы разгребаем зоопарк из 5 размещений в дата-центрах

Время на прочтение9 мин
Количество просмотров11K
Начиналось всё с системника в общаге МГУ и обычного хостинга, на котором размещалось наше расписание электричек, которое многие из вас видели. И перекладывания файлов по ночам, чтобы уложиться в лимиты нагрузки. Потом появились первые сервера. Они получали тройной трафик на майские, отчего сразу ложились. Точнее, мы не знаем, какой трафик они получали, потому что ложились именно на тройном от обычного.



Оглядываясь назад, могу сказать, что все действия по размещению с тех пор — это вынужденные ходы. И вот только сейчас на пятнадцатый год мы можем настраивать инфраструктуру так, как нужно нам.

Сейчас мы стоим в 4 физически разных ЦОДах, соединённых кольцом тёмной оптики, размещая там 5 независимых пулов ресурсов. И так получилось, что если в одну из кроссовых попадёт метеорит, то у нас тут же отвалится 3 этих пула, а оставшиеся два не потянут нагрузку. Поэтому мы занялись полной ребалансировкой, чтобы навести порядок.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии25

Как мы пересадили всю команду на другой язык за один день (на самом деле нет)

Время на прочтение7 мин
Количество просмотров24K

Начало шаблона для быстрого «заземления» PHP-разработчиков в Go

15 лет мы делали бэкенд на PHP. И вот однажды было принято стратегическое решение: сначала переписать самые высоконагруженные места на Go, а потом разрабатывать новые сервисы на нём.

Представьте: вы хотите рассказать про новый язык команде из 40 разработчиков, которые настолько хорошо готовят PHP, что собрали на нём многопоточную систему реального времени и высокой доступности. В худшем случае вас сожгут, в лучшем — прислушаются, но продолжат делать как раньше. Это если вводить язык насильно.

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

Расскажу по шагам, как повторить такой опыт у вас. И про результаты нашего внедрения. И про то, что случается в голове у PHP-разработчика при виде нового языка.

Мы начали с подготовки шаблона и CI/CD, который позволяет задеплоиться за 15 секунд. Чтобы его написать самому, нужно где-то недели две. Мы сделали его заранее.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии41

Вечный вопрос технического долга

Время на прочтение9 мин
Количество просмотров21K

Это одно из самых крутых облегчений проекта. На картинке — график суммарного времени, затрачиваемого CPU на обработку всех пользовательских запросов. В конце видно переход на PHP 7.0. с версии 5.6. Это 2016 год, переключение во второй половине дня с 24 ноября.

Туту.ру с точки зрения вычислений — это в первую очередь возможность купить билет из точки А в точку Б. Для этого мы перемалываем огромное количество расписаний, собираем в кэш ответы множества систем авиакомпаний и периодически делаем невероятно длинные join-запросы к базе данных. В целом мы написаны на PHP и до недавних пор были полностью на нём (если язык правильно готовить, то можно даже строить на нём системы реального времени). С недавнего времени критичные по производительности участки стали рефакториться на Go.

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

Вообще технический долг — это плата за ошибку при принятии решения. Вот ты что-то предсказал не так, как архитектор, то есть совершил ошибку прогнозирования или принимал решение в условиях недостаточной информации. В какой-то момент понимаешь, что надо что-то менять в коде (часто на уровне архитектуры). Дальше можно сразу поменять, а можно подождать. Если подождал — на техдолг набежали проценты. Поэтому хорошая практика — время от времени реструктуризировать его. Ну или признавать себя банкротом и писать весь блок заново.
Читать дальше →
Всего голосов 85: ↑79 и ↓6+73
Комментарии34

Зачем играть в getKanban: опыт Туту.ру

Время на прочтение6 мин
Количество просмотров21K
Сегодня я хочу поделиться двухлетним опытом проведения игры getKanban в Туту.ру. В целом, игровые механики мы используем довольно активно: играем в getKanban, Playing Lean, Lego Serious Game и т. д. Но getKanban, по нашему мнению, наиболее цельная и качественная игра. Для нас эта игра уже стала традицией и привычным инструментом обучения и коммуникации. Возможно, кто-то из читателей возьмет наш опыт на вооружение.

image
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии6

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность