Highload++ 2017 завершён!

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

СКОЛКОВО, Москва 7 и 8 ноября

11-я ежегодная конференция для разработчиков highload-систем, которая соберет   2 700 участников из разных регионов России и мира. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей.

Программа охватывает такие аспекты веб-разработок, как архитектуры крупных проектов, базы данных и системы хранения, системное администрирование, нагрузочное тестирование, эксплуатация крупных проектов и другие направления, связанные с высоконагруженными системами.

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

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

Поиск по тегам:

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

Protecting the Web at a scale using consul and Elk

Brute-force attacks against web based applications are on the raise. You will be presented with an architecture built on top of ELK (https://www.elastic.co/products) and consul (https://www.consul.io/) that is capable of reliably detecting, analysing and mitigating large scale brute-force attacks against Wordpress, Drupal, Magento and Joomla based web sites in near real time. With little modifications the same architecture can be applied to solve similar problems. ...

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

Перехват трафика - мифы и реальность

Никогда не было и вот снова случилось! Компания Google в результате перенаправления трафика сделала недостпуными в Японии несколько тысяч различных сервисов, большинство из которых никак не связано с самой компанией Google. Однако, подобные инциденты происходят с завидной регулярностью, вот только не всегда попадают в большие СМИ. ...

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

CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем веб-приложении

Уязвимости Cross-Site Request Forgery (CSRF) являются "классикой" AppSec и хорошо известны как специалистам по безопасности, так и разработчикам веб-приложений. Сегодня, как правило, при разработке веб-приложений уделяется внимание защите от CSRF-атак, и реализуются механизмы защиты. Также относительно новая технология "SameSite cookie", должна еще больше обезопасить веб-приложения от CSRF. ...

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

Key transparency: Blockchain meets NoiseSocket

Key transparency и Coniks - одни из первых примеров использования Blockchain не как инструмента для криптовалюты или транзакций, а в своём первоначальном значении - контроле за целостностью информации. Они позволяют хранить информацию о публичных ключах в доступном для аудита виде, при этом обладают такими уникальными функциями, как защита от утечки идентификаторов, строгое доказательство наличия и даже (!) отсутствия записи в блокчейне. С другой стороны, TLS, VPN, SSH - отличные протоколы "для людей". ...

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

Как мы учились чинить самолеты в воздухе

Все мы слышали про изменение кода ядра Linux на лету (kernel live patching). Но кто-нибудь проводит подобные фокусы в user space? Оказалось, что да. ...

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

Защищаемость от DDoS на этапе проектирования системы

- Защищаемость системы от DDoS (Protectability - The ability to receive protection) - это важный параметр, которому стоит уделять внимание при проектировании. В настоящее время он не сформулирован в явном виде, однако сильно влияет на дальнейшую судьбу системы, особенно если она подвержена риску DDoS-атак. - Уже на этапе проектирования можно обезопасить себя и заложить в систему такие элементы, которые облегчат и повысят эффективность защиты системы от DDoS-атак в будущем. ...

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

Архитектуры, масштабируемость

Распределенный отказоустойчивый сервис финансовых транзакций

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

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

Linux kernel TLS и HTTPS

Наверное, уже ни для кого не секрет, что в Linux kernel интегрируется поддержка TLS: он уже есть в текущем RC Linux 4.13. В докладе я хочу рассказать, зачем вносится TLS в ядро Linux и о подходах к Linux kernel TLS от Facebook/RedHat, Mellanox и нашего проекта Tempesta FW. Также рассажу о специфичных для ядра проблемах реализации TLS. ...

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

Как обслужить миллиард пользователей и отдать терабит трафика

* Высокая нагрузка с точки зрения сетевого инженера. * Паттерны в архитектуре на примере Facebook/Google. * Многоуровневая балансировка L7, L4, L3. ...

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

И тогда наверняка вдруг запляшут облака!

Облака и виртуализация – современные тренды развития IT-технологий. Операторы связи строят свои TelcoClouds на стандартах NFV (Network Functions Virtualization) и SDN (Software-Defined Networking). В докладе начнем с основ виртуализации, далее разберемся, для чего используются NFV и SDN, потом полетим к облакам и вернемся на землю для решения практических задач! ...

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

Архитектура платежной системы: почти enterprise

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

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

Как переписать с нуля базу данных личных сообщений ВКонтакте и мигрировать на нее без даунтайма

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

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

Балансировка "на скорости проводов". Без ASIC, без ограничений. Решения NFWare для Одноклассников

Аудитория Одноклассников превышает 73 миллиона человек в России, СНГ и странах дальнего зарубежья. При этом ОК.ru - первая социальная сеть по просмотрам видео в рунете и крупнейшая сервисная платформа. Качественный и количественный рост DDoS-атак за последние годы превращает их в одну из первоочередных проблем для крупнейших интернет-ресурсов. ...

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

Отказоустойчивая архитектура фронтальной системы банка

В докладе мы расскажем: 1. Что такое высоконагруженная фронтальная система банка, чем она отличается от веб-проекта. Место фронтальной системы в IT-ландшафте банка. ...

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

Как мы делали многопользовательскую браузерную игру для HL++ с воксельной графикой

У компании Ingram Micro Cloud стенд на HL. На нем мы организуем браузерную игру TheURBN (urbn.odn.pw) с воксельной графикой, в которой каждый может захватывать территорию общего мира и строить небоскребы при помощи кубиков, а за процессом можно наблюдать на стенде. На экранах мы будем в режиме реального времени показывать виртуальный 3D-мир, в котором участники будут строить небоскребы. ...

Браузеры
,
MongoDB
,
Асинхронное программирование, реактивное программирование
,
Архитектура данных, потоки данных, версионирование
,
Масштабирование с нуля
,
Архитектуры / другое
,
Непрерывное развертывание и деплой
,
Оптимизация изображений
,
WebRTC, p2p
,
Инфраструктура как сервис (IaaS), платформы как сервис (PaaS)
,
Вечеринки, развлечение
,
Производительность и мониторинг фронтенда
,
Взаимодействие с серверной стороной (REST, GraphQL, gRPC)
Доклад принят в Программу конференции

Dataplane networking acceleration with OpenDataplane

OpenDataPlane (ODP, https://www.opendataplane.org) является open-source-разработкой API для сетевых data plane-приложений, представляющий абстракцию между сетевым чипом и приложением. Сейчас вендоры, такие как TI, Freescale, Cavium, выпускают SDK с поддержкой ODP на своих микросхемах SoC. Если проводить аналогию с графическим стеком, то ODP можно сравнить с OpenGL API, но только в области сетевого программирования. ...

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

Масштабирование сети VR-аттракционов CinemaVR

CinemaVR - это сеть аттракционов виртуальной реальности, расположенных в торговых центрах и кинотеатрах. Сеть была запущена 1-го января с 10 локациями, в августе локаций было 25, к концу года будет 80. На каждой локации 4-8 игровых машин и локальный сервер (итого: флот в сотню машин), которыми нужно управлять: контролировать, что конфигурация операционной системы соответствует целевой; что игровой контент и сопряженные сервисы скопированы и настроены; мониторить загрузку, статус работы, нетиповые события; собирать бизнес-события и синхронизировать данные, которые должны быть общими во всей сети. ...

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

High speed load balancing from the Linux Kernel

The kernel provides an internal load balancer which has been used during decades and the performance is good enough for small and medium sized traffic loads, but also are well known the scalability problems and dependencies with other subsystems in order to be fully usable. At ZEVENET, we've been working in the research and development of a high performance load balancing infrastructure at Linux Kernel side using the Netfilter subsystem via nftables user space tool. Finally, we're going to present the new ZEVENET layer 4 core based on this new infrastructure and how it works. ...

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

Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не разориться

Наш проект – это облачный CI-сервис, на котором пользователи запускают тесты разрабатываемых проектов. В этом году система автозакупки нашего проекта приобрела 37218 машин (Amazon Instances). Это позволило обработать 189488 "задач" (прогонов тестов) наших клиентов. ...

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

Смерть от распродажи: как Яндекс.Деньги попытались разогнаться к Black Friday и выстоять

В докладе мы расскажем о том, как Яндекс.Деньги: - захотели эквайрить множество онлайн-магазинов в ходе распродаж Black Friday; - узнали, что должны разогнать обработку карточных авторизаций в 1000 раз; - решились на десятки нагрузочных стрельб продакшна параллельно пользовательской деятельности совместно с группой банков-эквайров и платежных систем; - тестировали, тюнили и перерабатывали всю свою систему ради этой цели; - и главное – умерли или выдержали нагрузку в потоке платежей распродаж в день X? ...

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

Реактивные микросервисы с Apache Kafka

Apache Kafka - довольно популярная опенсорс-платформа для обработки потоков сообщений. Абстракция распределенного лога, лежащая в основе Kafka, дает возможность использовать ее в качестве системы очередей, но при этом дает некоторые очень полезные преимущества, недоступные даже решениям ESB-уровня. В этом докладе мы рассмотрим реальное применение Apache Kafka в системе, имеющей микросервисную архитектуру, бэкенды которой реализованы на .NET Core и Scala. ...

Микросервисы, SOA
,
Асинхронное программирование, реактивное программирование
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
Доклад принят в Программу конференции

Building a Skyscraper with Legos: The Anatomy of a Distributed System

Much has been written and said about distributed systems of many different sizes, scales, and complexities. Most of the time though, we either talk about algorithms and theoretical ideas or entirely concrete specific systems: Abstract or Concrete. Gossip, failure detection, and leader election are discussed as if they’re a magical salve that can be rubbed onto a project to make it distributed. ...

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

Чем заняться вечером, если я знаю, сколько будет ++i + ++i

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

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

Жизнь после шардинга

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

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

Бэкенд, теория программирования

Как и зачем создавать NginX-модуль - теория, практика, профит. Часть 2

Почти год назад я выступил с докладом 'Как и зачем создавать NginX-модуль - теория, практика, профит'. У меня не получилось рассказать обо всех возможностях Nginx и, уверяю вас, в этом докладе у меня это тоже не получится - тема слишком большая! Сразу перейдем к делу. ...

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

Почему ivi перешел со Sphinx на Elasticsearch

В своей работе мы используем поисковый движок не только для полнотекстового поиска. Поисковый движок - это сердце API и сердце системы доступности контента. Для каждого региона и каждой платформы должен существовать свой ivi со своим настройками, множеством контента, правилами от правообладателей и рекламодателей. ...

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

Хочу всё сжать

Ловко придумать схему сжатия для своих данных умеют не все, а очень зря. Иногда (иногда) при помощи этой магии удается добиться как бы невозможного: одновременно и сэкономить диск или память, и при этом ускорить код. Как работает магия сжатия в целом? ...

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

Опыт разработки модуля межсетевого экранирования для MySQL

Расскажем о нашем опыте разработки модуля межсетевого экрана для MySQL с использованием генератора парсеров ANTLR и языка Kotlin. Подробно рассмотрим следующие вопросы: — когда и почему целесообразно использовать ANTLR; — особенности разработки ANTLR-грамматики для MySQL; — сравнение производительности рантаймов для ANTLR в рамках задачи синтаксического анализа MySQL (C#, Java, Kotlin, Go, Python, PyPy, C++); — вспомогательные DSL; — микросервисная архитектура модуля экранирования SQL; — полученные результаты. ...

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

Как писать сервис, поддержка которого не превращается в ад

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

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

Как мы поддерживаем 100 разных версий клиентов в Badoo

В Badoo на данный момент на общей кодовой базе работают несколько разных проектов на всех основных платформах (iPhone, Android, Web и т.д.), где каждая платформа может иметь больше десятка одновременно работающих версий. В этом докладе я расскажу о том, как мы с этим живем и какими подходами решаем задачи разного кода для разных версий клиентов. А именно: как мы меняем протокол, как мы поддерживаем разный серверный код для разных версий клиентов, что такое минорная фича, почему старый клиент – это не страшно, – и как это все помогает в A/B-тестировании. ...

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

Безболезненный Fallback cache на Scala

В крупных (или микросервисных) архитектурах у Backend'а есть свои Backend'ы. И, если какой-то сервис очень важный, он не всегда очень производительный. Как сделать так, чтобы ваша система продолжала отвечать, даже если важные источники информации перестали отвечать? ...

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

Блокчейн

Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу данных для обработки и сохранения сотен тысяч показов в секунду?

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

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

Введение в блокчейн и алгоритмы консенсуса

В докладе я расскажу о том, как устроен классический блокчейн: что такое транзакции и блоки, как они подписываются, из-за чего возникают форки и почему для майнинга не всегда нужны видеокарты. Из второй части доклада можно будет узнать о разных алгоритмах консенсуса: Proof-of-Work, Proof-of-Stake, Proof-of-Activity и нескольких гибридных и экспериментальных. ...

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

Блокчейн. Lego для интересующихся

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

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

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

Что нового в nginx?

Что нового появилось в nginx за последнее время, и для чего всё это нужно? В докладе - рассказ про основные новые функции в nginx 1.11.x (доступно в стабильной ветке 1.12.x) и 1.13.x. Для чего нужен параметр сборки --with-compat, что делает директива mirror, будет ли работать TLS 1.3, как обновлять кэш с помощью proxy_cache_background_update, что такое stale-while-revalidate, как логировать JSON и что делать, если после обновления конфигурации старые рабочие процессы долго не завершаются.

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

Джентльменский набор сисадмина

Мне хочется поделиться примерами рабочих процессов и наработанных нами практик в Badoo. Рассказать о том, как можно автоматизировать ресурсоемкие процессы, после чего они покажутся совсем простыми. - вы увидите говорящего админа; - я не буду рассказывать про lsof, strace и Linux. ...

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

Lua @ HighLoad++

Тонкости работы трассирующего JIT-компилятора

Наша компания более 9 лет использует язык Lua для реализации бизнес-логики в проектах. Довольно быстро мы пришли к LuaJIT в качестве рантайм-платформы, а пару лет назад, столкнувшись с серьёзными архитектурными ограничениями этого продукта, создали собственный форк и успешно мигрировали на него. Анализируя производительность JIT-компилятора, доставшегося в наследство от LuaJIT'а, мы столкнулись с парадоксальной ситуацией: в некоторых случаях динамическая компиляция не улучшала (а иногда и ухудшала) производительность. ...

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

Lua в нагруженных телеком-системах

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

Фреймворки
,
API
,
Организация доступа к базам данных, ORM, собственные драйвера
,
Асинхронное программирование, реактивное программирование
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
React, Vue, Angular и другие JavaScript-фреймворки
,
Работа с зарубежным заказчиком/рынком
,
MySQL (MariaDB, Percona Server)
,
Lua
Доклад принят в Программу конференции

WAMP[-proto] как основа композитных SOA-приложений и его имплементация на Lua

WAMP расшифровывается как Web Application Messaging Protocol. Это открытый протокол, реализующий два паттерна в рамках одного протокола: RPC и Publish/Subscribe. Как мне кажется, это отличная платформа для сферы Internet of Things, Smart City и вообще бизнес-приложений с большим количеством различных компонентов и сервисов.

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

Мультиплеер на Go+Lua

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

API
,
Асинхронное программирование, реактивное программирование
,
Бэкенд мобильных приложений
,
Кросплатформенная разработка
,
Клиент-серверное приложение, REST API, protobuf
,
GameDev для мобильных устройств
,
Lua
,
GO
,
Взаимодействие с серверной стороной (REST, GraphQL, gRPC)
Доклад принят в Программу конференции

Как пережить запуск онлайн-игры и справиться с мертвыми душами

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

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

Enterprise-системы

Опыт разработки, отладки и внедрения системы горячего резервирования торговой системы

- "Горячий" резерв, что это и зачем это нужно? Всем ли нужен? - Почему Московская Биржа решила это реализовывать. ...

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

Разгоняем ASP.NET Core

Прошло более года с того момента, как Microsoft выпустила первую версию своего нового фреймворка для разработки web-приложений ASP.NET Core, и с каждым днем он находит все больше поклонников. ASP.NET Core базируется на платформе .NET Core, кроссплатформенной версии платформы .NET c открытым исходным кодом. Теперь у С#-разработчиков появилась возможность использовать Mac в качестве среды разработки, и запускать приложения на Linux или внутри Docker-контейнеров. ...

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

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

Настройка kubernetes: tips and tricks

Мы в Avito уже более года используем Kubernetes в качестве платформы для микросервисов. За это время мы столкнулись с рядом проблем, с которыми может столкнуться каждый, кто использует эту платформу. В докладе поделюсь опытом решения проблем и настройки кластера для обеспечения его эффективной работы (низкий и стабильный latency для сервисов, использование ресурсов CPU, RAM): настройки аппаратного обеспечения (сеть, CPU), ОС, настройки самих инфраструктурных компонентов kubernetes и о том, что и как необходимо мониторить. ...

Технологии виртуализации и контейнеризации
,
Devops / другое
Доклад принят в Программу конференции

How packagecloud.io works

Since its inception, packagecloud has evolved to meet the growing needs of its users. The idea behind the service is simple: Upload your packages and all the necessary information is automatically extracted and the required repository metadata is atomically generated and cryptographically signed behind the scenes for consumption by the appropriate package managers. This talk aims to explore the technical choices that were made in order to scale the application to meet user demand while still providing this rich experience across all the package types we support. ...

Технологии виртуализации и контейнеризации
,
Управление конфигурацией
,
Менеджмент в эксплуатации
Доклад принят в Программу конференции

One-cloud - система управления дата-центром в Одноклассниках

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

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

Инцидент-менеджмент в Badoo

Технологические команды разного размера рано или поздно сталкиваются с тем, что возникающие проблемы становится сложнее контролировать. Какие-то события возникают сами по себе, какие-то – "благодаря" человеческому вмешательству, – или что-то идёт не так после заранее запланированных работ. Всё это приводит к тому, что страдают и пользователи (потому что у них что-то не работает), и сотрудники (потому что им приходится тратить больше времени на выяснение причин случившегося).

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

DevOps-трансформация Альфа-Банка

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

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

Мониторинг облачной CI-системы на примере Jenkins

В докладе представлен опыт создания системы мониторинга для большой CI-системы, включающей в себя 4 Jenkins-мастера, на самый большой из которых ежедневно приходится больше 100 тысяч сборок/билдов/запусков. Т.к. в нашей компании каждый коммит обязан пройди через CI, роль мониторинга CI огромна. ...

Логирование и мониторинг
,
Управление конфигурацией
,
Непрерывная интеграция
Доклад принят в Программу конференции

Разработка портируемой инфраструктуры New Relic - контейнеры, CoreOS и прочие приключения

Нашей группе было поручено создать новый самостоятельный “регион” для всех продуктов New Relic, предназначенный для обслуживания европейских клиентов, подпадающих под ограничения GDPR. Здесь следует отметить, что так как наша компания предоставляла свои услуги исключительно через “облако” (SaaS), то хорошо выработанных процессов для настройки всей инфраструктуры “с нуля” у нас не было. Рассмотрев полученную задачу, мы установили, что настройка региона при имеющихся процессах займет Н месяцев. ...

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

Logging and ranting

A story about real life experience in Lamoda, featuring logging, forest animals, limited size buffers and morning routines. Possible takeaways from this presentation: 1. Understanding the need of central log aggregation 2. ...

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

Трансформация DevOps - прошибая стены

DevOps трансформация - что это? Многие знают про continuous delivery, про скорость доставки фич, и как с нуля строить проекты с мгновенной доставкой до продакшна, используя современный инструментарий. Но что делать, когда у вас успешный продукт с 15-летней историей, с миллионами строчек кода, со множеством крупных партнеров, и вдруг вы обнаруживаете, что в среднем путь фичи от идеи до установки на инсталляцию партнера занимает 2 года? ...

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

Infrastructure as code might be literally impossible

This talk will begin by briefly examining what it means for infrastructure to be represented as code. We'll examine some fundamental software components required for automating infrastructure such as GPG, package managers, SSL, and more. We'll examine some interesting failure cases for these tools and how these shortcomings might make infrastructure as code impossible, for now. ...

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

Zabbix: рецепты высокопроизводительного мониторинга

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

Оптимизация производительности
,
Логирование и мониторинг
,
Сетевое администрирование
,
Devops / другое
Доклад принят в Программу конференции

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

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

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

Эксплуатация container-based-инфраструктур

На каждой конференции мы слушаем интереснейшие доклады про CI/CD, service discovery, docker, kubernetes и т.д. Практически все эти доклады рассказывают нам о "разработческой" стороне проблемы: как собрать образ контейнера, быстро его протестировать и задеплоить, как контейнеры друг о друге узнают, как добавится новый upstream в конфиг nginx и т.д. Но никто нам не рассказал, как потом с этим "облачным" счастьем жить (тем более под нагрузкой). ...

Логирование и мониторинг
,
Технологии виртуализации и контейнеризации
,
Управление конфигурацией
,
Devops / другое
Доклад принят в Программу конференции

Масштабируя DNS

Протокол DNS на семь лет старше, чем Всемирная паутина. Стандарты RFC 882 и 883, определяющие основную функциональность системы доменных имён, появились в конце 1983 года, а первая реализация последовала уже годом позже. Естественно, что у технологии столь старой и при этом по сей день активнейшим образом используемой просто не могли не накопиться особенности, неочевидные обыкновенным пользователям. ...

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

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно

Казалось бы, что нужно для организации тестового окружения? Тестовая железка и копия боевого окружения - и тестовый сервер готов. Но как быть, когда проект сложный? ...

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

Climbing out from the digital mud with unikernels

The monolithic operating system has not changed much in the past forty years but hardware, software development, and the world in general has. As engineers we are stuck living under neolithic layers of digital mud while the ever increasing demand of security and efficiency beckon us more into the future. The future is unikernels. ...

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

Карта граблей на поле сбора и доставки логов. Lazada-way

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

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

ElasticSearch и Heka: как мы учились просеивать слона через сито

Год назад в Яндекс.Деньгах появилась система сбора логов в реальном времени на базе ElasticSearch и Heka. Сейчас она пропускает через себя 2 млрд сообщений в день. Сегодня я расскажу, как она была построена, почему выбран именно стек EHK, и почему мне не стыдно за свой выбор. ...

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

Metrics are Not Enough: Monitoring Apache Kafka

When you are running systems in production, clearly you want to make sure they are up and running at all times. But in a distributed system such as Apache Kafka… what does “up and running” even mean? Experienced Apache Kafka users know what is important to monitor, which alerts are critical and how to respond to them. ...

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

Лучшие практики CI/CD с Kubernetes и GitLab

Весь этот год мы в компании «Флант» активно переводили на Kubernetes проекты заказчиков, сильно различающихся как по масштабам, так и по технологиям. На данный момент (сентябрь 2017) у нас в Kubernetes (в production) функционируют 13 проектов, в состав которых входят более 130 различных приложений, написанных на 8 языках программирования: .NET, Erlang, Go, Java, Node.js, PHP, Python и Ruby. В этих проектах задействовано множество инфраструктурных компонентов, таких как Cassandra, Ceph, Firebird, Memcached, MongoDB, MySQL, NATS.io, NGINX, PostgreSQL, RabbitMQ, Redis, RethinkDB, Sphinx, SQLite и других. ...

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

SOA: строим свой service mesh

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

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

Java и Linux - особенности эксплуатации

Java на Linux встречается повсеместно в информационных системах от больших данных до новомодных serverless архитектур. Как Linux, так и Java имеют свои эксплуатационные нюансы. Понимание этих нюансов важно, чтобы заставить стек Java + Linux работать стабильно и эффективно. ...

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

Тестирование, нагрузочное тестирование

Контроль качества высоконагруженных систем

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

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

Честное перформанс-тестирование

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

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

Сложности performance-тестирования

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

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

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

Fraud in mobile applications: how to define and detect

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

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

Пишем свой протокол поверх UDP или платформа потокового видео с нуля на миллион онлайнов

Пишем свой протокол стриминга с гарантированной задержкой поверх UDP. Архитектура отказоустойчивого стриминг-сервиса, способного выдержать потерю дата-центра и миллион онлайнов. Проблемы мобильного стриминга и TCP-протокола, QUIC как замена TCP, UDP и fast retransmit, forward error correction (FEC), задержка или потеря пакетов, приоритезация потоков, шифрование и многое другое. ...

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

Почему оно не находится!

...и что сделать, чтобы уже находилось? И снова про качество поиска. Поменьше скучной теории (ну, чтобы не более 60%); больше практических примеров. ...

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

Не так страшен терабит

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

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

Building a WebScale Search Engine with a Data Driven Architecture

When building a Search Engine, generic solutions are mostly the go to tools to use when designing the system. However, at a certain scale, as we have at Booking.com, off the shelf tools can no longer sustain the requirements we need from them. When searching through hundreds of millions of reservations multiple times on every pageview, we had to build a system that not only scales and is highly available, but also a system that can deliver business value by being flexible enough for other developers to attach their business specific logic to. ...

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

Технологии будущего

Знакомство с NGINX Unit

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

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

Интернет вещей (IoT)

Использование Ubuntu Core для интернета вещей в продакшне

На опыте своей команды расскажу об использовании новой операционной системы от Canonical - Ubuntu Core - в проекте, связанном с интернетом вещей. С помощью нее мы решаем проблемы с обновлениями устройств, приводящими к необходимости поддержки огромного количества обновленных-на-половину устройств (как у нас было, например, с Puppet). Отдельно остановимся на безопасности, на наболевшем сейчас вопросе в IoT и посмотрим, как Ubuntu Core решает ее с помощью концепции интерфейсов и слотов - абстракции над Selinux и AppArmor. ...

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

Делаем свою прошивку для IP-камеры на Rust

Я хочу рассказать про наш опыт самостоятельной разработки прошивки для IP-камеры. Современные дешевые IP-камеры очень приличны по качеству железа, но сильно страдают софтом. Поголовно используется софт, которому больше 10 лет без патчей, удивительные проблемы с передачей видео по сети (потери данных в TCP), фантастический уровень безопасности (рутовый телнет без пароля), повсеместное нарушение стандартов. ...

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

Архитектура и производительность фронтенда

Оптимизации поисковой выдачи Яндекса

Поисковая выдача Яндекса (СЕРП) - сложное многофункциональное веб-приложение с высокими требованиями к скорости загрузки. По ряду причин мобильный веб медленнее десктопа: ограничения по CPU/памяти в телефонах, нестабильность мобильных сетей. В докладе расскажем, как с учётом этих особенностей, мы ускоряем мобильный СЕРП.

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

Looking for the Holy Grail of Mobile Web Performance

There’s a long-standing myth in the mobile world that only native apps are able to provide a decent performance for the mobile user. With the emergence of Progressive Web Apps that suppose to mimic all the native goodness, the push for performance in the mobile web is now stronger than ever before. Is the Web Platform ready to keep up with these expectations? ...

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

Микросервисный фронтенд

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

Single page application, толстый клиент
,
Пакетные менеджеры и организация модульности
,
Организация системы кеширования
,
Микросервисы, SOA
,
Архитектурные паттерны
,
Отказоустойчивость
,
Профилирование
,
Распределенные системы
,
Разделение представления и бизнес-логики, шаблонизация
,
Методы и техника разработки ПО
,
Логирование и мониторинг
,
Технологии виртуализации и контейнеризации
,
Непрерывное развертывание и деплой
,
Мобильные приложения без native (PWA, AMP)
,
Большие проекты/команды
,
Продуктовая разработка
,
Производительность и мониторинг фронтенда
Доклад принят в Программу конференции

Мониторинг производительности фронтенда в Badoo

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

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

Реконструкция YouTube.com - переписывая второй по популярности сайт в мире

Последняя крупная модификация YouTube.com была запущена более 4-х лет назад, многие фундаментальные принципы работы не менялись ещё дольше. При этом сервис, с одной стороны, прошёл многократные этапы оптимизации (среднее время до проигрывания видео в мире - менее 2 секунд), но оброс огромным количеством багажа и сильно отстал в плане скорости разработки. Мы поставили перед собой задачу сохранить (и улучшить) показатели производительности, параллельно модернизируя сайт и экосистему разработки, внедряя новый дизайн и при этом минимально затрагивая наших пользователей. ...

Браузеры
,
Фронтенд / другое
,
API
,
Python
,
Доступность (Accessibility - a11y)
,
CSS фреймворки
,
Производительность и мониторинг фронтенда
,
Взаимодействие с серверной стороной (REST, GraphQL, gRPC)
,
Онлайн-медиа (
Доклад принят в Программу конференции

Как развивать библиотеку компонентов, не ломая её

Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других. Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать.

Single page application, толстый клиент
,
Фронтенд / другое
,
Дизайн-системы
,
Препроцессоры CSS
,
React, Vue, Angular и другие JavaScript-фреймворки
,
Адаптивная вёрстка
Доклад принят в Программу конференции

Пиксельные шейдеры для Web-разработчиков. Программируем GPU

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

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

Состояние Состояния

Рассмотрим различные способы управления состоянием приложения. Поделим аудиторию и разожжем холивар (рассмотрим плюсы и минусы разных подходов): Services - Стандартный подход работы с сервисами. CQS/CQRS - Command Query Separation. ...

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

Нейронные сети, искусственный интеллект

Определение атрибутов и визуальный поиск в UGC-фотографиях одежды

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

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

Распознавание облаков и теней на спутниковых изображениях с использованием глубокого обучения

Спутниковые изображения Landsat-8 являются одним из наиболее востребованных инструментов мониторинга и исследования земной поверхности. Одной из главных проблем использования этих изображений является зашумленность их облаками и тенями от облаков. На начальном этапе обработки необходимо "отбраковать" зашумленные части сцен или сцены целиком. ...

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

Нейронные сети: быстрый инференс на GPU с помощью TensorRT (демо)

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

Фреймворки
,
C/C++
,
Python
,
Оптимизация производительности
,
Другое
,
Machine Learning
Доклад принят в Программу конференции

Face Recognition: From Scratch To Hatch

Мы разработали технологию по детекту и распознаванию лиц для продуктов компании Mail.ru, которая показывает высокие результаты на известных тестах. Технология на данный момент используется в Мобильном Облаке@Mail.ru для кластеризации фотографий по людям, а также во внутренних сервисах компании. В рамках доклада расскажу: - как научить нейросеть находить лица на фотографии и различать их; - интересные аспекты обучения и трюки, о которых вы не прочитаете в статьях; - как мы оптимизировали вычисления для того, чтобы справляться с десятками миллионов запросов в сутки; - проблемы модели, с которыми столкнулись при внедрении в production, и как их решали. ...

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

Обнаружение аномалий во временных рядах с помощью автоэнкодеров

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

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

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

Дезагрегация и открытость в сетях Ethernet

Одним из ключевых инновационных трендов в современных сетях является дезагрегация, при которой аппаратная платформа сетевого устройства отделяется от операционной системы и приложений, что позволяет использовать различные ОС на различных устройствах, а также запускать различные сетевые приложения на этих ОС. Если в мире серверов дезагрегация и создание унифицированной открытой аппаратной платформы на базе архитектуры x86 и IBM PC, произошло десятки лет назад, то в мире сетей этот подход только начинает набирать обороты. Дезагрегация или разделение платформы сетевого устройства на независимые унифицированные компоненты - аппаратное «железо», операционную систему и приложения, это идея, пришедшая к нам от крупнейших web-компаний с первоочередной целью снижении затрат на содержание сети (OPEX). ...

Аппаратное обеспечение
,
Сетевое администрирование
,
Devops / другое
Доклад принят в Программу конференции

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

Beyond WHERE and GROUP BY — new and faster ways of querying your data in MariaDB

Мы пишем SQL-запросы с WHERE, GROUP BY, ORDER BY, HAVING уже десятки лет. Но никто уже не использует MySQL 3.20 или Windows 3.11 — зачем же ограничивать себя стандартом SQL:1992? Последние версии MariaDB поддерживают возможности SQL:1999 (common table expressions), SQL:2003 (window functions), SQL:2011 (system-versioned tables), SQL:2016 (JSON), что позволяет строить более сложные (например, иерархические) модели данных и писать гораздо более простые и быстрые запросы.

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

Локальное KV-хранилище: сравнительное тестирование 9 "движков"

Я не люблю доклады про цифры. Ни слушать, ни читать. Я люблю доклады про концепции и тенденции, на худой конец - про методики. ...

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

Синхронизация данных из PgSQL в Tarantool

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

Миграции данных
,
PostgreSQL
,
Tarantool
,
Lua
Доклад принят в Программу конференции

5 boring performance improvements in MongoDB 3.4 that matter

I will talk about performance improvements to MongoDB replication and sharding whose development I have been involved in. These under-the-hood improvements make a difference to users that have terabytes of data and possibly also lots of shards. I'll cover the following improvements in MongoDB 3.4: - Order of magnitude faster initial sync for replicas by building indexes in parallel - Removing throttling from migrations (re-balancing) between shards - Allowing parallel migrations between shards - Moving the balancer process from the mongos servers to the primary config server (a singleton) - Wire Protocol Compression to speed up replication in geographically distributed clusters - Future improvements to expect ...

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

Columnar Table Performance Enhancements Of Greenplum Database with Block Metadata and Sort Keys

Alibaba built up a data warehouse service named HybridDB in its public cloud service, based on the open sourced Greenplum Database. And it keeps on enhancing HybridDB's preformance. This presentation will talk about how Alibaba improves HybridDB's performance for columnar tables with data block's meta data (MIN/MAX values of block data) and sort keys (pre-defined keys that data will be sorted and stored with). ...

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

Эффективное использование ClickHouse

ClickHouse чуть более года доступен в open-source. За это время накоплен опыт его использования в российских и зарубежных компаниях. В некоторых из них объёмы данных и нагрузки превышают те, с которыми мы имеем дело в Яндексе. ...

C/C++
,
Базы данных / другое
,
Отказоустойчивость
,
Оптимизация производительности
,
Профилирование
,
Распределенные системы
,
Критерии выбора технологий для проекта
,
Логирование и мониторинг
,
Администрирование баз данных
,
Big Data и Highload в Enterprise
,
MySQL (MariaDB, Percona Server)
,
Hadoop
Доклад принят в Программу конференции

Хранимые процедуры в NoSQL СУБД на примере Tarantool

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

Tarantool
,
Микросервисы, SOA
,
Lua
Доклад принят в Программу конференции

Inexpensive Datamasking for MySQL with ProxySQL - Data Anonymization for Developers

During this session we will cover the last development in ProxySQL to support regular expressions (RE2 and PCRE) and how we can use this strong technique in correlation with ProxySQL's query rules to anonymize live data quickly and transparently. We will explain the mechanism and how to generate these rules quickly. We show live demo with all challenges we got from the Community and we finish the session by an interactive brainstorm testing queries from the audience. ...

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

Отладка и устранение проблем в PostgreSQL Streaming Replication

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

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

Distributed Postgres with Citus

Citus is an open-source extension to Postgres that transforms it into a multi-node, distributed database. It allows you to horizontally scale out both the. In this session you'll learn how Citus takes care of sharding, distributed transactions, and even masterless writes.

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

Метаданные для кластера: гонка key-value-героев

Обзоры и сравнения key-value баз данных, коих сегодня огромное количество, пестрят обещаниями миллионов операций в секунду с менее чем миллисекундными задержками. Мы строим высокопроизводительный кластер хранения, и нам нужно где-то хранить метаданные. Одним из вариантов стали хвалёные key-value-решения. ...

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

Позвольте представить: MariaDB 10.2 и 10.3

MariaDB сейчас на подъеме — активно развивается, пользовательская база растет очень быстро (с апреля до августа — в полтора раза). Последняя стабильная версия — 10.2. Новая версия MariaDB –10.3 уже почти год в разработке и ее вот-вот тоже объявят стабильной. ...

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

Prometheus как time series database

Уже много было докладов про то, как разные компании переезжают на Prometheus, и мы не исключение. Мы в Lamoda тоже успешно применяем Prometheus для целей мониторинга, наверное, как и все, складываем в него миллионы различных метрик и чувствуем себя хорошо. Prometheus достаточно успешно справляется с очень большой write-нагрузкой, а что же с read? ...

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

Гибкая схема хранения данных в MySQL (JSON) для интернета вещей / MySQL Flexible Schema (Document Store/JSON) for IoT

В данном докладе обсуждается возможность хранения данных в формате JSON в MySQL. Хранение данных с датчиков Интернета Вещей (Internet of Things) может быть сложным во многих отношениях, в частности, из-за меняющегося характера данных. Например, если у вас есть фиксированная структура таблицы, а датчику необходимо будет сохранить новое свойство в этой таблице, потребуется изменение структуры таблицы. ...

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

Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает

Apache Ignite — Open Source платформа для высокопроизводительной распределенной работы с большими данными с применением SQL или Java/.NET/C++ API. Ignite используют в самых разных отраслях. Сбербанк, ING, RingCentral, Microsoft, e-Therapeutics — все эти компании применяют решения на основе Ignite. ...

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

Как мы заставили Druid работать в Одноклассниках

Как мы заставили Druid работать в Одноклассниках. «Druid is a high-performance, column-oriented, distributed data store» http://druid.io. Мы расскажем о том, как, внедрив Druid, мы справились с ситуацией, когда MSSQL-based система статистики на 50 терабайт стала: - медленной: средняя скорость ответа была в разы меньше требуемой (и увеличилась в 20 раз); - нестабильной: в час пик статистика отставала до получаса (теперь ничего не отстает); - дорогой: изменилась политика лицензирования Microsoft, расходы на лицензии могли составить миллионы долларов. ...

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

pg_shardman: шардинг в PostgreSQL на основе postgres_fdw, pg_pathman и логической репликации

Шардинг в PostgreSQL - животрепещущая тема. Задача непростая и объемная, поэтому в сообществе пока нет единого плана, как ее решать. Мы расскажем о нашем экспериментальном подходе к шардингу, основанному на нескольких активно развивающихся технологиях - механизме FDW, расширении pg_pathman и логической репликации, вошедшей в ядро 10-ой версии. ...

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

MySQL Replication - Advanced Features

MySQL Replication is powerful and has added a lot of advanced features through the years. In this presentation we will look into replication technology in MySQL 5.7 and variants focusing on advanced features, what do they mean, when to use them and when not, Including. When should you use STATEMENT, ROW or MIXED binary log format? ...

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

Мастер-класс "Логическая репликация и Avito"

В Avito объявления хранятся в базах данных Postgres. При этом уже на протяжении многих лет активно применяется логическая репликация. С помощью неё успешно решаются вопросы роста объема данных и количества запросов к ним, масштабирования и распределения нагрузки, доставки данных в DWH и поисковые подсистемы, меж-базные и меж-сервисные синхронизации данных и пр. ...

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

Технологии хранения для больших проектов

Мы ежедневно сталкиваемся с тем, что даже работающие более 15 лет в индустрии специалисты, путаются в понятиях и преимуществах и недостатках тех или иных архитектур больших СХД. В своем докладе мы расскажем о разнице между distributed (распределенными), shared (общими) и параллельными файловыми системами, покажем, в каких задачах Scale In-системы превосходят Scale Out и наоборот. Расскажем, как новые технологии влияют на архитектуру СХД. ...

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

Оптимизация high-contention write в PostgreSQL

Оптимизация производительности – дело тонкое. Улучшая производительность системы при одной нагрузке, можно запросто ухудшить её при другой нагрузке. Основным мерилом производительности PostgreSQL в среде его разработчиков является pgbench. ...

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

Measuring performance variabillity of EC2

Working in the MongoDB Server Performance Testing team, we use Amazon EC2 for system level testing. This allows us to flexibly deploy and tear down MongoDB clusters of various topologies, day after day. On the other hand, using a public cloud for performance testing can be challenging for repeatability of test results - to put it mildly. ...

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

Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шардов

История развития инфраструктуры баз данных в Dropbox. Путь от одной глобальной базы к 6 тысячам шардов. - Как конфигурировать для разных типов, железа, версий mysql. ...

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

100500 способов кэширования в Oracle Database, или как достичь максимальной скорости обработки запросов минимальной ценой

Изначально будут раскрыты базовые причины, которые заставили появиться такой части механизма СУБД, как кэш результатов, и почему в ряде СУБД он есть или отсутствует. Будут рассмотрены различные варианты кэширования результатов как sql-запросов, так и результатов хранимой в БД бизнес-логики. Произведено сравнение способов кэширования (программируемые вручную кэши, стандартный функционал) и даны рекомендации, когда и в каких случаях данные способы оптимальны, а порой опасны. ...

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

Хранилище данных Avito: аналитика для микросервисной архитектуры

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

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

Rethinking Relational Database CRUD Design Patterns Since We Live in a Big Data World

The past several years have seen the explosive growth of Big Data Analytics to process huge volumes of data. For example, Big Data analytics can be used to process clickstream data to gain insight into user behavior. Clickstream data generally contains only a reference to the user, without any attributes. ...

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

Нереляционный SQL

Если ещё 10 лет назад движение нереляционных СУБД подчёркнуто называлось NoSQL и ходило под лозунгом «SQL is kludge», то сейчас мы видим, что на SQL можно «поговорить» практически с любыми источниками данных: двигаясь от SQL-подобных диалектов (вроде HiveQL, AQL, CQL), возникла целая плеяда SQL-on-Hadoop, среди которых есть способный просверлиться в самые невероятные нереляционные структуры Apache Drill, а в конце августа 2017 появился даже KSQL — SQL-движок над поточником Apache Kafka. И гордость российского NoSQL-субдостроения — Tarantool — также оснастился SQL-движком, а в мире IMDG (резидентных гридов данных) уже речь идёт не просто о поддержке SQL, а ведётся соревнование между движками за полноту соответствия стандартам SQL-99. Цель доклада — разобраться, что же такого в SQL от реляционной специфики, а что в нём — универсальное, позволяющее его использовать для «общения» с любыми данными. ...

Oracle
,
Tarantool
,
Базы данных / другое
,
Организация доступа к базам данных, ORM, собственные драйвера
,
Hadoop
Доклад принят в Программу конференции

Дешевле, надёжнее, проще. Хранение петабайтов видео и фото в ОК

Технический прогресс позволил нам снимать Full HD или даже 4К-видео на телефон, загружать их и делиться с друзьями в Одноклассниках или же вести прямые трансляции на весь мир. Для нас это означает необходимость хранить десятки петабайт данных и обеспечивать к ним доступ со скоростью сотни Гб/с, а это в свою очередь требует инфраструктуры, состоящей из многих тысяч дисков и сотен серверов. Ранее для обеспечения требуемого уровня надежности хранения данных и и отказоустойчивости мы были вынуждены хранить 3 реплики данных - по 1 в каждом ДЦ. ...

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

ProxySQL Use Case Scenarios

ProxySQL aims to be the most powerful proxy in the MySQL ecosystem. It is protocol-aware and able to provide high availability (HA) and high performance with no changes in the application, using several built-in features and integration with clustering software. During this session we will quickly introduce its main features, so to better understand how it works.

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

Механизмы мониторинга баз данных: взгляд изнутри

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

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

Cassandra для хранения метаданных: успехи и провалы

Мы разработали и поддерживаем экзабайтное облачное объектное хранилище (S3-совместимое), и нам необходимо сохранять метаданные объектов. Работа с метаданными сложнее работы с данными, т.к. необходимо поддерживать конкурентные операции по записи/удалению одного и того же объекта, версионирование и т.п. ...

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

В ногу со временем, или как делать upgrade PostgreSQL

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

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

Why are we excited about MySQL 8?

MySQL 8 is coming! As large jump in the version implies this is the largest update in the MySQL space since MySQL 5.0 was released over 12 years ago. Are you excited about MySQL 8? ...

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

libfpta – в памяти, с персистентностью, быстрее хайпа

Представление "Позитивных таблиц" – нового C/C++ движка, выполняющего до полумиллиона пишущих транзакций в секунду к табличным и key-value данным, и одновременно до миллиона читающих запросов на каждом ядре процессора. Компания Positive Technologies производит программные продукты в области информационной безопасности, в том числе обеспечивающие предотвращение вторжений и мониторинг событий безопасности, в том числе на крупномасштабных объектах относящихся к критической инфраструктуре. Для ряда таких продуктов потребовалось разделяемое оперативное хранилище. ...

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

Длинная транзакция или когда размер имеет значение

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

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

NoSQL Best Practices for PostgreSQL

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

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

PostgreSQL worst practices

This talk is prepared as a bunch of slides, where each slide describes a really bad way people can screw up their PostgreSQL database and provides a weight - how frequently I saw that kind of problem. Right before the talk I will reshuffle the deck to draw ten random slides and explain you why such practices are bad and how to avoid running into them. ...

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

Как тестировать производительность гиперковергентных систем?

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

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

Подробно о том, как Causal Consistency реализовано в MongoDB

При использовании Eventually Consistent распределенных баз данных нет гарантий, что чтение возвращает результаты последних изменений данных, если чтение и запись производятся на разных узлах. Это ограничивает пропускную способность системы. Поддержка свойства Causal Consistency снимает это ограничение, что позволяет улучшить масштабируемость, не требуя изменений в коде приложения. ...

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

PostgreSQL Configuration for Humans

PostgreSQL is the world’s most advanced open source database. Indeed! With around 270 configuration parameters in postgresql.conf, plus all the knobs in pg_hba.conf, it is definitely ADVANCED! ...

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

Новые технологии репликации данных в PostgreSQL

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

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

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

Реализация системы отслеживания заказов на примере сети ресторанов Якитория

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

Оптимизация производительности
,
Мониторинг и эксплуатация мобильного приложения
,
Архитектура мобильного приложения
,
Клиент-серверное приложение, REST API, protobuf
Доклад принят в Программу конференции

Анализ производительности мобильных приложений с помощью Firebase Performance Monitoring

В большинстве случаев измерения производительности мобильных приложений осуществляются в "лабораторных условиях" - на эмуляторах, устройствах разработчиков, в лучшем случае на наборах наиболее популярных устройств. Зачастую это абсолютно неэффективно, так как "лабораторные" показания совершенно не дают представления о производительности приложений в реальных условиях. В докладе рассмотрим: - почему необходимо замерять производительность на реальных данных (почему подход "а у меня не тормозит" не работает в scale или почему проблему "приложение стартует 30 секунд" невозможно определить на тестовом устройстве); - обзор Firebase Performance Monitoring в целом, параметры, которые собираются автоматически; - какие стоит создавать метрики и какие не стоит (тут, в частности, про открытие БД, апдейт БД, работа с файловой системой), ключевые точки приложения с точки зрения performance (login, открытия документов, создание контента на клиенте и т.д.). ...

Мониторинг и эксплуатация мобильного приложения
,
Мобильные приложения / другое
Доклад принят в Программу конференции

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

Как создать дата-платформу с нуля

На определенной стадии развития компании появляется необходимость собирать, анализировать и принимать решения, исходя из данных. Причин может быть много: аналитика для BI, внедрение машинного обучения в сервисы, поставка данных заказчику. Для успешного решения задач ML необходимо решить проблемы: 1) сбора данных в real-time с внутренних (и не только) источников; 2) хранения и агрегации этих данных; 3) обработки и принятия решений на основе моделей машинного обучения, используя данные пришедших несколько секунд назад; 4) поставлять данные в другие системы (BI, CRM). ...

Python
,
Scala
,
Проектирование информационных систем
,
Аналитика / другое
,
Hadoop
,
Machine Learning
,
ETL
Доклад принят в Программу конференции

Машинное обучение в электронной коммерции - практика использования и подводные камни

Анализ, проектирование, разработка и эксплуатация моделей предиктивной аналитики в Битрикс24. В докладе расскажем, как мы создали несколько хайлоад-моделей для предсказания платных клиентов, потенциальной прибыли клиентов и клиентов, вероятно покидающих сервис. Поделимся опытом выбора алгоритмов, библиотек, тонкой настройки моделей в Spark MLib, фильтрации и обработки бигдаты на кластерах Spark в Amazon Web Services и всем тем, что необходимо для доведения "предиктивных" моделей до работающего при высоких нагрузках сервиса. ...

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

Gobblin как ETL-фреймворк

В своем докладе расскажу об ETL, как об общем классе задач извлечения, подготовки и доставки данных. Поймем, какую нишу ETL занимает в мире BigData, какие существуют подходы и инструменты для операций над большими данными и какие требования могут к ним предъявляться. Разберемся с тем, что такое Gobblin, открою нашу историю успеха по его внедрению и применению в отделе машинного обучения Rambler&Co, а также решаемые им задачи. ...

Фреймворки
,
Java
,
Hadoop
,
ETL
Доклад принят в Программу конференции

Поиск паттернов (Data Mining: Pattern Discovery)

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

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

Lambda architecture для realtime-аналитики - риски и преимущества

В 2017 построить аналитику на больших данных - это уже не достижение. Витрины, отстающие на день - уже старые. Отставание на час - неплохо. ...

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

Вычисляем по IP: как бороться со спамом в социальной сети

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

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

BigПочта: как мы строили DataLake в Почте России

Мы планируем поделиться с аудиторией примером SuccessStory создания BigData-инфраструктуры (Hadoop) в Почте России. Мы расскажем про выбранные решения, мотивацию их выбора, а также про то, куда развивается продукт в Почте. Доклад будет интересен всем проектам и компаниям, где только задумываются о развитии BigData-технологий, а также всем, кому интересно узнать, как устроена "внутри" современная Почта. ...

Фреймворки
,
Java
,
Scala
,
Базы данных / другое
,
Отказоустойчивость
,
Оптимизация производительности
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
,
Архитектуры / другое
,
Логирование и мониторинг
,
Технологии виртуализации и контейнеризации
,
Аппаратное обеспечение
,
Devops / другое
,
Аналитика / другое
,
Big Data и Highload в Enterprise
,
Hadoop
,
Machine Learning
,
ETL
Доклад принят в Программу конференции

Управление командой разработки (тимлиды)

Схематизация в практике решения управленческих задач

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

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

Как стать тимлидом

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

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

Как общаться с подчиненными и оставаться друзьями

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

Модели руководства
,
Корпоративная культура и мотивация
,
Поиск и развитие команды
,
Управление / другое
Доклад принят в Программу конференции

Как выбирать тимлидов на разных этапах роста компании

Я возглавляю компанию, в которой работает 75 человек. Понятно, что 75 их стало не сразу, и почти все здесь начинали с того, что двое-трое друзей "на коленке" поднимали бизнес, который позже стал крупным и успешным. Но есть и те, кто посыпался именно на этапе роста – только из-за того, что не смогли уйти от «дружеской» схемы организации работы. ...

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

Goth2Boss: ломка и отходняки при переходе из инженера в тимлиды

11 лет я руковожу... руководителями. Они не достаются и не приходят. ...

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

Вся власть Советам или комитетная разработка в тестировании

Это менеджерский доклад. Это доклад о развитии маленького отдела тестирования в развивающемся на манер большого взрыва стартапе, который начался пару лет назад и теперь стал большим отделом тестирования и уже не стартапом, а в крупном ecommerce-проекте - Lazada. Я расскажу о тех проблемах, с которыми столкнулись именно мы в специфике азиатского бизнеса. ...

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

Как убить технаря в руководителе

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

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

Откровенное интервью с эйчаром

- Когда IT-компании нужен свой HR, HR-директор, HR-партнер, и с чего начать работу? - Роли HR в IT-компании, о которых Вы не знали. - Что может сделать HR для развития тимлидов в компании? ...

PostgreSQL
,
Большие проекты/команды
,
Корпоративная культура и мотивация
,
Поиск и развитие команды
Доклад принят в Программу конференции

Сопротивление в работе команды и его «симпатичные» сценарии, приводящие развитие команды в тупик

- Почему коллеги начинают смотреть косо, когда ты становишься тимлидом. - Всегда ли работает модель руководства в стиле «папа». - Почему мы всегда готовы бороться с системой? ...

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

Как построить хороший performance review: опыт Badoo

Многие инженеры нервно кривят лицо, когда слышат слова «оценка производительности работы». Кто-то вспоминает слухи о разнарядках Microsoft, кто-то – бессмысленные длиннющие формы, которые приходится заполнять раз в год по указке сверху. - Менеджерская мутотень! ...

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

Круглый стол "Что ожидает CEO от работы тимлида, и что бы хотел тимлид от своего CEO"

В Круглом столе будут участвовать: - Денис Кочергин, «Ярмарка мастеров», - Кирилл Новиков, Kodix, - Сергей Рыжиков, 1С Битрикс, - Константин Чумаченко, NGENIX. Круглый стол, посвященный разнице в ожиданиях между высшим руководством и теми, кто непосредственно руководит производственным процессом в IT - тимлидами, PM, руководителями разработки. С одной стороны есть претензии к качеству и ответственности, с другой - непонимание смыслов и перегруженность. ...

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

СТО: мечты сбываются?

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

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

Как я был тимлидом, а теперь – руководитель направления

В докладе я расскажу о двух темах: как выглядит рост из тимлида в руководителя отдела, и как выбирать тимлида себе на замену, помогать ему становиться эффективным. Выступление основано только на моем опыте работы с двумя командами: Mobile Web и Desktop Web. Возможно, вы уже читали мой пост на Хабре (https://habrahabr.ru/company/badoo/blog/326230/) о том, как из разработчика я вырос в тимлида, но это мое выступление будет чуть более высокого уровня. ...

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

Четыре кейса парной разработки

1. Владелец кода и десять джуниоров. 2. ...

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

Всё, что тимлид должен знать о найме и увольнении

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

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

Найти себя в хаосе: осознанное развитие IT-профессионалов

Я расскажу о реальных практиках крупнейшей IT-компании России. 1. От контроля к доверию: уход от KPI и бонусов. ...

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

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

Управление разработкой Big Data платформы Почты России: как мы пришли к открытой экосистеме

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

Методологии и процессы разработки ПО; Сроки и приоритеты
,
Большие проекты/команды
,
Выбор стратегии долгосрочного развития, KPI
,
Продуктовая разработка
,
Big Data и Highload в Enterprise
,
Enterprise-системы
Доклад принят в Программу конференции

Команда как высоконагруженная система

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

Методологии и процессы разработки ПО; Сроки и приоритеты
,
Модели руководства
,
Поиск и развитие команды
Доклад принят в Программу конференции

Внутренний open-source. Как разрабатывать мобильное приложение большим количеством разработчиков, не потеряв в качестве

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

Совместная работа, система контроля версий, организация веток
,
Методологии и процессы разработки ПО; Сроки и приоритеты
,
Большие проекты/команды
,
Продуктовая разработка
,
Enterprise-системы
Доклад принят в Программу конференции

Искусство предсказания: как давать более точные оценки времени проекта

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

Инструментальная поддержка, декомпозиция задач
,
Методологии и процессы разработки ПО; Сроки и приоритеты
,
Оценка сложности проекта
,
Управление изменениями, управление требованиями
Доклад принят в Программу конференции
Rambler's Top100