HighLoad++ 2016

7-8 ноября 2016
Сколково, Россия
Профессиональная конференция разработчиков высоконагруженных систем
Купить видео
В избранное

Александр Лебедев

Frontend developer в Новые Облачные Технологии

Владимир Бородин

DBA в Яндекс

Петр Зайцев

CEO в Percona

Владимир Протасов

Team Lead в Владимир

Наталия Ефремова

PhD, Computer Science в NTechLab

О мероприятии

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

Для кого

  • Техническим директорам
  • Тимлидам
  • Архитекторам данных
  • Разработчикам
  • Системным аналитикам
Поделиться

Расписание

Развернуть все
07 ноября (понедельник)
День 1
Показать
цену в
$
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность фронтенда

Александр Лебедев

Frontend developer в Новые Облачные Технологии

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

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

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

Паттерны и антипаттерны.
- Почему pagination - это плохо, и на что лучше заменить.
- Проблема N+1 и как с ней бороться.
- Бесполезные данные - как обнаружить и уничтожить.
- Как не ломать кэширование на клиенте.
- Эффективная работа с интерфейсами "мастер-детали".

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

Приемы оптимизации работы с API на клиенте.
- Параллельные запросы.
- Эффективный разбор данных.
- In-memory DB на клиенте.
- Стратегии кэширования на клиенте.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Узкотематические секции: видео, поиск, RTB, биллинги

Алексей Акулович

Backend developer в ВКонтакте

Архитектура и алгоритмы для индексации всей музыки ВКонтакте

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Николай Сивко

Сооснователь в okmeter.io

Хорошо поддерживаемое в продакшне приложение

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

Я расскажу, как устроена диагностика у некоторых популярных софтин:
- nginx
- postgresql
- mongodb

Мы попробуем разобраться, что там сделано хорошо, и чего не хватает для полного счастья.
Во второй части доклада мы поговорим про то, как нужно инструментировать собственное приложение для прозрачной работы в продакшне:
- что считать и зачем: ошибки, тайминги, разные состояния приложения,
- инструментарий: your_lang-metrics, your_lang-statsd-client, логи,
- как не перемудрить и не убить прод диагностикой.

Может показаться, что этот доклад про DevOps, но нет - про docker не будет ни слова :)

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Менеджмент крупных проектов

Андрей Смирнов

Руководитель разработки в Virtustream

Remote Highload

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

В докладе пойдет речь о команде Virtustream (Dell Technologies), которая отвечает за Virtustream Storage Cloud.

Экзабайты данных, десятки тысяч серверов, сотни гигабит в секунду, сотни тысяч и миллионы запросов в секунду, 20 датацентров по всему миру и, при этом, команда разработчиков из 15 человек, это возможно?

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

Почему не работает Scrum, и плохо работает парное программирование? Как Mesos, Marathon, Consul и Calico делают возможным выкладывание нового сервиса за 5 минут? Почему каждый разработчик должен иметь доступ в production? 

Тезисы:
1. С чего все начиналось?
2. Как мы отбираем людей в команду?
3. Разработка - от первых строчек кода до установившегося процесса.
4. Планирование и выработка архитектуры проекта.
5. Выкладывание, эксплуатация и реагирование на инциденты.
6. Инструменты и мониторинг.
7. Проблемы удаленной команды.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Интернет вещей

Александр Азимов

Ведущий инженер по эксплуатации сети Qrator в Qrator Labs

Cautious: IPv6 is here

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Безопасность

Андрей Домась

Ведущий системный администратор в Одноклассники

Неочевидные детали при запуске HTTPS в OK.Ru

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Узкотематические секции: видео, поиск, RTB, биллинги

Павел Бейзман

Архитектор высоконагруженных систем в Data-Centric Alliance

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

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Enterprise-системы

Андрей Николаенко

Архитектор в IBS

Побеждаем мейнфрейм

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

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

Главные аналитики мировых IT Gartner когда-то спрогнозировали, что последний мейнфрейм будет потушен в 1993 году. Но мейнфреймы выжили, они развивались, их рынок на больших отрезках постепенно падает, но при этом спорадически растёт, только во II квартале 2016 года он вырос на двузначные цифры в процентах. Что же заставляет заказчиков всё-таки покупать новые мейнфреймы, и в каких случаях от них наконец-то отказываются?

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Владимир Бородин

DBA в Яндекс

История успеха Яндекс.Почты с PostgreSQL

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Узкотематические секции: видео, поиск, RTB, биллинги

Леонид Юрьев

Advanced Research, Lead Shaman в Positive Technologies

Поиск совпадений и дедупликация в потоке

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Станислав Гуменюк

Разработчик в Rambler&Co

Инфраструктура распределенных приложений на nodejs

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

Как на nodejs пройти путь от Hello world приложения до распределённого решения, состоящего из микросервисов?

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

Построив таким образом архитектуру на чистом nodejs, мы займёмся развитием приложения, добавим современные технологии и применим новые подходы к организации инфраструктуры. Запакуем приложение в Docker, попутно обсудим, зачем он нужен и что может дать. И, наконец, решим проблему поиска запущенных сервисов и отслеживания их статусов, используя Consul.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Менеджмент крупных проектов

Станислав Михальский

Технический директор в Mail.Ru Group

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

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

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

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Интернет вещей

Олег Артамонов

Руководитель в Unwired Devices LLC

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

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

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

В этом докладе — формирование понимания о том, кто на ком стоит в IoT:
- Общие требования и пожелания к IoT-сетям и вытекающие из них последствия.
- Wi-Fi и Bluetooth: почему про них в IoT пора забыть и почему до сих пор не забыли.
- Локальные ячеистые сети: Z-Wave, ZigBee, 6LoWPAN, Thread. Обзор принципов работы, отличий, возможностей, бизнес-кейсов.
- Сети большой дальности: LoRa/LoRaWAN, Sigfox, Стриж, Weightless. Принцип работы, отличия, возможности, бизнес-кейсы. От физуровня до облачных систем.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность фронтенда

Роман Дворнов

Руководитель фронтенд-разработки в Avito

Как сделать ваш JavaScript быстрее

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

Поговорим об этих особенностях, что может служить причиной потери производительности, как это диагностировать и как делать код действительно быстрым. Доклад базируется на опыте, полученном в ходе работы над такими проектами как basis.js (весьма быстрый фреймворк для SPA), CSSO (минификатор CSS, который из медленного стал один из самых быстрых), CSSTree (самый быстрый детальный CSS парсер) и других.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Безопасность

Артём Гавриченков

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

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

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

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

За отведённые на доклад 45 минут мы постараемся дать описание каждой из пресловутых "ручек" и рекомендации по их [не]применению, а также дадим рекомендации по развёртыванию TLS на крупной инфраструктуре.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Узкотематические секции: видео, поиск, RTB, биллинги

Вадим Антонюк

Тимлид антифрод-команды в IPONWEB

Anti-fraud solutions in RTB

Во вступлении мы рассмотрим, какие виды фрода существуют в RTB (bots, ad stacking, spoof sites). 

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

В технической части обсудим область параметров, при которых решалась задача, а именно: размер learning sample 200 млрд. строк бид запросов, при реализации на Hadoop расчет велся в GCE на 140 машинах класса n1-highmem-8 и занимал 22 расчетных часа. Реализация достаточно ресурсозатратная как с точки зрения времени, так и денег, поэтому встал запрос на вычислительную оптимизацию.

В оптимизационной части мы обсудим, как при переходе на Spark framework уже на первой фазе получилось достигнуть выигрыша в производительности в 3 раза по сравнению с Hadoop framework и это далеко не предел. Сейчас проект перехода в активной фазе и к моменту доклада мы ожидаем довести этот показатель до ~10 раз.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Антон Жбанков

Облачный архитектор в Nutanix

Велосипед уже изобретен. Что умеют промышленные СХД?

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Петр Зайцев

CEO в Percona

MySQL® и MongoDB® - когда что лучше использовать?

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Юрий Насретдинов

Ведущий разработчик в Badoo

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

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

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

План доклада:
— Наша старая система деплоя, достоинства и недостатки.
— Существующие решения:
* "svn up" / "git pull".
* rsync.
* phar, hhbc (HHVM-specific), "loop".
* rsync + 2 директории + realpath_root (Rasmus-style).
— Требования для новой системы деплоя.
* быстрый деплой на стейджинг (5-10 секунд на 50 серверов).
* возможность атомарно патчить несколько файлов и быстро их выкладывать (10 секунд на весь кластер).
* совместимость с docker.
* поддержка «долгоиграющих» CLI-скриптов (несколько часов).
* низкое потребление ресурсов на принимающей стороне.
* отсутствие необходимости сбрасывать opcache.
* высокая скорость деплоя на продакшн (1-2 минуты на 1500 серверов).
— MDK — multiversion deployment kit.
— Анализ применимости и производительности способов деплоя.
— Выводы.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
BigData и машинное обучение

Артем Маринов

Лидер разработки Facetz DMP в Data-Centric Alliance

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Иван Фролков

Разбработчик в Постгрес Профессиональный

PostgreSQL: практические примеры оптимизации SQL-запросов

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

Тому, как понимать, где же узкие места, и как их можно попробовать избежать на примере PostgreSQL и посвящен этот доклад.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Узкотематические секции: видео, поиск, RTB, биллинги

Михаил Мельников

Head of Engineering в IPONWEB

RTB в телевизоре и на улицах

- Use cases: спутниковое TV; десятки тысяч мониторов в клиниках; медиапланирование в телевизионных сетях с десятком поставщиков данных о зрителях.
- Еще кратко о том, почему появилось RTB, почему появились коннекторы между SSP и DSP (хорошо знаю про case 3 млн. транзакций в секунду), почему появились SSP и DSP "в одном флаконе".
- Основы планирования показов на TV в разных странах.
- Специфика TV по сравнению с Digital (модерация креативов, аудитория одного показа, вероятности показа, отсутствие cookies, большие задержки и ненадежные каналы, разнообразие форматов, разметка аудитории).
- Вызовы, которые стоят перед "традиционными" медиа (TV, DOOH - Digital out of home).
- Run-time технологии и offline сигналы - проблемы и решения.
- Интеграция и использование существующих подходов и технологий.
- Масштабирование и горизонты развития.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Александр Васильев

Руководитель департамента информационных и цифровых технологий в Музей «Гараж»
и ещё 1
докладчик

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

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

Может ли оптика конкурировать c хардами? Ответим на вопросы: зачем, как и сколько, на примере двух кейсов: 

Кейс 1: Интеграция хранилища freeze-ray на оптических дисках в ЦОДе Facebook. 
Мнение специалистов Facebook об оптических технологиях, способных сохранять информацию до 100 лет без перезаписи. Зачем Facebook использует оптику и за счет чего получает выгоду, анализ системы на оптических дисках на 1 экзабайт по сравнению с жесткими дисками и лентой. 

Кейс 2: Как создается с нуля глобальный цифровой архив в области современного искусства в Москве. Расчет общей стоимости владения хранилища на 100TB сроком до 50 лет на жестких дисках и оптике. Что такое эффективность ЦОДа, какие появились возможности ее повышения при использовании оптических технологий хранения данных

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Бэкенд

Владимир Протасов

Team Lead в Владимир

OpenResty: превращаем NGINX в полноценный сервер приложений

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

Из доклада вы узнаете:
* зачем нам Lua внутри NGINX, и почему из седьмого айфона убрали разъем под наушники;
* в каких ситуациях NGINX в паре с Lua справятся с задачей лучше вашего любимого PHP/NodeJS/Ruby/Python/Visual Basic и о прелестях асинхронного ввода-вывода без callback'ов;
* как залезть к NGINX под капот, используя только высокоуровневый язык;
* при чем здесь Openresty, или как упростить себе жизнь;
* примеры бизнес-кейсов: от "умного" прокси до самостоятельного веб-приложения;
* как оно ведет себя в продакшне под большой нагрузкой.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Системное администрирование

Антон Кирюшкин

Системный администратор в ВКонтакте

Системный администратор Vkontakte. Как?

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

Я намереваюсь коснуться таких вопросов, как:
- Управление конфигурацией на очень большом числе серверов.
- Разграничение доступа.
- Развертывание кода на рабочей площадке.
- Мониторинг.
- Как мы, вообще, справляемся с таким гигантом малым числом людей?

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
BigData и машинное обучение

Константин Игнатов

Инженер-разработчик в отделе исследований в Qrator Labs

Хочу знать, сколько уникальных посетителей было на моём сайте за произвольный интервал времени в прошлом

Что нужно хранить для того, чтобы была возможность ответить на этот вопрос?

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

В 80-х годах появились первые вероятностные алгоритмы для приблизительной оценки количества элементов в множестве. При большом количестве уникальных элементов эти алгоритмы дают приблизительную оценку, которая отличается от истинного значения в (1±e), e<1 раз с вероятностью p>0.5. То есть они могут вернуть оценку, которая сильно отличается от истинного значения с некоторой вероятностью (1-p). Чем больше требуется точность, и чем меньше нужна вероятность ошибки, тем больше ресурсов требуют алгоритмы. Сохраняя внутреннее состояние одного из таких алгоритмов через равные промежутки времени в базе данных, мы можем оценить приблизительное количество уникальных посетителей не только за произвольный интервал времени, но и за произвольное объединение любых интервалов времени, например, мы можем посчитать общее количество уникальных IP, которых мы наблюдали в промежутке времени с 17:00 до 18:00 в течение последней недели.

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

Первый такой алгоритм был предложен в 2010 году. О нём-то мы и поговорим.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Зачем нужен мультимастер?

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность фронтенда

Алексей Охрименко

Senior JavaScript developer в IPONWEB

Превышаем скоростные лимиты с Angular 2

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

Об этом и ряде других вещей вы узнаете из этого доклада.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Аппаратное обеспечение, инфраструктура

Александр Джуринский

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

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Нейронные сети

Наталия Ефремова

PhD, Computer Science в NTechLab

Нейронные сети: практическое применение

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

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

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

В первой части мы рассмотрим наиболее популярный вид нейронных сетей: нейронные сети для классификации (CNN, DBN). Такие сети применяются, в основном, в компьютерном зрении: для классификации изображений, лиц, в медицине и радиологии. Мы рассмотрим, какие именно задачи решаются с помощью нейронных сетей свертки: идентификация объектов (object detection), семантическая сегментация (semantic segmentation), распознавание лиц (face recognition), распознавание частей тела человека (human body parts recognition), семантическое определение границ (semantic boundary detection), выделение объектов внимания (saliency estimation), выделение нормалей к поверхности (surface normal estimation). Рассмотрим пример сети для распознавания лиц на примере FindFace и расскажем о способах определения уровня бедности населения с помощью нейронных сетей.

Рассмотрим другой класс нейронных сетей - рекуррентные нейронные сети. Рассмотрим применение RNN для распознавания и генерации естественного языка, LSTM. В качестве примера рассмотрим RNN для распознавания видео на примере нейронных сетей, разработанных командой Монреаля для распознавания эмоций (EmoNets) и сетей LSTM для анализа высказываний (sentiment analysis).

В части №3 мы поговорим об обучении с подкреплением (reinforcement learning), глубинном варианте обучения с подкреплением (deep Q-network, DQN) компании DeepMind.

В конце приведем примеры нестандартных нейросетевых решений для творчества (Призма, Артисто, DeepDream).

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Системное администрирование

Константин Новаковский

Старший системный администратор проекта Vscale в Selectel

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Андрей Шорин

Замдиректора эксплуатации в HeadHunter

Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые ловушки сервисной архитектуры

В какой-то момент 3-й в мире работный сайт начал периодически падать на несколько минут. Сюрпризом стало то, что в этот раз действительно из-за сети.

Для масштабирования сервисов и их взаимодействия между собой hh.ru использует внутренний балансировщик. Обработку 25 тыс. запросов в секунду обеспечивают 5 серверов с nginx. Обращение к этим серверам балансирует коммутатор.

Я расскажу, как мы расследовали серию инцидентов, которая была вызвана нарушением протокола TCP при балансировке. И что мы придумали, чтобы продолжить безнаказанно его нарушать.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Алексей Лесовский

PostgreSQL DBA в DataEgret

Девять кругов ада или PostgreSQL Vacuum

Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него. 

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

В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность фронтенда

Николай Мациевский

Технический директор в Айри.рф

Промышленное ускорение сайтов

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

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

Часть 1. Мониторинг клиентской производительности
* Google Analytics / Яндекс.Метрика / Битрикс.
* New Relic / mPulse / Айри / Navigation Timing API.
* Resource Timing API / User Timing Api: собственные метрики.
* Кейс: как понять из метрик сайта, что и где тормозит.

Часть 2. Внедрение ускорения
* Как выбрать KPI скорости сайта.
* Базовые правила: как автоматизировать, внедрить, раскатать.
* "Бюджет" на ускорение страницы: как распределить.
* Поточное и отложенное ускорение: как выбрать.
* Некоторые типичные ошибки "оптимизации".
* Кейс: нестандартные подходы к оптимизации производительности.

Часть 3. Узкое профилирование
* Тестируем CDN: что смотрим, как измеряем.
* Тестируем мобильные устройства: тормозит CPU или GPRS ?
* Тестируем асинхронную загрузку: подводные камни.
* Кейс: сколько "стоит" ошибка в клиентской производительности.

Заключение. Промышленное внедрение
* Кейс: "швейцарский нож" для оптимизации изображений.
* Кейс: когда реально работает отложенная загрузка.
* Кейс: HTTP/2. Реальные данные.
* Кейс: как ускорить 2000 ресурсов в секунду?

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Аппаратное обеспечение, инфраструктура

Андрей Николаенко

Архитектор в IBS

NVMf: 5 млн IOPS по сети своими руками

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

В докладе будут рассмотрены варианты применения NVMf для различных конфигураций PostgreSQL, Oracle Database, Hadoop, файловых хранилищ, о разработках в направлении «программно-определяемой памяти» с применением NVMe-устройств, доступных по сети, обсуждены текущие проблемы, ограничения и перспективы. Особое внимание будет уделено практическим способам измерения производительности ввода-вывода с учётом задачи, решаемой подсистемой хранения.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Enterprise-системы

Сергей Груздов

Ведущий инженер в DataLine

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

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

Мы рассмотрим архитектуру хранилища, проблемы снижения latency сетевого трафика, а также подходы повышения производительности при создании пулов и использовании кэша. Кроме того, буду затронуты вопросы тестирования производительности и сценарии миграции на Storage Spaces Direct.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Ник Заварицкий

Разработчик в Mail.Ru Group

Язык Lua — секреты производительности

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

Многие слышали про OpenResty. Это решение для разработки Nginx модулей на Lua. Cloudflare, крупнейший CDN/anti-DDOS провайдер, как раз работает на OpenResty.

У нас была задача валидации данных на соответствие схеме; мы переписали валидацию с Си на Lua и получили ускорение в 4 раза (за счет JIT-компиляции).

Что будет в докладе:
* краткое введение в язык Lua;
* как работает трассирующий JIT-компилятор Lua;
* как писать быстрый код, искать и устранять проблемы с производительностью;
* наш опыт: как мы ускорились в 4 раза, переписав валидацию с Си на Lua.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Евгений Пивень

System / Delivery-оператор в IPONWEB

Сравнение решений по балансировке высоконагруженных систем

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Нейронные сети

Григорий Сапунов

CTO и со-основатель в Intento

Введение в архитектуры нейронных сетей

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Алексей Владышев

Разработчик в Zabbix

Zabbix 3.2 - мониторинг качественно нового уровня

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

Новая мажорная версия Zabbix 3.2 революционна и отвечает на эти вопросы!

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Тестирование

Кирилл Котов

Директор департамента разработки в Superjob

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Григорий Смолкин

Системный администратор и PostgreSQL энтузиаст в Postgres Professional
и ещё 1
докладчик

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

Всем известно о существовании временных таблиц в PostgreSQL, но как они устроены, и чем грозит их некорректное использование - не столь очевидно.

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность фронтенда

Николай Лавлинский

Технический директор в Метод Лаб

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

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

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

В этом докладе будем говорить о том, как совместить все эти требования и не потратить много месяцев на построение собственного "велосипеда". Предлагается рабочее решение задачи с использованием open source решения WebPagetest Private Instance. Рассмотрим основные достоинства и проблемы решения, а также способы использования этого инструмента.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Николай Суровенко

Разработчик в News360

Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не разорваться

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

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

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

Сейчас у нас диверсифицированная система: 
- виртуалки на винде и убунте. HA организуется силами Hyper-V и Rancher;
- несколько разных стораджей: Cassandra, Redis, MS SQL, PostgreSQL и Spark, который из всего этого зоопарка делает общую аналитику (нет, мы не ставили все подряд, они все нужны, зачем - расскажу);
- сервисы на C# и питоне, которые прекрасно общаются по общей шине и мы спокойно можем ждать выхода полноценного .net core еще пару лет.

И, предваряя вопрос - нет, на Mono или текущий .NET core без серьезного переписывания перейти зачастую нельзя. Мы - как раз тот случай.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Системное администрирование

Дмитрий Канаев

Технический директор в Телекоммунакиционная компания Caravan
и ещё 1
докладчик

Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, производительность и высокая плотность

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Игорь Эрлих

Разработчик в IPONWEB

LuaJIT как основа для сервера приложений - проблемы и решения

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Системное администрирование

Никита Духовный

Ведущий системный администратор в Одноклассники

Балансировка нагрузки и отказоустойчивость в Одноклассниках

Проект Одноклассники начинал свою жизнь в одном датацентре. 

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

Я без прикрас расскажу вам, как мы в Одноклассниках решаем эти проблемы. Поговорим о следующем:
- CDN - каким пользователям важен, его архитектура, устройство наших CDN-приложений, что происходит при авариях.
- Датацентры - почему мы используем три основных датацентра, где они расположены (и почему именно там), распределение пользовательского трафика между ними.
- Сеть - как и до чего мы балансируем трафик.
- Балансировщики - как мы используем LVS, почему (и в каких случаях) используем и другие решения. Что делаем с приложениями, которые нельзя ставить за балансировщик.
- Модули портала - о балансировке в нашем RPC протоколе, о том, что происходит с Одноклассниками при падении датацентра.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Нейронные сети

Анатолий Востряков

Researcher in Deep learning for NLP field в Segmento

Современные архитектуры диалоговых систем

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Сергей Шарапов

Системный аналитик в Mail.Ru/Odnoklassniki в Одноклассники

SmartMonitoring - мониторинг бизнес-логики в Одноклассниках

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

В этом докладе я расскажу, как мы создали такую систему, как она работает, и с какими трудностями мы столкнулись.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Тестирование

Александр Акбашев

Senior DevOps Engineer в команде Common Continuous Integration в HERE Technologies

Continuous Integration на стероидах

Доклад об одном из самых больших монолитных инстансов Jenkins в мире: один мастер переваривает больше 100 тысяч билдов в день и управляет в пике ~2500 executor'ов. 

В докладе будут подняты следующие вопросы:
* Как развернуть CI в облаке?
* Как с помощью memcache экономить на железе для CI? 
* Тормозит ли Jenkins сам по себе?
* Лайфхаки по использованию разных плагинов.
* Нужно ли мониторить GC у Jenkins?
* Какие плагины делают жизнь лучше, а какие - сильно хуже?
* Как сделать мониторинг Jenkins'a ~из скотча и линейки~ с FluentD + InfluxDB + Grafana.

И наверняка что-то еще...

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Александр Коротков

Ведущий разработчик в Postgres Professional
и ещё 1
докладчик

Долгожданный релиз pg_pathman 1.0

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

В нашем докладе мы расскажем про расширение pg_pathman, которое позволяет обойти эти ограничения. pg_pathman реализует RANGE и HASH секционирования с логарифмическим и константным временами планирования соответственно. В pg_pathman поддерживается определение секции на этапе выполнения, конкурентное секционирование.

pg_pathman долго находился в стадии beta-тестирования, но теперь мы рады, наконец, сообщить о релизе 1.0. В докладе мы расскажем как про детали внутреннего устройства, так и про приёмы практического использования.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность мобильных приложений

Алексей Чубарь

Разработчик в BIT.GAMES

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

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

Где же прячутся подводные камни? Как обеспечить оптимальный user experience на старом смартфоне? Каких "граблей" стоит избегать при написании кода и подготовке графики? Рассмотрим на примере RPG "Гильдия Героев" для Android и iOS.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

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

Разработчик в DABY Tech OÜ

DCI @ XING - масштабируя бизнес-логику

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

DCI расшифровывается как Data-Context-Interaction. Этот подход был впервые применен Trygve Reenskaug, автором знаменитого паттерна MVC. Немногие знают, что MVC сначала назывался MVC-U, где U обозначало user'а, управляющего моделью предметной области через View с Controller'ом. Но в какой-то момент о user'е забыли. DCI - это попытка вернуть фокус разработчиков на взаимодействие пользователя с системой. Применяя эту парадигму, программист начинает думать, а главное, писать код так, как пользователь представляет себе модель предметной области, а именно в терминах объектов данных (Data), которые в разных ситуациях (Context) по-разному взаимодействуют (Interaction) между собой, исполняя разные роли.

В своем докладе я покажу, как XING применяет DCI. На примерах из нашего кода мы обсудим проблемы традиционного OO-подхода и проследим за трансформацией кода с применением DCI. Я также покажу, как DCI упростил применение Domain Driven Design и позволил нам вести разработку в Behaviour Driven стиле.

С ростом сложности решений разработчикам становится все сложнее поддерживать и развивать их код, построенный на принципах OOP, и, так называемых, лучших практиках. DCI - это инструмент, позволяющий масштабировать бизнес-логику с ростом сложности системы, упрощая её код и сам процесс разработки. Я считаю, что DCI - это обязательный инструмент в арсенале современного разработчика, пишущего на OO языках.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Аппаратное обеспечение, инфраструктура

Василий Кирсанов

BDM в ТК Связь

Cистемы с непосредственным жидкостным охлаждением

- Альтернатива традиционному охлаждению или "Стакан жидкости vs Кубометр воздуха".
- Устройство системы охлаждения: подсистема охлаждения узлов + подсистема утилизации тепла.
- Типы оборудования, которые можно охлаждать.
- Преимущества перед традиционными "воздушными" системами + примеры кейсов (суперкомпьютеры, рендер-фермы, биткойн-фермы, гиперконвергентность и пр.).
- Сравнение технологий погружного охлаждения: Novec 1230 vs Полимер/Мин.масло.
- Экономическая эффективность на пальцах.
- Ответы на вопросы.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Вадим Мадисон

Руководитель разработки в М-Тех

Микросервисы: опыт использования в нагруженном проекте

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

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

Мы прошли путь от того, когда 100 микросервисов казалось много ... Сейчас цифры в 1000, 2000 кажутся чем-то обыденным.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Аппаратное обеспечение, инфраструктура

Андрей Чернышев

CEO в Delta Solutions

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

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

- Тенденции и принципы развития открытых платформ
Как крупный заказчик может заставить работать производителей железа в своих интересах и полностью уйти от зависимости от производителя; 
- “Проблема импортозамещения” – видение и решения
Как уйти от порочной зависимости от производителя оборудования? Переработать, переосмыслить, открыть и заставить мировых производителей IТ-оборудования работать на себя на конкурсной основе.
- Открытые системы сегодня и завтра
Это заставило потребителей, производителей оборудования и разработчиков программного обеспечения совместно переосмыслить все аспекты эксплуатации и производства оборудования. 
Примеры открытых систем, преимущества и недостатки:
- Facebook OCP. Проблемы, которые стояли перед Facebook и не решались эффективно известными компаниями лидерами IT-нфраструктуры:
-- Виртуальная программно-определяемая инфраструктура;
-- Максимальная унификация;
-- Сверхпреемственность и защита инвестиций;
-- Энергопотребление и тепловыделение;
-- Компактность и плотность платформ;
-- Обслуживание и ремонтопригодность;
-- Минимизация сервисных затрат.

- Microsoft - Open Cloud Server. Решения на базе блейд-технологии для действительно больших датацентров и серьезных нагрузок. 
-- Уникальная система энергоснабжения корзин;
-- Унификация серверов и систем хранения;
-- Самая большая классическая блейд-корзина;
-- Уникальный бэкплейн;
-- Лучшие показатели по энергоэффективности среди блейд-систем;
-- Полная совместимость и оптимизация под решения Microsoft.

Преимущества и недостатки проектов самых известных веток OCP – выбирай, исходя из чужого опыта.

В рамках проектов OCP уже сейчас разработаны ряд унифицированных платформ - от самых простых и привычных для нас до суперпроизводительных платформ для обработки онлайновых данных. Каждая из них - шедевр инженерной мысли. Представьте себе 30000 GPU ядер в одном сервере или 100Gb интерконнект серверов в датацентре по цене среднего сервера от популярного в нашей стране бренда. 

Такие решения позволили Facebook только за один год сэкономить до 1 МЛРД долларов! А теперь к этому содружеству присоединился RackSpace, Apple с облаком iCloud и Apple Music, Goldman Sachs, Google, Amazon, Bank of America со своими проектами. Таким образом, концепция построения решений на открытых технологиях для крупнейших заказчиков становится трендом в развитии IT-индустрии.

Разрушающие инновации и гибридная война в железном бизнесе.
• Как бьются титаны-производители IT-железа?
• Какие новые технологии рождаются?
• Кто от этого выигрывает?
• Кому пророчат медленную смерть?
• Что это значит для нас с вами?
• Что из этого доступно в России уже сейчас?
• Каков будет эффект сегодня или завтра от применения таких подходов к построению собственной инфраструктуры?

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Михаил Тюрин

Главный системный архитектор в Avito
и ещё 1
докладчик

Опыт миграции между дата-центрами

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность мобильных приложений

Руслан Трошков

Старший разработчик мобильных приложений в Superjob

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

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

Android-приложения Superjob:
• 3 приложения в Google Play для B2C и B2B-аудиторий;
• более 1 млн. пользователей;
• в числе лучших российских приложений по мнению Google Play.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Александр Крижановский

Основатель и системный архитектор в Tempesta Technologies

Linux Kernel Extension for Databases

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

Неудивительно, что современные операционные системы делают все те же самые вещи на свой лад, неподходящий разработчикам СУБД. Это и управление виртуальной памятью с вытеснением страниц, и планировщики ввода-вывода с read ahead. Файловые системы обрабатывают свои операции транзакционно, очень близко с базами данных. Но движки баз данных все равно должны реализовывать все эти механизмы самостоятельно.

В этой презентации мы посмотрим на Tempesta DB, часть проекта Tempesta FW (http://github.com/tempesta-tech/tempesta). Tempesta DB расширяет ядро Linux так, что она реализует управление памятью, вытеснение и ввод-вывод, пригодные для движков user-space баз данных. Она разработана для near real-time нагрузок и сейчас требует, чтобы все данные помещались в RAM. 

Мы рассмотрим следующие вопросы:

- Управление памятью и IO в ОС и СУБД на примере Linux и InnoDB;
- Попытки сообщества разработчиков ядра Linux разработать необходимые интерфейсы ядра для СУБД;
- Расширения ядра Linux, вносимые Tempesta DB;
- Интерфейсы Tempesta DB для кастомных СУБД;
- Сценарии применения Tempesta DB для обработки Web контента и правил фильтрации в Tempesta FW.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Enterprise-системы

Станислав Гоц

Архитектор внедрений ERP MS Dynamics Ax в Lamoda.ru

Сайт под управлением ERP или ERP под управлением сайта

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

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

В Lamoda все начинается и заканчивается в ERP на базе Microsoft Dynamics Ax 2012. Прежде чем попасть на сайт, товар со всеми характеристиками заводится в Ax, оформляется заказ на покупку у поставщика, товару назначается цена. Информация о созданном товаре с помощью веб-сервисов передается в систему управления контентом (LEOS.Content) и систему управления складом (WMS). Информация о планируемой закупке также отправляется в WMS, чтобы склад был готов разгрузить приехавший грузовик и правильно принять привезенный товар. Фактом же приемки, о том, сколько и какого товара фактически приехало на склад, WMS охотно делится с Ax. 

Теперь товар документально учтен на основном складе компании и его можно продавать. Остается добавить его в корзину на сайте и оформить заказ. До тех пор, пока заказ не подтвержден и не собран на складе, Dynamics Ax остается в скромном неведении о взаимодействии с клиентом. Но стоит только заказу получить статус "готов к отправке", система обработки заказов (LEOS.Bob) сразу же информирует об этом нашу ERP. Вместе с этим поступает информация о том, что упакованный товар готов к отгрузке с основного склада компании. Куда? Зависит от способа доставки клиентского заказа. 

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

Именно об этом и будет мой доклад - какая именно информация и зачем, каким способом и в какой момент транслируется через, в или из информационного сердца компании: MS Dynamics Ax 2012.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Александр Гладыш

Технический директор, сооснователь в LogicEditor

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Валентин Гогичашвили

Руководитель отдела Data Engineering в Zalando SE

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

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Дмитрий Калугин-Балашов

Head of Development Group в Mail.Ru Group
и ещё 8
докладчиков

Блиц-доклады

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Дмитрий Самсонов

Ведущий системный администратор в Одноклассники

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

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

В докладе будет рассказано:
1. почему мы выбрали CFEngine, а не Chief или Puppet;
2. как мы научили CFEngine быть дружелюбным (примеры политик и выдержки из библиотеки);
3. 100500 предпринятых мер, что бы не повторить "день 404" и соблюсти баланс между безопасностью и удобством;
4. как ещё можно использовать системы управления серверами.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Альберт Галимов

Разработчик в Mail.Ru Group
и ещё 1
докладчик

Как смигрировать 50Пб в 32 без даунтайма?

В этом докладе я расскажу, как мы в Почте@mail.ru разрабатывали и внедряли новую систему хранения аттачей из писем.

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

Доклад состоит из трех частей.
1. В первой я расскажу, как построить систему, которая принимает 80 000 файлов в минуту, на лету вычисляет дубли и сохраняет их. Как для этого организована система хранения метаинформации, чтобы на нее хватило оперативной памяти.
2. Во второй расскажу, какие нужны инструменты для обеспечения своевременного нахождения проблем в холодных данных. Жесткие диски, к сожалению, не вечны, а данные пользователя терять нельзя.
3. И, наконец, в третьей - как в эту систему перелить уже существующие 50 Пб данных, не используя нового железа.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность мобильных приложений

Алексей Лавренюк

Разработчик в Яндекс

Измеряем энергопотребление с помощью Arduino

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Андрей Минкин

Тимлид в Mad Devs

Собираем GPS-треки от водителей в такси раз в секунду, экономя трафик

Когда Uber или Lyft потихоньку захватывают мир, все службы такси хотят себе такое же приложение.

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Олег Филатьев

Ведущий архитектор решений в Yota
и ещё 1
докладчик

Стратегия и тактика улучшения производительности BSS систем оператора мобильной связи Yota

В докладе поделимся опытом построения комплексного процесса последовательного улучшения производительности информационных систем мобильного оператора, расскажем об используемых инструментах и компонентах (Oracle, Tarantool, Java, Jmeter и т.д.). 

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Илья Вербицкий

Разработчик в WebStoating s.r.o.

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

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

В данном докладе я бы хотел осветить не только вопросы разработки приложений на базе RethinkDB, но и поговорить о том, как все это работает. Мы поговорим о ReQL (язык запросов), “changefeeds”, индексах, шардинге, репликациях, а также затронем вопросы особенностей проектирования баз данных под данную платформу.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
08 ноября (вторник)
День 2
Показать
цену в
$
Архитектуры

Роман Гребенников

Разработчик распределенных систем в Findify

Страх и ненависть в распределенных системах

Если ваше приложение внезапно перестаёт помещаться на один сервер, то надо ставить ещё N серверов рядом, ведь ничего же сложного, разве что-то может пойти не так?

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

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

В процессе рассуждений и откровений для закрепления материала мы вживую напишем простенькую редисо-подобную распределенную систему на Scala и Akka в 100 строк, а потом достанем Jepsen и весело её разломаем, заставив терять данные.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Павел Филонов

Разработчик-исследователь в Лаборатория Касперского

Выбираем СУБД для хранения временных рядов

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

В качестве конкурсантов выступят: OpenTSDB, InfluxDB, MongoDB, PostgreSQL и еще несколько "чёрных лошадок".

В докладе будет рассмотрен многокритериальный подход к выбору с учетом таких показателей как:
* зависимость пропускной способности на запись от различных параметров;
* время исполнения запроса на чтение;
* степень сжатия данных;
* пропускная способность при нагрузочном тестировании.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Максим Пугачев

Systems architect в IPONWEB

AWS и GCP: трудная жизнь в облаках

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

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

Я попытаюсь рассказать о наиболее важных, на мой взгляд, особенностях:
- Почему не стоит полагаться на заявленные характеристики виртуальных машин.
- Почему нет разницы между загрузкой CPU в 85% и 100%.
- Всевозможные аномалии и неожиданные "спайки" в метриках.
- "Облачные" диски и их особенности.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Xianming Dou

Developer в Alibaba Cloud

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.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Бэкенд

Василий Сошников

Sr. Developer в Mail.Ru

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

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

Но с ростом проекта или в рамках некой бизнес-задачи может появиться необходимость в NginX-модуле. И тут возникают вопросы и проблемы:
- Как писать NginX-модули? 
- Какие есть особенности? 
- Как деплоить? 
- Почему нет примеров, а существующие устаревшие?

В этом докладе я расскажу об особенностях разработки под NginX. 
Начнем с особенностей memory model, фаз обработки запроса/контента, а закончим ответом на вопрос: "А когда нужен NginX-модуль?".

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Бэкенд

Александр Алексеев

Программист в Postgres Professional

Профилирование кода на C/C++ в *nix-системах

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Безопасность

Юрий Колесов

Специалист по безопасности клиентских веб-сервисов в security-gu.ru

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Нейронные сети

Эдуард Тянтов

Разработчик в Mail.Ru Group

Artisto: опыт запуска нейросетей в production

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

В рамках доклада расскажу:
- как научить нейросети рисовать, а, главное, красиво и быстро;
- про особенности переноса стиля на видео;
- про технологический стек.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Денис Аникин

Разработчик в Mail.Ru Group

За счет чего Tarantool такой оптимальный

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

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

Я решил суммировать мои ответы на эти вопросы в докладе на Highload++.

Итак, почему Tarantool такой быстрый? 

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

Более полный ответ я раскрою в своем выступлении. Приходите, будет интересно! :)

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Алексей Акулович

Backend developer в ВКонтакте

Архитектура растущего проекта на примере ВКонтакте

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

Разберем несколько реальных случаев, когда что-то шло не так.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Светлана Смирнова

Инженер технической поддержки в Percona
и ещё 2
докладчика

Open Source SQL базы данных вступили в эру миллионов запросов в секунду

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

Разработка в Open Source сообществе позволяет продукту развиваться достаточно гибко, чтобы отвечать требованиям времени. В MySQL и PostgreSQL – самых популярных Open Source СУБД – недавно были проведены оптимизации для работы на больших серверах, что позволило им выполнять более миллиона SQL-запросов в секунду на одном экземпляре БД. 

В данном докладе будут рассмотрены конкретные оптимизации, которые позволили добиться таких результатов, которые раньше могли бы показаться фантастическими. И можно сказать, что Open Source СУБД вошли в эру миллионов запросов в секунду.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Дмитрий Столяров

Технический директор и соучредитель в Флант

Собираем Docker-образы быстро и удобно

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

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

Даже небольшие команды, не ведущие параллельную разработку десятков проектов, на практике сталкиваются с проблемами, не имеющими очевидных решений.
- Как собирать несколько образов для одного проекта (например, разные образы для frontend и backend)?
- Как уменьшить среднее время сборки до нескольких секунд?
- Как правильно исключить из образа лишнюю информацию, сделав его легким? Например, как исключить из образа nodejs, который требуется для компиляции ассетов? Dev-библиотеки, требующиеся для компиляции приложения на Си++?
- Как вести распределенную сборку, используя при этом общий кэш? Или собирать Docker-образы для разных бранчей одного проекта, корректно используя общий кэш?
- Как переиспользовать код сборки между несколькими проектами?
- Как вести совместную разработку?

В этом докладе я расскажу о том, как мы решили обозначенные проблемы и почему считаем, что существующие возможности Dockerfile (и docker build) плохо подходят для сборки образов для CI/CD.

Чем быстрее и чем эффективнее происходит процесс сборки, тем чаще можно собирать и чаще тестировать, тем быстрее можно выкатывать и тем дольше можно хранить историю.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Jan Wieck

Developer в OpenSCG

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. The reason is that the default monitoring tools like logs, pg_stat_activity and pg_stat_statements cannot penetrate into PL/pgSQL. All they report is that your query calling function X is slow. That is useful if function X has 20 lines of simple code. Not so useful if it calls other functions and the actual problem query is many call levels down in a dungeon of 100,000 lines of PL code.

Learn from the original author of PL/pgSQL and current maintainer of the plprofiler extension how you can easily analyze, what is going on inside your PL code.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Системное администрирование

Максим Дунин

Разработчик в Nginx

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

Что нового появилось в nginx за последнее время и для чего всё это нужно? 

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

Читаем CHANGES вместе и разбираем на примерах.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Бэкенд

Максим Лапшин

Автор в Flussonic

Отладка производительности приложения на Erlang

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

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

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Безопасность

Кирилл Ермаков

Разработчик в QIWI
и ещё 1
докладчик

Vulnerability intelligence with vulners.com

С чем у вас ассоциируется получение информации об уязвимостях?

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

Разрозненность данных, отсутствие унификации и миллион источников отлично характеризуют ситуацию. Казалось бы, CVE и CPE решили эту проблему. Да, каждая уязвимость имеет свой уникальный идентификатор, CVSS-вектор и привязку к уязвимому продукту. Можно отслеживать появление новых и вчитываться в суть проблемы. Но вы точно хотите выделить под это отдельного человека?

В своем докладе мы раскроем, почему SCAP не решил проблему, как собрать все воедино в одном формате и создать одну из крупнейших бесплатных баз данных уязвимостей. Python, Elasticsearch, MongoDB и все-все-все. Также мы коснемся интимной темы vulnerability intelligence, расскажем, как просканировать Linux на наличие уязвимостей "бесплатно без SMS" за 160 миллисекунд и сделать систему оповещения о новых уязвимостях такой, какая нужна именно вам.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Нейронные сети

Олег Илларионов

Разработчик в ВКонтакте

Highload на GPU, опыт Vinci

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

Расскажу, как менее чем за месяц с нуля разработать и развернуть приложение, обработать 3 миллиона фотографий на GPU в день запуска и не упасть.

Доклад будет разделен на 3 части:
1) Менеджинг задач при работе с GPU, как найти компромисс между надежностью и максимальной производительностью.
2) Обзор инструментов, подводных камней и софта.
3) Что можно и нужно оптимизировать, какие есть дальнейшие перспективы.

Цель доклада – развеять миф, что нейросети это сложно.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Константин Осипов

Разработчик и архитектор СУБД в Tarantool

Хранение данных на виниле

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

В докладе я расскажу об устройстве нашего нового storage engine:
- как мы объединили in-memory технологию и LSM (log structured merge) деревья для достижения оптимальной производительности и утилизации ресурса накопителя,
- как работает multiversion concurrency control в Vinyl,
- основной компонент в промышленной реализации LSM дерева - merge scheduler, т.е. планировщик слияний и сборки мусора дерева. Я расскажу о подходе, который позволяет максимально снизить износ накопителя, при этом уложиться в заданные рамки производительности запросов.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Иван Круглов

Разработчик в Booking.com

Архитектура поиска в Booking.com

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

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

В своей текущей реинкарнации поиск в Booking.com состоит их трех подсистем:
1) сервис auto-complete и устранения неоднозначности (disambiguation) в геопозиции;
2) сервис поиска по отелям и проверки их доступности (availability);
3) система предрасчета цен.

Первые две системы - это высокопроизводительные приложения, написанные на Java. Сервис поиска хранит свои индексы в in-memory хранилище, а данные - во встраиваемой базе данных RocksDB. Логика системы предрасчета цен написана на Perl, а в качестве хранилища используется MySQL.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Дмитрий Кузьменков

Senior full stack Developer & DevOps в ex. Aviasales

Aviasales: миграция поискового движка в docker

* Yasen (Yet Another Search Engine) – первоначальная архитектура поискового движка. 
* Немного о старой схеме деплоя и её боли – buildbot, chef, git, monit, haproxy. 
* Docker – простота и мощь в одной команде.
* Настраиваем запуск демона – что нужно знать.
* Dockerfile – проблемы и решения. 
* Swarm, Kubernetes, Rancher – обзор вариантов оркестрации.
* Простой путь – docker-compose, и как его готовить.
* Разбираемся с сетью – bridge, host, overlay, macvlan, none.
* Root или не root в контейнере? Выбираем подходящее решение.
* Shared volumes и проблема права доступа к файлам.
* User namespaces – как и зачем?
* Docker и linux capabilities – добавляем безопасности.
* Нюансы ограничения ресурсов контейнеру: memory, cpu, swap.
* Stateful & Stateless в docker
* Автоматизация деплоя через docker-compose.
* Итоговая архитектура и процесс выкатки в production.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Bruce Momjian

Senior Database Architect в EnterpriseDB

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. Such storage allows for greater efficiency and access simplicity, and can also avoid the negatives of entity-attribute-value (eav) storage. The talk will cover many examples of multiple-value-per-field storage, including arrays, range types, geometry, full text search, xml, json, and records.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Бэкенд

Максим Зелинский

Начальник отдела развития платформы Единой Фронтальной Системы в Сбербанк-Технологии

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

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

С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться.

В моем докладе я расскажу:
· Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище).
· Как мы масштабируемся на миллионы пользователей, оставаясь внешнее единой системой.
· Как мы реализуем zero downtime deployment, чтобы оставаться в 99.99% в условиях частых обновлений.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Александр Сербул

Менеджер контроля качества интеграции и внедрений в 1С-Битрикс

Визуализация активности клиентов по всему миру в реальном времени

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

Уделим особое внимание разработке стратегии онлайн-агрегации географической информации, расскажем о пробах и ошибках, выбранных алгоритмах и их возможностях. 

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Интернет вещей

Алексей Ермишкин

Chief Cryptographer в Virgil Security

Как защитить 1 триллион IoT-устройств

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

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

Мы покажем существующую рабочую схему шифрования данных для устройств по принципу end-to-end безо всяких паролей и https, а также open source микросервис, API совместимый с нашим облаком, который позволит развернуть такую же систему обмена ключами внутри своей инфраструктуры.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Андрей Дроздов

Разработчик в Avito

Хранение json-документов в Tarantool

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

Tarantool можно использовать как документо-ориентированную СУБД. В докладе я расскажу про подход к версионированию данных, разработанный командой tarantool: использование avro схемы для валидации входных данных, преобразования от одной версии к другой в runtime, оптимальное хранение версий документа, изменение схемы данных без избыточности и проблем в предыдущих версиях. 

Также я расскажу, как применять этот подход для создания бэкендов restful api прямо в базе данных (без дополнительной разработки). Для наглядности мы сравним получившуюся систему с популярными веб-фреймворками: django-rest-framework, go-restful, node.js и посмотрим, кто окажется в лидерах по производительности. Кроме того, во время выступления я покажу live пример создания restful api на стеке технологий tarantool в облаке amazon.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
DevOps и эксплуатация

Евгений Потапов

Генеральный директор в ITSumma
и ещё 1
докладчик

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

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

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

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

1. Когда "интересно" не значит "правильно"?
1.1. Специфика развития высоконагруженного проекта.
1.2. Требования бизнеса и современные технологии.
1.3. Типичные "сомнительные" решения.

2. Проблемы в архитектуре отказоустойчивых систем.
2.1. Ошибки в планировании резервирования.
2.2. Ошибки в планировании системы выкладок.
2.3. Ошибки в архитектурах систем хранения данных.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Узкотематические секции: видео, поиск, RTB, биллинги

Андрей Аксенов

Основатель в Sphinx

Sphinx 3.0, поиск 15 лет спустя

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

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

Уже приделано всякое интересное:
* новый формат индекса, компактный и быстрый (в разы быстрее индексация и поиск);
* дисковое хранилище для документов и всяких спец. данных;
* полноценные B-tree индексы по атрибутам;
* репликация индексов.

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

Бенчмарков "а почему не Elastic" сделать не успеем, для этого нужны добровольцы. Добровольцы, подайте 1 громкий зеленый email вверх.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Mark Callaghan

Developer в Facebook

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. A large MySQL deployment at Facebook is in the process of migrating from InnoDB to MyRocks. With RocksDB storage engines for MySQL and MongoDB and the Vinyl storage engine for Tarantool we think it is likely that you can consider a write-optimized database engine in the next few years.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектуры

Максим Чистяков

Разработчик в Ultimate Guitar

Тестирование через мониторинг или холакратия на практике

Чтобы быстро двигаться, надо быстро двигаться :-)

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

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

Многие возникающие проблемы касаются только обслуживания (датацентр, OS, каналы) и мониторинг, естественно, необходим. Ну, а раз уж у нас есть мониторинг, то давайте считать систему единым целым, которая может выходить из строя по различным причинам, одной из которых является ошибка в коде. Это привело нас к идее использовать мониторинг вместо тестирования. К чему это привело, почему мы любим Anturis, Graylog, Grafana, что главное в деплое - это быстрый откат и другие прелести управления звездолётом Ultimate-Guitar с дневным населением больше Москвы на скорости 10 деплоев/час - обо всё этом пойдёт речь в этом докладе:
- Про скорость и цену быстрого развития (Innovation Costs).
- Холакратия в бранчах, "сам себе релиз-инженер", ответственность и честность.
- Скорость отката > скорость деплоя.
- Как умер QA или демоны с tail и Graylog.
- Когда не нужны микросервисы: успеть за 30 секунд, медленный Mercurial и шустрое комбо Git + Capistrano + Ansible.
- Бесполезные фичи, бритва Оккама и пользователи, которые на самом деле любят изменения :-)

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Производительность фронтенда

Сергей Гущин

Веб-технолог, руководитель группы разработки десктопного сайта в Superjob.ru

Порядок для скорости. Система структурирования фронтендовой части веб-приложений

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

Система структурирования фронтенда в Superjob - это более 200 элементов и 2000 представлений.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Нейронные сети

Максим Милаков

Инженер по развитию технологий в NVIDIA

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

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

Из презентации вы узнаете, какие оптимизации применяются в TensorRT, как его использовать и увидите, насколько он быстр в избранных задачах.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Базы данных, системы хранения

Владимир Перепелица

Архитектор Облака@Mail.Ru в Mail.Ru Group
и ещё 1
докладчик

Отказоустойчивая обработка 10M OAuth токенов на Tarantool

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

При решении мы столкнулись с массой интересных инженерных задач и в нашем докладе мы расскажем вам о том, какие технологии и подходы использовались. В частности, рассмотрим более детально такие вещи, как:
- создание deadline очереди и проблемы, с ней связанные;
- создание кольцевой очереди;
- интеграция между собой шардинга, Raft и очередей;
- как мы победили split brain ;)