HighLoad++ 2023. Заметки путешественника. День 1
У многих сегодняшний день был не простой. Коммунальщики справлялись с мощнейшим снегопадом. Участники конференции с лавиной информации. А меня бомбило от самой организации. В хорошем смысле слова.
Преодолевая трудности
Как оказалось, за пост-ковидное время я утратил навык вставания засветло. Тем не менее, следование графику укладывания позволило поспать 6 часов. Сейчас я думаю, что это необходимый минимум, чтобы хватило энергии на весь день этой нагруженной по активностям конференции.
На машине просили не приезжать из-за возможных проблем на дорогах. Добирался на МЦД. Затем трансфером до самой конференции.
С собеседниками мне начало вести с порога. Пока ждали выделенного микроавтобуса познакомился со спикером Эдуардом. Его доклад про сервис трекера задач, который уже вышел за пределы компании. А с уходом jira, похоже, будет только набирать обороты. Текстовые запросы реализуются с помощью шардированной ELK. Я поднимал один инстанц и видел какой он прожорливый на память. Поэтому мне было интересно узнать как справляются с проблемой потребления памяти. И вообще, как работает такой сервис на очень больших объёмах.
Затем поездка, регистрация, прощание с Эдуардом. Хотя, не надолго. Вскоре мы ещё пересечемся. Нам выдали бейдж с дополнительной информацией, талоны для питания. Их нужно было сохранить. И не терять.
Вообще, я на конференции в первый раз. Поэтому заранее решил перестраховаться. Взял с собой перекус. Ребята на стойке регистрации приветливые. Их много. По-моему, человек 10. Была ещё одна стойка. Участников ожидалось тоже много. 4000. Можно представить, какой человеческий объём должен пройти.
Да-да, нагрузки на этой конференции были уже на входе. И такое масштабирование на большое количество ребят на стойке вполне хорошо отрабатывало в real-time. По крайней мере, когда заходила моя итерация.
Старт конференции
Долгожданный мерч, выступление Олега Бунина
Далее охрана, эскалатор. И сразу же он. Заветный. Мерч. Пришлось отстоять очередь. Через пол дня можно было взять сразу же. Но кто бы ждал?!
Привычка смотреть себе под нос в каждой непонятной ситуации помогла мне не запаниковать. Как скажет позже Олег Бунин — были представлены 51 компания со своими стендами. Там реальные лабиринты. С зазывающими играми, приветливыми представителями компаний, морем интерактива, конкурсов и мерча.
Я старался выбрать какое-то направление. Немного поплутав, в итоге попал в »Конгресс Холл». Там Олег с ребятами рассказывали про конференцию, историю, просадку в ковид и сегодняшний пик. Для меня масштаб был впечатляющий. Глаза разбегались от количества докладов на памятке в 4ёх залах. На самом деле, к тому времени я уже определился куда пойду.
Какое же было моё удивление, когда узнал, что залов 8. 8, Карл! И ещё 3 под GolangConf. Но это другая история.
Олег успокаивал, что несмотря на огромную выставочную территорию, через пол дня начнём ориентироваться. Даже если пойдём в неизвестное направление, вернёмся в исходную точку, потому что это круг. Что можно установить шагомер и в конце дня удивится сколько километров протопали.
Это было начало истории самой конференции. И началом конца моего мерча. Но об этом позже.
Я пошёл уверенной поступью блуждая в направление зала с выбранным докладом »Точки отказа в хайлоад-системах. Backend» Константина Козловского.
Хотя мини-карта и была на бейдже, но разработческая привычка «дойди до результата своим путём» взяла вверх. Чудом оказался на 2ом этаже перед начавшемся докладом, на который нельзя было попасть, потому что все места заняты. А набиваться людям не дают. Я, всё-же, немного постоял у входа внутри. Потом вышел и пошёл в дублирующий зал, где шла трансляция с оригинала.
Мне запомнилась фраза (вольный пересказ):
В нагруженных системах инциденты случаются. Надо с этим смириться. И уметь их обрабатывать
Затем в QA секции я задал свой вопрос про 10 дефолтных потоков в клиенте apache. Послушал другие размышления. Начали разбирать инцидент, описанный в докладе. Когда нагрузки на систему резко возросли из-за новых кейсов её использования. Пытались найти виноватых — бизнес, который не согласуя с разработкой добавил кейсов. Или же разработка, которая заранее не предусмотрела масштабируемость.
Константин повторил усмиряющую мантру:
«На высоких нагрузках инциденты случаются. Это нормально. Нужно уметь их обрабатывать».
А ещё описываемая операция heap dump повергла меня в шок. В моих плюсах уже давно ничего не течёт. А в java и ко это одна из головных болей?
Далее перерыв. После него хотел сходить на следующий доклад по аутентификации в этом же зале »Бангалор». Зал оказался занят. Дублирующий тоже. Грусть-печаль-тоска. Но не когда встречаешь рядом стоящего представителя России в международном С++ комитете Антона Полухина. Который также не попал на доклад.
Поговорили про будущее языка. У него всё хорошо. Про конкуренцию с rust. У него не очень. Успокоился. Пошёл в приподнятом настроение подкрепиться.
До обеда далеко. До перекуса рукой подать. Зоны распределены равномерно по всей территории. Голодным тут точно не останешься. И это не только печеньки, но и большие роллы. Хороший перерыв, чтобы переварить полученную за утро информацию.
По пути услышал рассказ участника, как его команда гео распределяла сервис.
Похоже, я в нужном месте, чтобы прокачивать знания по нагруженным масштабируемым системам
подумал я.
Здесь всё наполнено этими темами. Контекст задан. Атмосфера располагает на подобные разговоры, обсуждения. Всё очень дружелюбно и с вниманием к комфорту участников. Даже нашлось тихое место для девушки, которая хотела уединиться где-нибудь на диванчике. Олег подсказал в чате группы, который, похоже, мониторил.
Не боги горшки обжигают
После перезарядки попал на доклад по допиливание сервиса такси. На этот раз пришёл сильно раньше и занял место. Команде нужно было использовать новую фичу apple »live-activity». За её использование приложение поднимают в рейтинге. В конце я задал свой вопрос по менеджменту в разработке. Меня интересовало кто инициировал разработку. Выделялась ли отдельная группа.
В ответе Виктор рассказал, что пришёл запрос от бизнеса на внедрение этой фичи. Затем был выбран человек из команды, который спроектировал архитектуру. Затем пришли смежники, с которыми обсуждались архитектура и используемые компоненты. Затем было утверждение и построение.
Несмотря на имеющиеся средства разработки, масштабирования даже такая крупная компания со своим опытом натыкалась на неочевидные подводные камни. Виктор последовательно рассказывал как реализовали одно, вылезло другое. Затем обрабатывали и появлялось что-то третье. После нескольких итераций пришли к хорошему решению.
Такие доклады, на мой взгляд, этим и ценны, что можно за короткий промежуток времени просмотреть трудности и решения, которые были у команды. Посмотреть на это уже ретроспективно.
Чуть ранее случился мой 1ый случай утраты мерча. Теперь я уже с ним не расставался. Но стал подозревать, что потерял талоны на питание. Сильно не паниковал, т.к. взял перекус с собой. Да и вообще чай, печеньки и съестное здесь имеются.
К докладу по CQRS подготовился. Тема была интересной. Андрей рассказал о паттерне последовательно. Начал с утверждения, что котика заливают один раз, а смотрят миллионы. То есть, существует перекос в сторону чтения. Начал описывать разделение операций на command и query. Далее про handler’ы. Закончил архитектурными паттернами и мифами. У меня получилось задать свои вопросы. 2 из 3ёх.
На QA секции лишь у меня оказалось ручка. Как бонус — я дал и ручку и блокнот. На нём Андрей рисовал слоистую архитектуру. Объясняли границы использования контролера, домена и т.д.
Обед
Время близилось к 15:00. Я проверил всё. Но талоны на обед так и не нашёл. Смелость города берёт. Пошёл на регистрацию. Без лишних вопросов мне снова дали талоны. Мелочь, а приятно.
Во время обеда послушал про проекты ребят за столом. В том числе как СДЭК делает свою внутреннюю HR платформу. Рассказал про наш сервис. Как отлавливаем ботовый траффик, защищаем сервисы клиентов. Приходило расслабление и лёгкая усталость.
Время мастеров!
Мастеров Postgres. Отличная связка из Михаила и Павла не давала заскучать. Я думаю, организаторам стоит обращать внимание на характеры докладчиков и манеру подачи. Может быть, уже обращают. Потому что получилось очень в тему. Два бодрых докладчика передавая друг другу слово. Очень здорово провели выступление отогнав послеобеденный сон.
Конкурсы. Наконец-то!
Далее у меня началось время активных конкурсов. Стендов было много. У каждого есть свой интерактив. Проходил задания от телеграмм бота. Плюс, физическая активность.
Набрал 210 баллов. Выбрал подарки домашним.
Не ослабевающий интерес
Знакомых лиц становилось всё больше. На пути к докладу про event sourcing встретил знакомого Михаила (Питер, привет!), который во всех руках нёс мерч. Причём такой, за получение которого нужно очень постараться. Он сказал, что пропустил несколько докладов. Зато много нарешал для мерча.
Я сделал вывод, что HighLoad++ — это такое место, где каждый найдёт что-то своё. Можно даже переключать интерес. От докладов к общению, затем к конкурсам. Да в любом направление! В этом, мне кажется, сила.
Почти последняя потеря мерча
Смеркалось. Выносили последний общий ужин с напитками. Я понял, что снова потерял пакет с мерчем. Чудом нашёл на стойке, где решил архитектурную задачу.
Только что собирали и уносили мерч. Тебе повезло, что не взяли твой.
Там были мои бесценные записи в блокноте. Заметки по ходу конференции. И конспекты докладов. На всякий случай, переложил его в рюкзак.
HighLoad++ awards
Настало время заключительной активности с живой музыкой и прекрасным настроением от организаторов. Какое же было моё удивление когда я встретил Александра Зиза! Сооснователя teamlead conf! Поблагодарил его за организацию, доклады. Немного процитировал)
На награждение запомнились слова про сообщество. Представители гигантов IT индустрии говорили, что важно, даже не смотря на конкуренцию в каких-то областях, делиться знаниями, вносить свой вклад в развитие.
Награждение получилось ламповым и юморным. Пришло время расходится.
Конец приключения
По шагомеру действительно вышло не мало
В чате ответили про автобусы. Пока одевался, поставил пакет с мерчем на стойку.
Пытался найти автобусы. Хотелось домой.
Также ответил Андрей, который собирался ехать на такси в моё направление. Зарядка на холоде таяла. Не мог найти его локацию. Увидел поток такси, направляющийся к единственному выходу. И по номеру в этой колоне алгоритмом обычного перебора O (n) встретил и запрыгнул в машину.
1ый день конференции выдался большой на события и впечатления. Довольный и уставший я откинулся на сидение. Андрей оказался спикером. С подаренным powerbank’ом, оплаченным такси от конференции и парочкой интересных историй с прода. В том числе про кибербезу. Что я люблю. Я же говорил, что мне везёт с собеседниками :)