HighLoad++ 2016 завершён. До встречи в 2017!

Профессиональная конференция разработчиков высоконагруженных систем

Москва, СКОЛКОВО,
7 и 8 ноября
Архив
2015
года
Конференция прошла в этом году уже в десятый раз и собрала 2500 участников. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей.

Доклады и тезисы 2016 года

В списке заявок отображаются как принятые Программным комитетом доклады на конференцию HighLoad++ 2016, так и не принятые.

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

Посмотреть список митапов

Open source трибуна — это наш вклад в сообщество. Мы предоставили полностью оборудованный зал на площадке конференции, в котором у разработчиков open source было 20 минут, чтобы представить заинтересованным свою технологию или разработку. Прошедший отбор нашего Программного комитета докладчик мог участвовать в конференции бесплатно.

Посмотреть проекты Open Source трибуны

На HighLoad++ мы провели также сессию блиц-докладов (lightning talks). Это серия пятиминутных выступлений, идущих друг за другом с жёстким таймингом и без вопросов. Такой формат крайне хорошо подходит для выражения одной мысли или идеи. Блиц позволяет узнать — есть ли интерес к вашей теме.

Безопасность

Хайлоад и безопасность в мире DevOps: совместимы ли?

* Поговорим о рисках, подстерегающих как стартапы, так и устоявшиеся компании, отсортировав их по степени важности. * Рассмотрим особенности cloud vs bare metal в контексте безопасности. * Подискутируем о технических методах обеспечения безопасности, постараемся внедрить безопасность не в ущерб хайлоаду.

Логирование и мониторинг
,
Управление конфигурацией
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Менеджмент в эксплуатации
,
Сетевое администрирование
Доклад принят в Программу конференции
Vulnerability intelligence with vulners.com

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

Доклад принят в Программу конференции
Масштабируя TLS

За последние годы разными специалистами и компаниями (от Google до Сноудена) был проделан колоссальный объём работы с целью популяризации протокола SSL, а позже и TLS. Дорабатывались протоколы и шифры, обнаруживались десятки уязвимостей, криптографические библиотеки форкались и проводили аудиты, правозащитные фонды выдавали сотни миллионов сертификатов "забесплатно". В конце концов, TLS явочным порядком, в обход стандарта, стал обязательным для HTTP/2-серверов. ...

Защита информации
,
Управление конфигурацией
,
Devops / другое
Доклад принят в Программу конференции
Безопасность Node.js

За последние годы мечты фантастов XX века стали реальностью: смартфоны, видеозвонки, виртуальная реальность и, наконец, Интернет вещей. К сожалению, у прогресса всегда есть темная сторона. Я думаю, ни для кого не секрет, что такие компании как Sony, Yahoo, Adobe, Target и многие другие столкнулись с проблемами безопасности в последние годы. ...

API
,
Защита информации
,
Безопасность программного кода, SQL и прочие инъекции
,
ES.Next
,
Node.js
Доклад принят в Программу конференции
Неочевидные детали при запуске HTTPS в OK.Ru

В этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. ...

Безопасность в браузере
,
Защита информации
,
Бэкенд / другое
,
Devops / другое
Доклад принят в Программу конференции

Узкотематические секции: видео, поиск, RTB, биллинги

Anti-fraud solutions in RTB

Во вступлении мы рассмотрим, какие виды фрода существуют в RTB (bots, ad stacking, spoof sites). Далее поговорим о том, что из вышеперечисленного мы умеем ловить алгоритмически, и дадим общее описание подхода к кластеризации бид-реквестов на "хорошие" (люди) и "плохие" (боты) с использованием методов machine learning. Обсудим, какой из способов обучения лучше подходит для данной задачи, по каким ключевым признакам кластеризуем, каким методом. ...

Фреймворки
Доклад принят в Программу конференции
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmatic-платформа Exebid.DCA изнутри

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

C/C++
,
Бэкенд / другое
,
Асинхронное программирование, реактивное программирование
,
Оптимизация производительности
,
Алгоритмы и их сравнение
,
Архитектуры / другое
Доклад принят в Программу конференции
Архитектура и алгоритмы для индексации всей музыки ВКонтакте

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

Прочие языки
,
Поисковые системы
,
Базы данных / другое
,
Оптимизация производительности
,
Архитектуры / другое
Доклад принят в Программу конференции
Поиск совпадений и дедупликация в потоке

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

Архитектурные паттерны
,
Оптимизация производительности
,
Алгоритмы и их сравнение
,
Другое
Доклад принят в Программу конференции
Sphinx 3.0, поиск 15 лет спустя

За 15 лет разработки концепция немного поменялась и, начиная со Sphinx 3.0, мы теперь, если задуматься, вполне себе самостоятельная распределенная база (с фокусом на полнотекстовый поиск), а не только лишь добавочный к основному хранилищу поисковый движок. Порядка 2 лет уже пилим ряд больших внутренних переделок под флагом 3.0 и, вот, наконец-то, доделываем. (На момент подачи тезисов "наполовину" готов новый клевый формат индекса; к моменту проведения конференции рассчитываем выложить публично доступную альфу). ...

Доклад принят в Программу конференции
RTB в телевизоре и на улицах

- Use cases: спутниковое TV; десятки тысяч мониторов в клиниках; медиапланирование в телевизионных сетях с десятком поставщиков данных о зрителях. - Еще кратко о том, почему появилось RTB, почему появились коннекторы между SSP и DSP (хорошо знаю про case 3 млн. транзакций в секунду), почему появились SSP и DSP "в одном флаконе". ...

Доклад принят в Программу конференции
Sphinx 3.0 и RT-индексы на основном поиске Avito

Десятки миллионов пользователей просматривают Avito и публикуют почти миллион новых объявлений ежедневно. Сокращение времени появления новых объявлений в поиске - одна из важных задач сервиса. Команда поиска Avito провела в этом направлении ряд оптимизаций, значительно уменьшив время индексации, и, в качестве следующего шага, рассматривала вариант c Delta-индексами, но в результате оказалось возможным реализовать Real Time-индексы. ...

Доклад принят в Программу конференции
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd

В данном докладе я расскажу о том, как Lua помогает расширять функционал Rspamd, позволяя людям без особых знаний С писать эффективные правила фильтрации спама. Также будут рассмотрены особенности внедрения Lua в C код и основные приемы, применяемые при написании API для Lua приложений. Отдельное внимание будет уделено документации к Lua API, которая является одним из необходимых компонентов для opensource приложения. ...

Доклад принят в Программу конференции

Производительность фронтенда

Отрисовать за 16 мс

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

Single page application, толстый клиент
,
Пакетные менеджеры и организация модульности
,
Браузеры
,
Фронтенд / другое
,
Оптимизация изображений
,
Генераторы статики (JAMStack)
,
Мобильные приложения без native (PWA, AMP)
,
ES.Next
,
Взаимодействие с серверной стороной (REST, GraphQL, gRPC)
Доклад принят в Программу конференции
Порядок для скорости. Система структурирования фронтендовой части веб-приложений

Расскажем о системе структурирования и версионности фронтендовой части веб-приложений: •    как вести учет поколений и версий дизайна; •    как проводить анализ консистентности фронтенда; •    как построить автоматическую систему документации по элементам; •    насколько такой подход влияет на общую скорость разработки. Система структурирования фронтенда в Superjob - это более 200 элементов и 2000 представлений. ...

Пакетные менеджеры и организация модульности
,
Фронтенд / другое
,
Генераторы статики (JAMStack)
,
React, Vue, Angular и другие JavaScript-фреймворки
,
CSS фреймворки
,
ES.Next
,
Производительность и мониторинг фронтенда
Доклад принят в Программу конференции
Практическое применение WebWorkers

WebWorkers имеют глобальное покрытие в 91% по данным http://caniuse.com. Тем не менее, не всякое современное веб-приложение использует их. В своем докладе я постараюсь передать двухлетний опыт использования WebWorkers в нашей команде для написания веб-приложений с функциональностью, которая требует выполнения тяжелых вычислений, таких как преобразование бинарых файлов из одного формата в другой и шифрование. ...

Доклад принят в Программу конференции
Автоматизация тестирования клиентской производительности

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

Браузеры
,
Оптимизация изображений
,
Мобильные приложения без native (PWA, AMP)
,
ES.Next
,
Производительность и мониторинг фронтенда
,
Адаптивная вёрстка
Доклад принят в Программу конференции
Промышленное ускорение сайтов

Идея: обеспечить реально высокую скорость загрузки нагруженного сайта (от 100 тысяч посетителей в день) для всех пользователей, ничего не сломав и уложившись в бюджет. Введение. Подходы к оптимизации фронтенда: * Классический: делаем по GPSI или WPT. ...

Оптимизация производительности
,
Профилирование
,
Синхронизация данных, параллельная обработка, CDN
,
Непрерывное развертывание и деплой
,
Непрерывная интеграция
,
Оптимизация изображений
,
Управление изменениями, управление требованиями
,
Вечеринки, развлечение
,
Производительность и мониторинг фронтенда
Доклад принят в Программу конференции
Your hero images need you: Save the day with HTTP2 image loading

Images are a crucial component of all websites. They evoke emotions and prompt actions. They also form 64% of website data and have the highest correlation to page-load time. ...

Производительность и мониторинг фронтенда
Доклад принят в Программу конференции
Дизайн REST API для высокопроизводительных систем

Доклад осветит вопросы устройства REST API для веб-приложений и мобильных клиентов, от которых требуется высокая производительность. Проектирование высокопроизводительных REST API. - Кто должен участвовать в проектировании. ...

Single page application, толстый клиент
,
Производительность и мониторинг фронтенда
,
Взаимодействие с серверной стороной (REST, GraphQL, gRPC)
Доклад принят в Программу конференции
Применяем стандарты кодирования NASA к JavaScript

Jet Propulsion Laboratory – научная организация, производящая большое количество исследований и разрабатывающая ПО для большинства беспилотных программ NASA в области исследования дальнего космоса. В портфолио JPL такие проекты как марсоход Curiosity и зонд Voyager, покинувший солнечную систему после 25 лет полета и до сих пор поставляющий научную информацию. Высокий уровень автоматизации миссий и продолжительность явились основанием для беспримерных требований к качеству ПО, следствием которых стали недавно опубликованные рекомендации по написанию кода для проектов JPL.

Доклад принят в Программу конференции
Превышаем скоростные лимиты с Angular 2

* Почему Angular 2 такой быстрый и как его ускорить еще сильнее? * Как работает Change Detection механизм и как им управлять? * Зачем нам Zone.js и Функциональное Реактивное Программирование? ...

Доклад принят в Программу конференции
Альтернативные технологии рендеринга контента: SVG, Canvas, WebGL

DOM + CSS - прекрасная абстракция, облегчающая разработку UI, однако она не лишена недостатков. В то же время мы знаем, что в браузере есть альтернативные технологии отображения контента: SVG, Canvas и WebGL. Этот доклад о специфике применения и супер-силах каждой из них. ...

Доклад принят в Программу конференции
Как сделать ваш JavaScript быстрее

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

Браузеры
,
ES.Next
,
Node.js
,
Производительность и мониторинг фронтенда
Доклад принят в Программу конференции

Аппаратное обеспечение, инфраструктура

DPDK в виртуальном коммутаторе Open vSwitch

Intel DPDK (Data Plane Development Kit) — набор драйверов и библиотек, позволяющих приложениям взаимодействовать с сетевым устройством напрямую, минуя сетевой стек Linux. Это значительно увеличивает скорость обработки пакетов. DPDK интегрируется с рядом популярных программных решений, например, c виртуальным коммутатором Open vSwitch. ...

Оптимизация производительности
,
Сетевое администрирование
Доклад принят в Программу конференции
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo

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

Управление конфигурацией
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Аппаратное обеспечение
Доклад принят в Программу конференции
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим делать

В пересчёте на количество транзисторов оперативная память занимает в современном сервере не менее 85% (если добавить сюда внутрипроцессорные кэши, то и сильно за 90%). Все эти транзисторы оплачены, они греются. Хотелось бы использовать их по максимуму. ...

Оптимизация производительности
,
Профилирование
,
Критерии выбора технологий для проекта
,
Аппаратное обеспечение
Доклад принят в Программу конференции
NVMf: 5 млн IOPS по сети своими руками

В выпуске 4.8 ядра Linux появилась поддержка NVMf (NVM Express over Fabrics) — стандартизованной возможности присоединять по сети как блочные устройства твердотельные накопители, установленные в разъёмы PCI Express. NVMf лишён многих недостатков iSCSI, повторяющего по сети SCSI-команды со всеми их издержками времён дисковых накопителей, и главное — позволяет по полной использовать возможности сетей с прямым доступом к оперативной памяти (RDMA). Таким образом, можно под управлением одного узла собрать сверхбыстрый и сверхотзывчивый пул блочных устройств, не прибегая к покупке дорогого флэш-массива. ...

PostgreSQL
,
Oracle
,
Оптимизация производительности
,
Аппаратное обеспечение
,
Конвергентность
Доклад принят в Программу конференции
Cистемы с непосредственным жидкостным охлаждением

- Альтернатива традиционному охлаждению или "Стакан жидкости vs Кубометр воздуха". - Устройство системы охлаждения: подсистема охлаждения узлов + подсистема утилизации тепла. - Типы оборудования, которые можно охлаждать. ...

Доклад принят в Программу конференции
Как FB, Apple и Google разрушают традиции в компьютерном бизнесе, и почему это для индустрии хорошо

HighLoad - новый взгляд на инфраструктуру центра обработки данных для современных нужд и приложений. Эволюция инфраструктуры датацентра. Как Facebook совершил “открытие” в железной инфраструктуре. ...

Доклад принят в Программу конференции

DevOps и эксплуатация

5 способов деплоя PHP-кода в условиях хайлоада

В дата-центрах нашей компании несколько тысяч серверов, и примерно на половине из них нужно выкладывать PHP-код 2 раза в день. Помимо раскладки на production также не стоит забывать о том, что код нужен на стейджинге, и в стейджинг-кластер у нас входит около 50 машин, код на которых обновляется раз в несколько минут. Также есть «хотфиксы» — небольшие (1-5) наборы файлов, которые выкладываются во внеочередном порядке на все или на выделенную часть серверов, чтобы устранить существующие проблемы на продакшне, не дожидаясь полной выкладки. ...

Непрерывное развертывание и деплой
Доклад принят в Программу конференции
Aviasales: миграция поискового движка в docker

* Yasen (Yet Another Search Engine) – первоначальная архитектура поискового движка. * Немного о старой схеме деплоя и её боли – buildbot, chef, git, monit, haproxy. * Docker – простота и мощь в одной команде. ...

Доклад принят в Программу конференции
Как SRE следит за стабильностью и скоростью HeadHunter

HeadHunter - сайт, где соискатели находят работу, а работодатели - сотрудников. Днем к нам приходит 3K запросов в секунду (без статики), что превращается в 25K rps к бэкендам и 50K rps к базам данных. Раньше стабильность сайта могла быть ниже 99%. ...

Микросервисы, SOA
,
Распределенные системы
,
Логирование и мониторинг
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Devops / другое
Доклад принят в Программу конференции
Собираем Docker-образы быстро и удобно

Одним из важных элементов процесса Continuous Delivery, построенного с использованием Docker, является сборка Docker-образов. На первый взгляд задача кажется тривиальной, а синтаксис Dockerfile — простым и понятным. Но что, если вы используете микросервисную архитектуру и вам необходимо собирать сотни или даже тысячи образов каждый день? ...

Технологии виртуализации и контейнеризации
,
Непрерывное развертывание и деплой
,
Непрерывная интеграция
Доклад принят в Программу конференции
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on a Raspberry Pi Cluster

The Internet of things (IoT) requires a transition of many paradigms that are commonly used today. One of them is the shift from *scaling up*, i.e. from a system design towards bigger machines with higher computational power to *scaling down*, i.e. ...

Доклад принят в Программу конференции
Особенности архитектуры распределённого хранилища в Dropbox

Так как я работаю в позиции SRE (site reliability engineer), то более подробно затрону вопросы того, как мы добились годового durability 99.9999999999% и доступности более 99.99%: - Изоляция -- Физическая --- Хранение данных в разных стойках, датацентрах, с разными версиями оборудования и вендорами. --- Бэкапы вне основной инфраструктуры. -- Логическая --- Слабая связанность компонентов. ...

Архитектурные паттерны
,
Отказоустойчивость
,
Оптимизация производительности
,
Распределенные системы
,
Непрерывное развертывание и деплой
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Администрирование баз данных
,
MySQL (MariaDB, Percona Server)
Доклад принят в Программу конференции
Zabbix 3.2 - мониторинг качественно нового уровня

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

Логирование и мониторинг
,
Управление конфигурацией
,
Сетевое администрирование
Доклад принят в Программу конференции
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках

Самым критичным в мониторинге бизнес-логики является этап выяснения сути инцидента, зачастую он занимает значительное время и требует высокой квалификации сотрудника, так как основные показатели работы сайта и сервисов представлены более чем 100 тысячами графиков, и нахождение первоисточника - не самое простое дело. Поэтому была создана система мониторинга (SmartMonitoring), которая умеет находить аномалии в работе портала и показывать связь между ними, что значительно упрощает работу как администраторам, так и программистам. Такая система помогает в случае инцидента понять, какой именно среди десятков наших сервисов засбоил первым и, соответственно, ускоряет распутывание «клубка» в процессе расследования инцидента и помогает быстро находить сервис, который во всем виноват.

Логирование и мониторинг
Доклад принят в Программу конференции
Хорошо поддерживаемое в продакшне приложение

Исторически сложилось так, что одни люди разрабатывают приложения (Dev), а другие эксплуатируют их в продакшне (Ops). И у последних есть немало проблем с тем, что невозможно понять, что происходит. Причем это касается как собственных разработок, так и популярных open source решений. ...

Доклад принят в Программу конференции
Как devops исчерпывает себя, и что будет дальше

* Следующее поколение моделей проектирования и эксплуатации серверных приложений в публичных облаках и на классических серверах. * Сравнение методов эксплуатации: "традиционных" Chef/Salt/Ansible, immutage images/virtual appliances/Docker, и автономных рабочих окружений Jetware/Snappy/Nix/Habitat. * Самоконфигурация, самоадминистрирование и самовосстановление серверов. ...

Микросервисы, SOA
,
Отказоустойчивость
,
Распределенные системы
,
Логирование и мониторинг
,
Технологии виртуализации и контейнеризации
,
Управление конфигурацией
,
Непрерывное развертывание и деплой
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Автоматизация разработки и тестирования
Доклад принят в Программу конференции
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые ловушки сервисной архитектуры

В какой-то момент 3-й в мире работный сайт начал периодически падать на несколько минут. Сюрпризом стало то, что в этот раз действительно из-за сети. Для масштабирования сервисов и их взаимодействия между собой hh.ru использует внутренний балансировщик. ...

Микросервисы, SOA
,
Отказоустойчивость
,
Логирование и мониторинг
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Аппаратное обеспечение
,
Сетевое администрирование
,
Проектирование информационных систем
Доклад принят в Программу конференции
ELK: менеджмент логов, быстрая локализация проблем

Сначала несколько слов про предпосылки задачи. 1. Что нам завещали деды: zcat | cut | sort | uniq -c | sort -nr . ...

Логирование и мониторинг
Доклад принят в Программу конференции
AWS и GCP: трудная жизнь в облаках

Разница между “несколько серверов в облаках” и “вся инфраструктура в облаках“ огромна. С одной стороны, мы перекладываем миллион забот на гигантские плечи Amazon и Google. С другой стороны, к сожалению, обретаем много новых и порой необычных проблем. ...

Доклад принят в Программу конференции
Преждевременная оптимизация архитектуры

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

Доклад принят в Программу конференции
Как не положить тысячи серверов с помощью системы централизованного управления конфигурацией на примере CFEngine

В 2012 году мы начали внедрение CFEngine в нашу инфраструктуру. Переход на централизованное управление конфигурацией в проектах такого масштаба подобен ремонту - его невозможно закончить, его можно только прекратить. И уже весной 2013 года (в день 404 ошибки и международного дня Интернета) этот "ремонт" превратился в катастрофу и был остановлен. ...

Управление конфигурацией
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
Доклад принят в Программу конференции
Testing applications with traffic control in containers

Testing applications is important, as shows the rise of continuous integration and automated testing. In this talk, I will focus on one area of testing that is difficult to automate: poor network connectivity. Developers usually work within reliable networking conditions so they might not notice issues that arise in other networking conditions. ...

Доклад принят в Программу конференции
Инфраструктура распределенных приложений на nodejs

Мы создаем nodejs приложения, используя различные современные технологии, такие как Docker, Consul, pm2. Современный спектр решений настолько обширен, что сложно не заблудиться. Как же выбрать нужные вашему проекту технологии, чтобы успешно его запустить и поддерживать? ...

Бэкенд / другое
,
Devops / другое
Доклад принят в Программу конференции

Системное администрирование

Борьба с DDoS в хостинге - по обе стороны баррикад

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

Менеджмент в эксплуатации
,
Сетевое администрирование
,
Другое
Доклад принят в Программу конференции
Что нового в nginx?

Что нового появилось в nginx за последнее время и для чего всё это нужно? В докладе - рассказ про основные новые функции в nginx 1.9.x (1.10.x) и 1.11.x. HTTP/2, модуль stream, динамическая загрузка модулей и так далее - зачем всё это нужно и как это использовать. ...

Доклад принят в Программу конференции
Системный администратор Vkontakte. Как?

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

Отказоустойчивость
,
Архитектуры / другое
,
Управление конфигурацией
,
Непрерывное развертывание и деплой
,
Менеджмент в эксплуатации
Доклад принят в Программу конференции
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, производительность и высокая плотность

Услуга виртуального дата-центра предъявляет жесткие требования к платформе виртуализации - клиенты хотят высокую производительность и стабильность, а провайдерам нужна возможность максимально плотно размещать нагрузки клиентов. Мы расскажем: 1. как мы работали с Virtuozzo, чтобы сделать его более производительным и стабильным и, вместе с тем, добиться максимальной плотности размещения виртуальных машин; 2. ...

Оптимизация производительности
,
Распределенные системы
,
Архитектуры / другое
Доклад принят в Программу конференции
Балансировка нагрузки и отказоустойчивость в Одноклассниках

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

Отказоустойчивость
,
Архитектуры / другое
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
Доклад принят в Программу конференции
HDD, SSD, RAM, RAID, и кого на ком кэшировать

Рассуждение, опыт, практика и примеры на тему производительности ввода-вывода. Мы будем сравнивать "дефолтное" поведение SSD и HDD, сравним "недефолтное" поведение после тюнинга HDD. Я расскажу о плюсах и минусах в надежности HDD и SSD, о проблемах восстановления SSD и HDD после сбоев. ...

Доклад принят в Программу конференции

Интернет вещей

Сети передачи данных в Интернете вещей

Технологии IoT — это в первую очередь технологии обеспечения передачи данных там, где раньше это было технически невозможно или экономически бессмысленно. Они сильно отличаются и от привычных для IT сетей, и от традиционных промышленных SCADA-систем — это дешёвые, низкоскоростные радиочастотные сети с дальностью действия от десятков-сотен метров до десятков километров, работающие в безлицензионных диапазонах в условиях сильных помех и негарантированной доставки данных. Число стандартов на подобные сети уже перевалило за десяток, при этом весьма немногие специалисты понимают, чем они отличаются друг от друга, как работают, к каким проектам применимы, и в чём ограничения возможных бизнес-моделей. ...

Доклад принят в Программу конференции
Cautious: IPv6 is here

Многим известна проблема исчерпания адресного пространства IPv4, из года в год делаются доклады о том, что адреса кончаются, кончаются, да никак не кончатся. На этом фоне польза от внедрения IPv6 кажется абсолютно неочевидной. В докладе пойдет речь о причинах неизбежности прихода и массового внедрения IPv6 вне зависимости от судьбы адресного пространства IPv4, с описанием как пользы от использования Dual Stack, так и возникающих рисков. ...

Доклад принят в Программу конференции
Как защитить 1 триллион IoT-устройств

К 2025 году ожидается, что 1 триллион устройств, таких как датчики и всевозможные приборы, будут подключены к интернету. SSL 2.0 был изобретен в 1995 году, с тех пор он превратился в монстра TLS, в котором постоянно находят критические ошибки. В мире IoT популярным является подход, когда для защиты используется HTTPS + авторизация по паролю, либо данные, вообще, передаются без шифрования. ...

API
,
Защита информации
,
Микросервисы, SOA
,
Распределенные системы
,
Разработка библиотек, включая open source библиотеки
Доклад принят в Программу конференции

Enterprise-системы

Опыт построения СХД на базе Windows Server для использования в публичном облаке в компании Dataline

В докладе мы поделимся опытом, полученным в ходе создания публичного облака, построенного на базе продуктов Microsoft. В частности, речь пойдет о построении программно-определяемой системы хранения данных на основе технологии Storage Spaces. Основное предназначение полученной СХД объемом около 80ТБ - использование в кластере Hyper-V для запуска порядка 5000 ВМ. ...

Отказоустойчивость
,
Критерии выбора технологий для проекта
,
Технологии виртуализации и контейнеризации
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Сетевое администрирование
Доклад принят в Программу конференции
Побеждаем мейнфрейм

Мейнфреймы жутко мифологизированы, встречаются самые невероятные представления о них даже в среде технически грамотных специалистов: кто-то представляет их сверхмощными машинами, лишь малость уступающими в Линпаке «Ломоносову», а кто-то — неповоротливым пережитком 1960-х, пригодным разве что для музея или Вторцветмета. В первой части доклад нацелен на преодоление этой информационной лакуны, в ней планируется кратко рассказать об устройстве современных мейнфреймов, их показателях производительности, о задачах, которые на них решаются в 2010-е годы. Главные аналитики мировых IT Gartner когда-то спрогнозировали, что последний мейнфрейм будет потушен в 1993 году. ...

Аппаратное обеспечение
,
Legacy системы, жизненный цикл продуктов
,
Big Data и Highload в Enterprise
Доклад принят в Программу конференции
Сайт под управлением ERP или ERP под управлением сайта

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

Фреймворки
,
Архитектура данных, потоки данных, версионирование
,
Синхронизация данных, параллельная обработка, CDN
,
Логирование и мониторинг
Доклад принят в Программу конференции

Производительность мобильных приложений

Производительность Unity3D: подводные камни

Unity3D - это внушительный набор средств для кроссплатформенной разработки игр и 3D-приложений. Однако ряд его особенностей может привести к внезапному падению производительности продукта на мобильных платформах. Где же прячутся подводные камни? ...

Архитектура платформы Google Android
,
Архитектура платформы iOS
,
Особенности процессов разработки и тестирования мобильного ПО
,
Кросплатформенная разработка
,
GameDev для мобильных устройств
,
Мобильные приложения / другое
,
Производительность и мониторинг фронтенда
Доклад принят в Программу конференции
Измеряем энергопотребление с помощью Arduino

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

Энергопотребление
,
Нестандартные устройства и периферия
Доклад принят в Программу конференции
Красиво и не тормозит! Анимация без ущерба для производительности приложений

Расскажем: • какие инструменты Apple для разработчиков лучше применять для выявления проблем и их локализации; • как стоит хранить большие объемы данных и проводить быстрый поиск по ним; • как правильно строить вычисления в рамках жизненного цикла view-контроллера; • как незначительные изменения при отрисовке сильно влияют на производительность приложений и usability. iOS-приложения Superjob это: • 3 приложения в AppStore для B2C и B2B-аудиторий; • более 1 млн. пользователей; • наше приложение - это анимации в 50-60 fps; • стабильные позиции в ТОП-3 приложений в категории «Бизнес». ...

Доклад принят в Программу конференции
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металлический" фреймворк iOS

В какой-то момент кто-то в интернете решил: всё, что мы можем вычислить, мы должны вычислить где-то на “большой мощной машине”. Так родилась заново идея “тонкого клиента”, поработившая сознание разработчиков современных веб-приложений. Всё, на что способно пользовательское приложение, в 90% кейсов сегодня - красиво отрисовать контент по данным, рассчитанным удаленной машиной в одном из дата-центров. ...

Технологии и языки для iOS: ObjectiveC, Swift
,
Архитектура платформы iOS
,
Энергопотребление
,
Аппаратные и программными возможности мобильного устройства
,
Работа с графикой, 3D Моделирование
,
Мобильные приложения / другое
Доклад принят в Программу конференции
Оптимизация работы с данными в мобильных приложениях

Общие принципы оптимизации производительности мобильных приложений: - работа с длинными списками — таблицы, коллекции; - графика — загрузка из сети, кэширование; - ленивая загрузка частей приложения. Работа с периодически обновляемыми структурированными данными. - как передавать данные с сервера на клиент: запросы, объем, формат, десериализация; - как хранить полученные данные на клиенте — виды хранилищ: от плоских файлов до NoSQL. ...

SQLite, ORM, альтернативные СУБД
,
БД на мобильных устройствах
,
Клиент-серверное приложение, REST API, protobuf
,
Мобильные приложения / другое
Доклад принят в Программу конференции
Spark: практика разработки высоконагруженных iOS-приложений

Известный закон Джеймса Завински гласит “Каждая программа пытается расширяться до тех пор, пока не сможет читать почту”. В данном докладе будут рассмотрены следующие практические аспекты, возникшие при разработке популярного почтового клиента Spark (номинант “App Store Best Of 2015”): - Высоконагруженные интерфейсы: рендеринг цепочек сообщений и списка писем — ключевых элементов почтового приложения с высокими требованиями к производительности. Разбор подходов, использующих UIKit, CoreText, AsyncDisplayKit, Core Graphics. ...

Технологии и языки для iOS: ObjectiveC, Swift
,
Архитектура платформы iOS
,
Энергопотребление
,
Бэкенд мобильных приложений
,
Архитектура мобильного приложения
,
Безопасность в мобильных приложениях
Доклад принят в Программу конференции
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru

Мы посвятили два месяца исследований и разработки сокращению времени запуска нашего приложения. В докладе мы расскажем все, что нам удалось узнать на собственном опыте о приемах и хитростях ускорения приложений под iOS, поделимся конкретными рецептами и расскажем о результатах проделанной работы. - Что можно и нужно оптимизировать? ...

Технологии и языки для iOS: ObjectiveC, Swift
,
Архитектура платформы iOS
,
Особенности процессов разработки и тестирования мобильного ПО
,
Мониторинг и эксплуатация мобильного приложения
Доклад принят в Программу конференции
Пользователь точно оценит! Повышение производительности мобильных приложений

Расскажем о методиках создания производительных приложений, опираясь на собственный многолетний опыт проб и ошибок: • использование инструментов отладки (работа с Hierarchy Viewer; поиск и устранение overdraw; профилирование методов; поиск утечек памяти); • написание производительного кода; • создание верстки, повышающей скорость работы приложений; • создание требований к дизайну интерфейсов и API с оглядкой на производительность; • использование аналитики для логирования и отладки багов. Android-приложения Superjob: • 3 приложения в Google Play для B2C и B2B-аудиторий; • более 1 млн. пользователей; • в числе лучших российских приложений по мнению Google Play. ...

Доклад принят в Программу конференции

Менеджмент крупных проектов

Remote Highload

Созданием еще одной высоконагруженной системы сегодня уже сложно кого-то удивить. Как насчет высоконагруженной системы, которая была создана и эксплуатируется 100% удаленной командой, работающей в 5 часовых поясах? В докладе пойдет речь о команде Virtustream (Dell Technologies), которая отвечает за Virtustream Storage Cloud. ...

Доклад принят в Программу конференции
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат

Когда в зоне ответственности находятся несколько "похожих" по реализации и/или функционалу технических решений (сайтов, систем, проектов), волей-неволей возникает желание их унифицировать. Плюсы от такого подхода очевидны: это и экономия ресурсов разработки/тестирования/администрирования, и удобство поддержки, и полноценное общее владение кодом для всей команды разработки. Очевидно, что подобная реформа потребует значительных ресурсов и времени, но мы верим, что это "один раз", и принимаемся отстраивать сложную архитектурную конструкцию, призванную удовлетворить требования всех "объединяемых" продуктов. ...

Модели руководства
,
Продуктовая разработка
,
Обслуживание клиентов, техническая поддержка, обратная связь
,
Управление / другое
Доклад принят в Программу конференции

Бэкенд

HHVM: Efficient and Scalable PHP/Hack Execution

The HipHop Virtual Machine (HHVM) is the PHP and Hack execution engine developed at Facebook. HHVM is the fastest existing PHP/Hack engine, and it powers not only Facebook's servers, but also Wikipedia, Baidu, and many other sites across the web. In this talk, we'll give an overview of the design of HHVM, with particular focus on its JIT compiler.

Доклад принят в Программу конференции
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем

Это реальный рассказ об архитектуре Единой Фронтальной Системы (ЕФС) - системы, которая будет обслуживать абсолютно всех клиентов Сбербанка во всех каналах (отделения, интернет-банки, мобильные приложения, АТМ и т.д.). Это означает: десятки миллионов активных клиентов, 24х7, и еще пара NFR'ов, от которых порой вздрагиваешь по ночам :) С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться. В моем докладе я расскажу: · Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище). ...

Фреймворки
,
Миграции данных
,
Системы прав доступа
,
API
,
Платёжные системы, обработка платежей
,
Java
,
Прочие языки
,
Защита информации
,
Поисковые системы
,
Электронная почта
,
Бэкенд / другое
Доклад принят в Программу конференции
Профилирование кода на C/C++ в *nix-системах

Из этого доклада вы узнаете, как профилировать код, написанный на языках C и C++, в UNIX-подобных системах, таких как Linux, MacOS и FreeBSD. Мы познакомимся с такими инструментами, как gprof, perf, SystemTap, DTrace, и другими. Также будут приведены списки заслуживающей внимания литературы по этой теме и ссылок на онлайн-ресурсы.

C/C++
,
Профилирование
Доклад принят в Программу конференции
Как мы сделали PHP 7 в два раза быстрее PHP 5

PHP 7.0 вышел год назад и уже используется многими крупными компаниями. Почти все они отмечают, что переход с PHP 5 дал приблизительно двукратное увеличение производительности на своих реальных задачах, позволив сократить количество серверов. Я расскажу о том, как мы пришли к идеям, легшим в основу PHP 7; о внутреннем устройстве PHP, изменениях в базовых структурах данных и алгоритмах, определивших успех; новых идеях, реализуемых в еще не вышедших версиях.

Доклад принят в Программу конференции
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Docker

Докладчик разберёт кейс быстрой разработки небольшого прототипа серверной части мобильной игры с геолокацией на стеке nginx, OpenResty (Lua), Redis и Docker. Вы услышите о том, почему был выбран такой стек, о его преимуществах (и некоторых недостатках), о том, как прототип устроен внутри, о том, как именно особенности стека были использованы для того, чтобы реализовать задуманное. Не будет обойден стороной вопрос о том, как максимально быстро собрать прототип и быстро итерироваться по нему, но при этом удержаться в золотой середине между Сциллой макаронной копипасты и Харибдой кристаллического перфекционизма.

Фреймворки
Доклад принят в Программу конференции
OpenResty: превращаем NGINX в полноценный сервер приложений

Все мы знаем, что NGINX – отличный прокси, который может качественно и эффективно распределять нагрузку между бэкендами и фильтровать запросы по определенным условиям. Но при этом часто на практике возникают задачи, которые не решаются его декларативной моделью описания конфигурации: иногда для принятия решения нам нужно сходить в базу данных (в Redis или даже в MySQL), другой сервис или произвести какую-то более сложную обработку запроса/ответа. Именно здесь к нам на помощь приходит мощь Lua и OpenResty.

Доклад принят в Программу конференции
Как и зачем создавать NginX-модуль - теория, практика, профит

NginX является фундаментальным элементом практически в любом проекте. Сегодня многие умеют NginX конфигурировать, писать lua скрипты, использовать как proxy. Другими словами, решать задачи, не выходя за рамки nginx.conf, и в большинстве случаев этого достаточно. ...

Доклад принят в Программу конференции
Отладка производительности приложения на Erlang

Байткод эрланга выполняет очень хорошо отлаженная виртуальная машина BEAM, которая превосходно работает даже на современных 72-х и более ядерных компьютерах. Ключевая возможность эрланга в том, чтобы использовать все ядра в одном приложении, т.е. иметь в памяти одни и те же данные и обеспечивать к ним доступ без запуска кучи экземпляров одного и того же приложения по количеству ядер. ...

Фреймворки
,
Прочие языки
Доклад принят в Программу конференции

Базы данных, системы хранения

Разработка real-time приложений с RethinkDB

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

Базы данных / другое
,
Организация доступа к базам данных, ORM, собственные драйвера
,
Отказоустойчивость
,
Администрирование баз данных
,
ES.Next
,
Node.js
Доклад принят в Программу конференции
Новые возможности полнотекстового поиска в PostgreSQL

Я расскажу про новые возможности полнотекстового поиска, которые вошли в последний релиз PostgreSQL - поддержку фразового поиска и набор функций для манипулирования полнотекстовым типом данных (tsvector). Помимо этого, мы улучшили поддержку морфологических словарей, что привело к значительному увеличению числа поддерживаемых языков, оптимизировали работу со словарями, разработали новый индексный метод доступа RUM, который значительно ускорил выполнение ряда запросов с полнотекстовыми операторами. ...

PostgreSQL
Доклад принят в Программу конференции
Адаптивная оптимизация запросов в реляционных СУБД

Как известно, SQL - декларативный язык. В SQL-запросе заданы операции и свойства данных, над которыми эти операции должны быть выполнены. Но за выбор конкретного алгоритма выполнения запроса отвечает СУБД. ...

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

Я расскажу о нашем опыте перевоза 300+ ТБ метаданных и 250k RPS нагрузки с одной коммерческой СУБД на букву "O" в PostgreSQL. ...

Доклад принят в Программу конференции
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store

В MySQL 5.7 появился целый ряд новых возможностей, позволяющих использовать MySQL в приложениях и как хранилище JSON-документов, и как реляционную базу данных. В этом докладе мы расскажем о поддержке JSON в MySQL 5.7, а также поговорим о том, когда имеет смысл её использовать, и насколько хорошо она работает. Кроме того, мы остановимся на новом протоколе доступа к MySQL, поддерживающем SQL. ...

Доклад принят в Программу конференции
NoSQL внутри SQL: приземленные вопросы практического применения

Чтобы добиться от системы максимальной производительности, необходимо учитывать структуру данных, с которыми вы работаете. Проблемы возникают, если данные очень неоднородные, и один из способов решения этих проблем - использовать возможности современных реляционных БД для хранения данных в документо-ориентированной форме. Этот подход имеет свои плюсы и минусы, которые будут обсуждаться в докладе на примерах PostgreSQL/MySQL/MariaDB etc.

PostgreSQL
,
MySQL (MariaDB, Percona Server)
Доклад принят в Программу конференции
Peeking into the Black Hole Called PL/PGSQL - the New PL Profiler

The new PL profiler allows you to easily get through the dark barrier, PL/pgSQL puts between tools like pgbadger and the queries, you are looking for. Query and schema tuning is tough enough by itself. But queries, buried many call levels deep in PL/pgSQL functions, make it torture. ...

Доклад принят в Программу конференции
Опыт миграции между дата-центрами

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

Доклад принят в Программу конференции
Как мы готовим MySQL

* Исторический экскурс, введение понятия спота, принцип функционального деления баз на группы (споты / не споты), шардирование как способ масштабирования спотов. * Возникновение второго датацентра на другом континенте, создание самодельной репликации, позволяющей работать по схеме много -> много, краткая схема (структура спотов, схема репликации, служебные базы - очереди, репликация, мониторинг), плюсы и минусы этого решения, инструменты диагностики. * Альтеры шадрированых спотов - первый вариант утилиты для этой задачи: схема его работы и возникшие проблемы; вторая версия утилиты - улучшения, а также, что осталось неисправленным. ...

Доклад принят в Программу конференции
Хранение данных на виниле

В rfc1149 дан исчерпывающий обзор преимуществ голубиной почты для протокола IP: низкая пропускная способность, невысокая надёжность, простая топология сети. Для того чтобы дать адекватный ответ вызовам эпохи мемристоров и квантовых вычислений, Tarantool 1.7 содержит новый движок для хранения данных на классических жёстких дисках и флэш-накопителях: Vinyl. Tarantool известен своей скоростью, и мы постарались не ударить в грязь лицом и на этот раз. ...

Поисковые системы
,
Tarantool
Доклад принят в Программу конференции
Долгожданный релиз pg_pathman 1.0

Механизм секционирования в Postgres имеет ряд ограничений, которые не позволяют использовать концепцию секционирования в полной мере. Среди таких ограничений можно выделить неэффективность планирования запросов для секционированных таблиц (линейный рост времени планирования при увеличении количества секций), отсутствие HASH-секционирования, необходимость ручного управления секциями. В нашем докладе мы расскажем про расширение pg_pathman, которое позволяет обойти эти ограничения. ...

PostgreSQL
Доклад принят в Программу конференции
Archival Disc на смену Blu-ray: построение архивного хранилища на оптических технологиях

Мы расскажем, как с помощью роботизированных библиотек данных и новых носителей с оптическими дисками от 1,2TB до 12TB экономить миллионы рублей, на примере построения систем от 100TB до 1EB. Что обещает новый стандарт оптического диска AD (Archival Disc) для разработчиков ПО высоконагруженных систем, о настоящем и будущем оптических технологий. Может ли оптика конкурировать c хардами? ...

Базы данных / другое
Доклад принят в Программу конференции
Переезжаем на Yandex ClickHouse

Несколько месяцев назад компания "Яндекс" совершила маленькую революцию, открыв свою внутреннюю систему хранения и аналитики больших данных ClickHouse в opensource для всех желающих. ClickHouse стабильно показывает очень высокие результаты на тестах производительности запросов, часто догоняя и обгоняя лидеров рынка аналитических RDBMS, включая HP Vertica. Высокие результаты и авторитет "Яндекса" привлекают к этой системе заслуженное внимание разработчиков и архитекторов. ...

Доклад принят в Программу конференции
PostgreSQL @Alibaba Cloud

This presentation will talk about how Alibaba Cloud deals with the management of PostgreSQL as a Cloud Service. It will not only talk about the architecture design of the management system, link access architecture and high availablity, but also the enhancements we've done for PostgreSQL, the way we play with open source and the coming future based on our customs' feedback. ...

Доклад принят в Программу конференции
Визуализация активности клиентов по всему миру в реальном времени

В докладе мы поделимся опытом разработки высоконагруженной системы визуализации активности клиентов компании (~65 млн. хитов в сутки) по всему миру с использованием продвинутых возможностей кластерных технологий Apache Spark Streaming, АПИ Яндекс.Карт и алгоритмов потоковой агрегации событий. Уделим особое внимание разработке стратегии онлайн-агрегации географической информации, расскажем о пробах и ошибках, выбранных алгоритмах и их возможностях. ...

Доклад принят в Программу конференции
PostgreSQL: практические примеры оптимизации SQL-запросов

Довольно часто как адинистраторы, так и разработчики жалуются на низкую производительность приложений, работающих с базой данных, и нередко при этом ищут решения возникших проблем с помощью различных настроек как СУБД, так и операционной системы, пренебрегая при этом самым действенным способом - оптимизацией запросов к собственно БД. Тому, как понимать, где же узкие места, и как их можно попробовать избежать на примере PostgreSQL и посвящен этот доклад. ...

Доклад принят в Программу конференции
Как смигрировать 50Пб в 32 без даунтайма?

В этом докладе я расскажу, как мы в Почте@mail.ru разрабатывали и внедряли новую систему хранения аттачей из писем. Основные вопросы, которые будут изложены в докладе: - Архитектура хранилища с дедупликацией. - За счет чего мы сэкономили 18Пб, и как защититься от возможных ошибок при этом. ...

Миграции данных
Доклад принят в Программу конференции
Non-Relational Postgres

Postgres has always had strong support for relational storage. However, there are many cases where relational storage is either inefficient or overly restrictive. This talk shows the many ways that Postgres has expanded to support non-relational storage, specifically the ability to store and index multiple values, even unrelated ones, in a single database field. ...

Доклад принят в Программу конференции
Внутреннее устройство PostgreSQL: временные таблицы и фрагментация памяти

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

PostgreSQL
,
Администрирование баз данных
Доклад принят в Программу конференции
За счет чего Tarantool такой оптимальный

Многие из вас, наверное, видели результаты тестов сравнения Tarantool с остальными СУБД, которые показывают, что Tarantool быстрее всех, оптимальней по памяти, обрабатывает наибольшее количество транзакций в секунду. И, несмотря на то, что исходные коды всех тестов полностью открыты и хорошо откомментированы, позволяя всем желающим повторить тесты, все равно остаются вопросы - за счет чего Tarantool такой быстрый и оптимальный? Я решил суммировать мои ответы на эти вопросы в докладе на Highload++. ...

Доклад принят в Программу конференции
MySQL® и MongoDB® - когда что лучше использовать?

Сегодня много дискуссий о том, что лучше - MySQL или PostgreSQL? Однако перед тем, как выбирать именно реляционную базу данных для своего проекта, стоит понять, является ли реляционная база данных наилучшим решением для него. В рамках этого доклада мы сравним наиболее популярную реляционную базу данных с открытым кодом с наиболее популярным хранилищем документов с открытым кодом. ...

Доклад принят в Программу конференции
ClickHouse: очень быстро и очень удобно

ClickHouse - высокопроизводительная база данных для больших данных и аналитики. На ClickHouse основана Яндекс.Метрика - крупнейшая система веб-аналитики в России. Ради чего мы написали свою базу данных? ...

Базы данных / другое
,
Оптимизация производительности
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
Доклад принят в Программу конференции
Зачем нужен мультимастер?

Есть много проектов, которые начинаются со стадии "А давайте сделаем все по уму", а заканчиваются стадией "Надо было делать все по-другому". Редкий архитектор не размышлял об использовании мультимастер-хранилища на первой стадии, но далеко не все админы эксплуатировали это решение на второй. В чем причина? ...

Доклад принят в Программу конференции
Open Source SQL базы данных вступили в эру миллионов запросов в секунду

Широко распространено мнение, что SQL СУБД обречены быть медлительными и неповоротливыми, поскольку несут груз совместимости с предыдущими версиями. Это расхожее мнение широко эксплуатируется маркетингом NoSQL СУБД. Однако, это не всегда действительно так. ...

PostgreSQL
,
MySQL (MariaDB, Percona Server)
Доклад принят в Программу конференции
Велосипед уже изобретен. Что умеют промышленные СХД?

Зачем мы каждый раз изобретаем велосипед, только потому что можем? Корпоративные СХД существуют более 25 лет и умеют очень многое. Защита данных, качество обслуживания, многоуровневое хранение и кэширование на флэш-памяти. ...

Доклад принят в Программу конференции
Эффективная отладка репликации MySQL

Репликация - одна из ключевых возможностей MySQL. Лёгкая в установке, позволяющая производить изменения и на мастере, и на слейве, что в свою очередь позволяет создавать сколь угодно сложные развёртывания. Репликация в MySQL асимметричная, допускающая некоторый уровень синхронизации при помощи semi-sync replication plugin. ...

Доклад принят в Программу конференции
Отказоустойчивая обработка 10M OAuth токенов на Tarantool

Многие современные высоконагруженные системы построены с использованием очередей. Не является исключением и внутренний сервис обработки OAuth токенов, который создала наша команда. Исключением является то, что и в качестве основного хранилища, и в качестве всех очередей используется один и тот же продукт - Tarantool. ...

Tarantool
,
Асинхронное программирование, реактивное программирование
,
Отказоустойчивость
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
Доклад принят в Программу конференции
Язык Lua — секреты производительности

Lua — высокоуровневый язык, похожий на Python/JS, но существенно более простой. Он гибкий и при этом очень быстрый. Многие слышали про OpenResty. ...

Доклад принят в Программу конференции
Девять кругов ада или PostgreSQL Vacuum

Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него. Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. ...

PostgreSQL
,
Администрирование баз данных
Доклад принят в Программу конференции
Выбираем СУБД для хранения временных рядов

Проблема мониторинга целостности технологических процессов на индустриальных объектах связана с обработкой большого объема показаний различных датчиков (температура, давление, управляющие сигналы и т.д.). Каждый из таких сенсоров порождает временной ряд, который может быть использован как для потоковой обработки, так и для проведения исторического анализа и расследования инцидентов. Здесь возникает задача хранения показаний за некоторый период времени. ...

PostgreSQL
,
MongoDB
,
Базы данных / другое
Доклад принят в Программу конференции
Making the case for write-optimized database algorithms

Write-optimized database algorithms have been available in NoSQL products for many years. With MyRocks, the RocksDB storage engine for MySQL, we are using a write-optimized algorithm for a SQL DBMS. This talk will explain why we created MyRocks and how to compare write-optimized algorithms with the ubiquitous B-Tree in terms of read, write and space efficiency. ...

Доклад принят в Программу конференции

Нейронные сети

Высокопроизводительный инференс глубоких сетей на GPU с помощью TensorRT

Производительность инференса - одна из самых серьезных проблем при внедрении DL приложений, так как она определяет, какое впечатление от сервиса останется у конечного пользователя, а также какова будет цена внедрения этого продукта. Таким образом, для инференса важно быть высокопроизводительным и энергоэффективным. TensorRT автоматически оптимизирует обученную нейронную сеть для максимальной производительности, обеспечивая существенное ускорение по сравнению с обычными часто используемыми фреймворками.

API
,
Профилирование
,
Масштабирование с нуля
Доклад принят в Программу конференции
Artisto: опыт запуска нейросетей в production

Artisto - первое в мире мобильное приложение для обработки видео с помощью нейросетей в стиле картин художников и любых исходных изображений. Приложение вошло в топы AppStore и Google Play в США. В рамках доклада расскажу: - как научить нейросети рисовать, а, главное, красиво и быстро; - про особенности переноса стиля на видео; - про технологический стек. ...

Доклад принят в Программу конференции
Введение в архитектуры нейронных сетей

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

Доклад принят в Программу конференции
Нейронные сети: практическое применение

Нейросетевые технологии в компьютерном зрении за последние 10 лет достигли невероятных высот. Качество распознавания образов в помощью систем deep learning достигло уровня, не уступающего человеческому зрению, а зачастую и превосходящего его. В данном докладе мы рассмотрим основные аспекты практического применения алгоритмов глубинных нейронных сетей различных архитектур в таких областях как распознавание образов, распознавание лиц, обработка изображений и видео, общение на естественном языке. ...

Доклад принят в Программу конференции
Современные архитектуры диалоговых систем

В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах.

Архитектуры / другое
Доклад принят в Программу конференции
Нейронные сети на страже индустриальной кибербезопасности

Новые угрозы, которые появляются в области ICS, требуют новых подходов к обеспечению безопасности объектов критической инфраструктуры. В докладе будет рассмотрена задача автоматического обнаружения сбоев в работе технологических процессов на основе анализа динамики показаний сенсоров и управляющих сигналов. Модель обнаружения сбоев работает на основе прогнозирования значений множества связанных временных рядов с помощью многослойной нейронной сети с рекуррентными слоями. ...

Доклад принят в Программу конференции
Магия слов: машинный нейромаркетинг

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

Теории и техники анализа
,
Big Data и Highload в Enterprise
Доклад принят в Программу конференции
Highload на GPU, опыт Vinci

Vinci - это второе по популярности приложение в мире для обработки фотографий с помощью нейронных сетей. Расскажу, как менее чем за месяц с нуля разработать и развернуть приложение, обработать 3 миллиона фотографий на GPU в день запуска и не упасть. Доклад будет разделен на 3 части: 1) Менеджинг задач при работе с GPU, как найти компромисс между надежностью и максимальной производительностью. ...

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

Архитектуры

События, шины и интеграция данных в непростом мире микросервисов

Микросервисы получают все большую популярность в компаниях по всему миру. Какие организационные и технические проблемы они помогают решать? С какого момента монолиты перестают справляться с растущей нагрузкой на ваш сервис? ...

API
,
Микросервисы, SOA
,
Асинхронное программирование, реактивное программирование
,
Архитектурные паттерны
,
Методы и техника разработки ПО
,
Архитектура данных, потоки данных, версионирование
,
Критерии выбора технологий для проекта
,
Большие проекты/команды
,
Корпоративная культура и мотивация
Доклад принят в Программу конференции
Как сделать высоконагруженный сервис, не зная количество нагрузки

Существует множество архитектур и способов масштабирования систем. Сегодня многие компании мигрируют в облачные сервисы или используют контейнеры. Но действительно ли это так необходимо и нужно ли следовать трендам? ...

Базы данных / другое
,
Организация системы кеширования
,
Микросервисы, SOA
,
Логирование и мониторинг
,
Технологии виртуализации и контейнеризации
,
Управление конфигурацией
,
Непрерывное развертывание и деплой
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Менеджмент в эксплуатации
,
Аппаратное обеспечение
,
Непрерывная интеграция
,
Сетевое администрирование
,
Администрирование баз данных
,
MySQL (MariaDB, Percona Server)
Доклад принят в Программу конференции
Микросервисы: удобно, надежно, серебрянопульно

В процессе рефакторинга архитектуры мы начали переделывать часть системы на микросервисы, и вышло настолько клево, что мы просто обязаны этим поделиться. Микросервисы. Зачем они вообще: - В простых сервисах легче разбираться и локализовывать проблемы. ...

API
,
Python
,
Прочие языки
,
Организация системы кеширования
,
Микросервисы, SOA
,
Отказоустойчивость
,
Стандарты кодирования
,
Рефакторинг
,
Методы и техника разработки ПО
,
Критерии выбора технологий для проекта
,
Логирование и мониторинг
,
Непрерывное развертывание и деплой
,
Автоматизация разработки и тестирования
Доклад принят в Программу конференции
Архитектура растущего проекта на примере ВКонтакте

В докладе я расскажу о проблемах роста, с которыми сталкивался проект как в плане доступа к БД, так и в целом. Как решали, что получалось, как (общетеоретически или практически) можно решать подобные проблемы в других проектах. Разберем несколько реальных случаев, когда что-то шло не так. ...

PHP
,
Базы данных / другое
,
Организация системы кеширования
,
Организация доступа к базам данных, ORM, собственные драйвера
,
Архитектуры / другое
Доклад принят в Программу конференции
Архитектура поиска в Booking.com

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

Java
,
Perl
,
Поисковые системы
,
Бэкенд / другое
,
Базы данных / другое
,
Архитектурные паттерны
,
Отказоустойчивость
,
Оптимизация производительности
,
Распределенные системы
,
Масштабирование с нуля
Доклад принят в Программу конференции
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться

2-3 года назад у нас был на 100% MS стек (Винда, Hyper-V, MSSQL, IIS, C#, WCF, Azure), и было не очень понятно, как продукт дальше развивать: C#, конечно, неплохой язык, но оставаться в рамках MS - слишком большие ограничения по выбору продуктов: чего-то на винде до сих пор нет (например, Докера), а для многих серверных продуктов рынок винды вторичен. Получалось, что все понимают тупиковость ситуации, но продолжают тащить этот чемодан без ручки, потому что делать-то что-то надо. Переписать весь проект с нуля под новые технологии - это год работы вхолостую для бизнеса, и ни один инвестор в мире на такое не согласился бы. ...

Миграции данных
,
API
,
Python
,
Прочие языки
,
MSSQL
,
Базы данных / другое
,
Организация системы кеширования
,
Микросервисы, SOA
,
Отказоустойчивость
,
Критерии выбора технологий для проекта
Доклад принят в Программу конференции
Снесите это немедленно

Идеальный код прост, элегантен, самодокументирован, безошибочен и не существует. Но стремиться нужно именно к нему. Чувство вкуса по щелчку пальцев выработать нельзя. ...

Доклад принят в Программу конференции
Linux Kernel Extension for Databases

Много лет назад у меня была задача разработать собственное хранилище для истории Instant Messenger'а. Начав с простого индексного дерева поверх mmap(2), я быстро понял, что mmap(2), madvise(2) и компания не подходят в качестве основы для движка СУБД. Я переключился на direct IO и начал разрабатывать свой собственный менеджер памяти, продвинутое вытеснение, планирование IO с адаптивным read ahead и, конечно, обработкой транзакций. ...

Фреймворки
,
C/C++
,
Бэкенд / другое
,
Базы данных / другое
,
Организация доступа к базам данных, ORM, собственные драйвера
,
Асинхронное программирование, реактивное программирование
,
Оптимизация производительности
,
Архитектуры / другое
Доклад принят в Программу конференции
Оптимизация производительности в веб-приложениях

На этот доклад меня вдохновила статья разработчика, который ускорил систему на Hadoop в 235 раз, написав вместо нее bash-script. В жизни каждого разработчика случается момент, когда пользователей на сайте становится слишком много, скорость работы сайта падает, и с этим нужно что-то делать Я расскажу про: 1. Проектирование высоконагруженного приложения. ...

Программный комитет еще не принял решения по этому докладу
Архитектура хранения и отдачи фотографий в Badoo

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

Организация системы кеширования
,
Архитектурные паттерны
,
Отказоустойчивость
,
Оптимизация производительности
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
,
Масштабирование с нуля
,
Синхронизация данных, параллельная обработка, CDN
,
Критерии выбора технологий для проекта
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Аппаратное обеспечение
Доклад принят в Программу конференции
Тестирование через мониторинг или холакратия на практике

Чтобы быстро двигаться, надо быстро двигаться :-) Скоростная разработка продукта невозможна без непрекращающегося выкатывания свежих изменений в боевое окружение. Именно это позволяет Ultimate-Guitar оставаться #1 world's guitar service. Когда-то давным-давно мы приняли для себя, что "мы движемся очень быстро и иногда из-за этого что-то ломаем. ...

Оптимизация производительности
,
Методы и техника разработки ПО
,
Архитектура данных, потоки данных, версионирование
,
Логирование и мониторинг
,
Непрерывное развертывание и деплой
,
Совместная работа, система контроля версий, организация веток
,
Продуктовая разработка
Доклад принят в Программу конференции
Open-source трибуна

Open source трибуна — это наш вклад в сообщество. Мы предоставляем полностью оборудованный зал на площадке конференции, в котором у разработчиков open source будет 20 минут, чтобы представить заинтересованным свою технологию или разработку. Технология, разработка, база данных, фреймворк, утилита — подойдёт всё, что может быть полезно аудитории конференции. ...

Networking, знакомство
Доклад принят в Программу конференции
Хранение json-документов в Tarantool

AVRO - система сериализации данных, созданная сообществом Apache Hadoop. Включает в себя различные структуры данных, компактный формат хранения в бинарном виде, язык описания схем данных и правила миграции данных между разными версиями схемы. С помощью инструментария AVRO можно валидировать данные по схеме, совершать преобразования из одной версии в другую и даже восстанавливать неполные данные при помощи значений по-умолчанию. ...

Фреймворки
,
Tarantool
,
Микросервисы, SOA
,
Архитектурные паттерны
,
Архитектура данных, потоки данных, версионирование
Доклад принят в Программу конференции
Микросервисы: опыт использования в нагруженном проекте

Мы прошли довольно большой путь в разработке через микросервисы. Начинали разработку, когда это за рубежом только входило в тренд. По сути, не было никакой информации о том, как это делать правильно и, вообще, стоит ли это делать. ...

Микросервисы, SOA
,
Архитектурные паттерны
,
Отказоустойчивость
Доклад принят в Программу конференции
Сравнение решений по балансировке высоконагруженных систем

+ Функционал разных решений для балансировки. + Виды балансировщиков (DNS, hardware, software, облачные решения). + Поведение при скачках трафика и возможности скалирования сервиса. ...

Отказоустойчивость
,
Распределенные системы
,
Работа с облачными сервисами
Доклад принят в Программу конференции
Страх и ненависть в распределенных системах

Если ваше приложение внезапно перестаёт помещаться на один сервер, то надо ставить ещё N серверов рядом, ведь ничего же сложного, разве что-то может пойти не так? Но встав на шаткую дорожку создания распределенной системы с неокрепшим умом, можно с удивлением обнаружить, что ваш кластер внезапно теряет и портит данные, страдает раздвоением мозга и живёт своей насыщенной жизнью против вашей воли. Этот доклад попытается прояснить: - Какие проблемы встречаются при создании распределенных систем; - Как можно налажать и допустить типичные ошибки при проектировании; - Матчасть о целостности, CAP-теореме, линеаризации и консенсусе; - Как все эти знания применять на практике, и какие бывают инструменты для облегчения нелёгкой жизни разработчика распределенных систем. ...

Доклад принят в Программу конференции
LuaJIT как основа для сервера приложений - проблемы и решения

С того момента, как было принято решение использовать язык Lua в качестве языка описания бизнес-логики в нашей платформе, прошло уже больше восьми лет. Проекты росли, данных становилось больше, возрастала нагрузка на сервера приложений. Со временем у нас накопился солидный багаж знаний о том, как устроен LuaJIT, с какими проблемами можно столкнуться при его использовании и как эти проблемы можно решать. ...

Доклад принят в Программу конференции
DCI @ XING - масштабируя бизнес-логику

В XING мы пишем на OO языках. С развитием проектов скорость разработки новых сценариев существенно снизилась, несмотря на (а отчасти и благодаря) применению современных framework'ов, упрощающих и ускоряющих разработку. Так происходило до тех пор, пока мы не сменили парадигму OOP на DCI. ...

Бэкенд / другое
,
Микросервисы, SOA
,
Архитектурные паттерны
,
Архитектуры / другое
,
Проектирование информационных систем
Доклад принят в Программу конференции
Собираем GPS-треки от водителей в такси раз в секунду, экономя трафик

Когда Uber или Lyft потихоньку захватывают мир, все службы такси хотят себе такое же приложение. Мы задумались о том, чтобы сделать у себя несколько вещей: - Сделать карту, которая работает как в приложении Uber (показывать водителей рядом, которые катаются по городу, плавно заанимированные). - Хранить маршрут, по которому ехал водитель во время заказа. ...

Организация системы кеширования
,
Асинхронное программирование, реактивное программирование
,
Отказоустойчивость
Доклад принят в Программу конференции
Стратегия и тактика улучшения производительности BSS систем оператора мобильной связи Yota

В докладе поделимся опытом построения комплексного процесса последовательного улучшения производительности информационных систем мобильного оператора, расскажем об используемых инструментах и компонентах (Oracle, Tarantool, Java, Jmeter и т.д.). Особенность нашего оператора в том, что основной канал взаимодействия с клиентом - это мобильное приложение или web Личный кабинет, а не USSD команды и СМС, как у основной массы операторов. Данная особенность создает высокие требования к времени отклика и доступности сервисов и ставит перед нами целый ряд вопросов: - Как достичь приемлемого времени отрисовки страниц (не более 2х секунд) и не "уронить" backend при увеличении кол-ва абонентов в несколько раз за год до 4х миллионов? ...

Oracle
,
Tarantool
,
Организация системы кеширования
,
Микросервисы, SOA
,
Архитектурные паттерны
,
Отказоустойчивость
,
Оптимизация производительности
,
Архитектура данных, потоки данных, версионирование
,
Выбор стратегии долгосрочного развития, KPI
,
Бэкенд мобильных приложений
Доклад принят в Программу конференции

Тестирование

A/Б-тестирование: от сегментирования до профита

Расскажем об архитектуре системы А/Б тестирования в нагруженном проекте: •    как сегментировать пользователей и собирать метрики на разных платформах; •    где хранить и как анализировать бизнес-показатели, статистическую значимость и практики проведения тестирования; •    как и зачем внедрять тесты в процессы принятия решений и развития продукта. A/B тесты в Superjob это: •    более миллиона пользователей ежедневно; •    десятки тестов “на бою”; •    несколько платформ: десктопная и мобильные версии сайта, почтовые рассылки; •    единая система хранения на основе аналитической БД HP Vertica; •    показатели и бизнес-метрики в реальном времени. ...

Доклад принят в Программу конференции
Performance management lessons learnt

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

Доклад принят в Программу конференции
Continuous Integration на стероидах

Доклад об одном из самых больших монолитных инстансов Jenkins в мире: один мастер переваривает больше 100 тысяч билдов в день и управляет в пике ~2500 executor'ов. В докладе будут подняты следующие вопросы: * Как развернуть CI в облаке? * Как с помощью memcache экономить на железе для CI? ...

Java
,
Организация системы кеширования
,
Оптимизация производительности
,
Разработка библиотек, включая open source библиотеки
,
Логирование и мониторинг
,
Непрерывная интеграция
,
Devops / другое
,
Работа с облачными сервисами
,
Автоматизация тестирования
,
Профилирование и отладка кода
Доклад принят в Программу конференции
Pquery - открытый бесплатный инструмент тестирования от Percona

Доклад о PQuery - новой утилите, разработанной в Percona, от её разработчика. PQuery - это open-source (лицензирована под GPLv2) engine-agnostic многопоточная программа, созданная для стресс-тестирования MySQL-серверов. Основные области применения: нагрузочное и функциональное тестирование MySQL. ...

C/C++
,
QA / другое
,
MySQL (MariaDB, Percona Server)
Доклад принят в Программу конференции

BigData и машинное обучение

Пайплайн машинного обучения на Apache Spark

В докладе рассмотрим нашу старую архитектуру пайплайна машинного обучения, обратим внимание на ее недостатки как с точки зрения инфраструктуры и автоматизации, так и с точки зрения настройки моделей машинного обучения и проведения экспериментов. Разберемся с архитектурой Apache Spark, и почему мы решили его использовать. Подробно ознакомимся с новой архитектурой нашего пайплайна и тем, как она позволила оптимизировать обнаружение и устранение проблем, ускорила и упростила работу data scientist'ов по проведению экспериментов и доведения их до продакшена. ...

Python
,
Оптимизация производительности
,
Распределенные системы
,
Логирование и мониторинг
,
Devops / другое
,
Аналитика / другое
,
Юнит-тестирование
Доклад принят в Программу конференции
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная система реального времени на базе Amazon Kinesis/Lucene

В докладе мы поделимся опытом создания content-based рекомендательной системы для электронной коммерции, работающей на семантическом ядре рунета (десятки миллионов профилей). Расскажем, как организовали централизованный сбор и обработку информации о посещении пользователями более 100 000 сайтов различной направленности на основе Amazon Kinesis. Поделимся опытом многопоточной онлайн-индексации потоков данных в Lucene. ...

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

Что нужно хранить для того, чтобы была возможность ответить на этот вопрос? Для точного ответа нужно через равные интервалы времени сохранять множество посетителей сайта (пусть это для простоты будут IP-адреса), которых мы за прошедший интервал увидели. Понятное дело, что такой объём информации хранить нереально, а даже, если получится, придётся объединять большое количество множеств и считать элементы в том множестве, которое получилось в итоге. ...

Доклад принят в Программу конференции
Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на службе DMP

Каждый день пользователи совершают миллионы действий в Интернете. Нам в FACETz DMP необходимо структурировать эти данные и проводить сегментацию для выявления предпочтений пользователей. Хочу рассказать, как мы: - Сегментируем в реальном времени 600 миллионов пользователей ежедневно; - Поставляем данные партнерам, DSP, Google с минимальной задержкой; - Храним статистику по количеству уникальных пользователей в сегменте при потоковой обработке; - Отслеживаем влияние изменения параметров сегментации; - Ведем подсчет аффинитивности домена к сегменту для аналитики аудиторий. ...

Java
,
Scala
,
Бэкенд / другое
,
Базы данных / другое
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
Доклад принят в Программу конференции
Бронирование билетов
Вы можете забронировать себе билеты уже сейчас — чем раньше Вы это сделаете, тем лучше, ведь цена на билеты постоянно растёт. Бронь вас ни к чему не обязывает, после бронирования у Вас будет пара недель на принятие решения об оплате.
ЗАБРОНИРОВАТЬ БИЛЕТЫ
Остались вопросы?
Спроси по телефону у контактного центра: +7 (495) 646-0768
Или напиши письмо в службу поддержки: support@ontico.ru
Rambler's Top100