Что посмотреть из докладов на Highload Channel за 2019 год

Этим летом начали выкладывать на YouTube доклады с конференций Highload++ и РИТ прошедших в этом году (на официальном канале Highload Channel). И, наконец, у меня дошли руки и до них. Так появился этот список интересных докладов и краткие заметки к ним.

Postgres 12 improvements in nbtree indexes

https://www.youtube.com/watch?v=ueERqeB1YOM

Уровень: hardcore

Говорят об изменениях в только что вышедшем PostgreSQL 12 (release notes). Зарелизили несколько оптимизаций индексов - теперь все быстрее, гибче и занимает меньше места. Докладчик глубоко погружается в детали оптимизаций, но излагает доступно, наглядно и с картинками.

Чтобы доклад зашел нужно иметь представление об устройстве индексов.

Полезные ссылки:

Не раз натыкался на ресурс https://use-the-index-luke.com, но только сейчас оценил его. Очень рекомендую почитать.

UDP против TCP, или Будущее сетевого стека

https://www.youtube.com/watch?v=aXYJlizk3CQ

Уровень: hardcore

Докладчик: Александр Тоболь, занимается видео стримингом в Одноклассниках

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

Рассказывают о способах настроить и разогнать TCP и об его ограничениях. Далее самое вкусное - описывают сетевой протокол на базе UDP - smUDP, который разработали и уже используют в Одноклассниках. По сути это полный аналог протокола QUIC от Google, поэтому непонятно, чем не подошло готовое решение.

Из интересного - в Chrome все сайты Google (в том числе и Google Analytics) используют QUIC, а не TCP. Это можно увидеть на вкладке Network в колонке Protocol. Кроме “http/1.1” и “h2” попадается и странное “http2+quic/43” - это и есть тот самый QUIC.

Материал доступен в виде текста с картинками здесь.

Масштабирование в масштабе Amazon

https://www.youtube.com/watch?v=S3f6nWJxBvk

Уровень: medium

Докладчик: Василий Пантюхин — архитектор Amazon Web Services

Доклад о том, как, зачем и почему в Amazon AWS разрабатывали собственные решения - свое специализированное железо, свой гипервизор (KVM based), свои легковесные виртуальные машины (Firecracker), свои сетевые протоколы.

Докладчик, в целом, доставляет, хотя и переборщил с пафосом. По его словам, это первый такой инсайт о кишках AWS. В хардкорные детали не опускается и на конкретные вопросы не отвечает - и нельзя и не знает. Сам он архитектор и проповедник “дата-центричности мира”, поэтому вряд ли имеет непосредственное отношение к разработке этих решений. Зато он умеет об этом рассказать, что уже немало.

Материал доступен в виде текста с картинками здесь.

Мал, да удал. Анбоксинг микро-виртуалки Amazon Firecracker

https://www.youtube.com/watch?v=cfsICOzt6Do

Уровень: medium

Докладчик: Василий Пантюхин — архитектор Amazon Web Services

Доклад о микро-виртуальной машине Firecracker, которая используется в сервиса AWS Lambda и Fargate. Зачем был нужен свой велосипед, почему на Rust и какое у этого будущее - об этом рассказывает инженер из Amazon.

Firecracker - это “virtual machine monitor (VMM) that uses the Linux Kernel-based Virtual Machine (KVM)” и аналогична другому опенсорсному решению QEMU. Он легковесен как контейнер, но дает более надежную изоляцию.

Из забавных нюансов - в Firecracker поддерживается клавиатура, но всего с одной кнопкой - Reset - перезапустить виртуалку.

Впервые услышал о концепции “Pets vs Cattle” - детальнее здесь

Материал доступен и в виде текста с картинками здесь.

Полезные ссылки:

Почему Интернет до сих пор онлайн?

https://www.youtube.com/watch?v=z4cFMpndCDc

Уровень: medium

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

Материал доступен в виде текста с картинками здесь.

Подходы к реализации шардинга в современных [No]SQL-системах

https://www.youtube.com/watch?v=DfaTNXCsYRg

Уровень: medium

Докладчик: парень из Mail.ru, занимается Tarantul

Еще один обзор подходов для шардинга - горизонтального масштабирования баз данных.

Доклад интересен еще и тем, что теория иллюстрируется примерами реализации шардинга в современных базах данных - MongoDB, CockroachDB, CouchBase, VoltDB и Tarantul.

Ссылки на тему

Мониторинг сложных систем в 2019 году

https://www.youtube.com/watch?v=9S5fZUNzqT8

Уровень: easy

Докладчик: разработчик/devops, который мониторит за деньги

Доклад о том, что нельзя просто взять и замониторить проект за 2 недели.

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

Основные тезисы:

  • правильный мониторинг - это не мониторинг работы проекта, а мониторинг корректной работы проекта.
  • обычно заканчивают на мониторинге инфраструктуры, но есть еще бизнес-метрики, проверка бизнес-логики, интеграционный мониторинг.
  • есть мониторинг приложения - логи, APM, tracing.
  • большая часть мониторинга - работа разработчиков
  • мониторинг должен развиваться параллельно с самим проектом, с самого его начала.

Большая часть материала доступна в виде текста с картинками в статье одного из докладчиков здесь.

Полезные ссылки:

Самый лучший GEODIST() к западу от Рио-Гранде

https://www.youtube.com/watch?v=pTZqP78YYIA

Уровень: easy

Докладчик: Андрей Аксенов, разработчик Sphinx

Доклад о древних техниках оптимизации на примере вычисления расстояния между двумя точками на поверхности земного шара. И немного философии в конце.

Применены следующие древние техники древних:

  • Упрощай формулы
  • Строй таблички
  • Лерпай по ним
  • Суй в LUT побольше
  • Ряд Тейлора

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

Докладчик, Андрей Аксенов, известный и другими своими докладами на Highload++, доставляет своей манерой излагать, харизмой и опытом. Умеет доходчиво рассказать, пошутить и немного матернуться.

Ссылки на тему:

Доступные видео на YouTube