Презентация Владимира Храмцова к докладу про оптимизацию двух маленьких PHP проектов. Основыне тезисы: что происходит, когда увеличивается нагрузка, какие возникают проблемы и способы их решения.
Тема: Как перестать бороться с графиками и начать жить
Я расскажу вам про интеграцию Zabbix и Grafana, чтобы вы могли улучшить возможности визуализации данных мониторинга с помощью Grafana.
1. Зачем нужны графики?
2. Как нарисовать 100 графиков за 10 секунд? (Query Editor, Regex, Templating)
3. И что потом с этим делать? ( Max Data Points, Functions, Performance)
4. События – это тоже Time Series (Annotations)
5. Seek & Destroy (Alerting в Grafana)
6. Бонус: Heatmap
Вероятно, многие пробовали использовать решение Zabbix для мониторинга баз данных. Из моего доклада вы узнаете о нашем опыте его применения, и к чему мы в итоге пришли.
1. Штатный Zabbix-мониторинг баз данных: особенности реализации/настройки в промышленных масштабах
2. Преимущества/недостатки решения мониторинга баз данных от Zabbix SIA
3. Преимущества/недостатки существующих расширений Zabbix для мониторинга баз данных
4. Подробнее о расширении DBforBix v2.3 beta: конфигурирование, возможности
5. Доработка DBforBix: сохраняем преимущества и устраняем недостатки штатного мониторинга баз данных Zabbix
6. Варианты развития идеи
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноBadoo Development
В условиях большой инфраструктуры и немалого количества критичных компонентов, время реакции на инцидент должно быть как можно меньше. В докладе я расскажу, какие инструменты помогают увеличить скорость реакции и уведомить о проблеме качественнее.
Презентация доклада с Web Camp 2015 года.
История Push уведомлений. APNS и GCM.
Устройство и механика новых web push уведомлений.
Практическое руководство по созданию собственной системы push
Презентация Владимира Храмцова к докладу про оптимизацию двух маленьких PHP проектов. Основыне тезисы: что происходит, когда увеличивается нагрузка, какие возникают проблемы и способы их решения.
Тема: Как перестать бороться с графиками и начать жить
Я расскажу вам про интеграцию Zabbix и Grafana, чтобы вы могли улучшить возможности визуализации данных мониторинга с помощью Grafana.
1. Зачем нужны графики?
2. Как нарисовать 100 графиков за 10 секунд? (Query Editor, Regex, Templating)
3. И что потом с этим делать? ( Max Data Points, Functions, Performance)
4. События – это тоже Time Series (Annotations)
5. Seek & Destroy (Alerting в Grafana)
6. Бонус: Heatmap
Вероятно, многие пробовали использовать решение Zabbix для мониторинга баз данных. Из моего доклада вы узнаете о нашем опыте его применения, и к чему мы в итоге пришли.
1. Штатный Zabbix-мониторинг баз данных: особенности реализации/настройки в промышленных масштабах
2. Преимущества/недостатки решения мониторинга баз данных от Zabbix SIA
3. Преимущества/недостатки существующих расширений Zabbix для мониторинга баз данных
4. Подробнее о расширении DBforBix v2.3 beta: конфигурирование, возможности
5. Доработка DBforBix: сохраняем преимущества и устраняем недостатки штатного мониторинга баз данных Zabbix
6. Варианты развития идеи
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноBadoo Development
В условиях большой инфраструктуры и немалого количества критичных компонентов, время реакции на инцидент должно быть как можно меньше. В докладе я расскажу, какие инструменты помогают увеличить скорость реакции и уведомить о проблеме качественнее.
Презентация доклада с Web Camp 2015 года.
История Push уведомлений. APNS и GCM.
Устройство и механика новых web push уведомлений.
Практическое руководство по созданию собственной системы push
WAMP как основа композитных SOA-приложений и его имплементация на LuaKonstantin Burkalev
WAMP расшифровывается как Web Application Messaging Protocol. Это открытый протокол, реализующий два паттерна в рамках одного протокола: RPC и Publish/Subscribe. Как мне кажется, это отличная платформа для сферы Internet of Things, Smart City и вообще бизнес-приложений с большим количеством различных компонентов и сервисов.
Описана методология построения бюджетного бекэнда для push-уведомлений своими руками. Как избежать трат на облачные системы, в чем преимущества собственных решений.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.Alexander Frolov
Краткий обзор существующих решений
Что такое web sockets
обеспечение работы web sockets на стороне сервера
основной механизм работы с web sockets в PHP
Нюансы использования
Какими средствами можно добиться, чтобы сообщения по вебсокетам приходили всегда, вне зависимости от качества интернета и количества разрывов соединений в секунду.
РИТ-2013: Доклад о решениях по асинхронной обработке данных, внедреннных в Мамбе. 1) собственный Comet-сервер, 2) Неудачное внедрение Gearman, 3) RabbitMQ: основы работы, тонкости и особенности внедрения.
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...Ontico
Услуга виртуального дата-центра предъявляет жесткие требования к платформе виртуализации - клиенты хотят высокую производительность и стабильность, а провайдерам нужна возможность максимально плотно размещать нагрузки клиентов.
Мы расскажем:
1. как мы работали с Virtuozzo, чтобы сделать его более производительным и стабильным и, вместе с тем, добиться максимальной плотности размещения виртуальных машин;
2. контейнеры Virtuozzo прекрасно решают эту задачу, но не подходят для размещения некоторых типов приложений, например, Windows;
3. как мы будем переходить на Virtuozzo с KVM, каких целей мы хотим добиться.
Как слать 100М писем каждый день - секреты емейл-рассылок компании Badoo (Анд...Andrey Sas
Видео доклада: http://www.youtube.com/watch?v=jJJGdOiwisM
E-mail рассылки являются важным, если не самым главным, каналом связи с пользователями для большинства веб-сервисов. С их помощью уведомляют о новых событиях, предлагают продукцию и выставляют счета. Поэтому трудно переоценить значимость правильного решения проблем отправки и доставки почты в крупном проекте.
Положительный опыт решения таких задач есть у компании «Баду», которая ежедневно рассылает десятки миллионов писем своим пользователям. Чтобы доклад не был излишне абстрактным, в нём будет рассказано о конкретной реализации почтового кластера проекта, системы генерации и отсылки почты, метриках качества и мониторинге, применяемом в «Баду».
Доклад о том, как мы добились идеально ровной балансировки нагрузки по кластеру из 200+ серверов, реализовали автоматический подбор весов и получили разброс CPU usage в 2,5% в пике трафика. Это позволило сэкономить нам около 40-50 серверов и улучшить время отклика мобильного сайта в пике нагрузки. Реализацию приведенного алгоритма мы выложим в open-sourсe. Доклад Юрия Насретдинова на Highload 2015.
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)Ontico
Концепция NFV позволяет провайдерам преобразовать сеть с фиксированной, закрытой и зависящей от оборудования конкретного поставщика инфраструктурой в открытую, масштабируемую и адаптируемую для нужных услуг среду. Это достигается путём реализации всей необходимой функциональности в виде виртуальных сетевых функций — VNF. Примерами VNF являются: Loadbalancer, Firewall, VPN, CDN, IMS и т.д.
Тезисы - http://www.highload.ru/2015/abstracts/1857.html
Developing Software for Persistent Memory / Willhalm Thomas (Intel)Ontico
NVDIMMs provide applications the ability to access in-memory data that will survive reboots. This is a huge paradigm shift happening in the industry. Intel has announced new instructions to support persistence. In this presentation, we educate developers on how to take advantage of this new kind of persistent memory tier. Using simple practical examples [3] [4], we discuss how to identify which data structures that are suited for this new memory tier, and which data structures are not. We provide developers a systematic methodology to identify how their applications can be architected to take advantage of persistence in the memory tier. Furthermore, we will provide basic programming examples for persistent memory and present common pitfalls.
WAMP как основа композитных SOA-приложений и его имплементация на LuaKonstantin Burkalev
WAMP расшифровывается как Web Application Messaging Protocol. Это открытый протокол, реализующий два паттерна в рамках одного протокола: RPC и Publish/Subscribe. Как мне кажется, это отличная платформа для сферы Internet of Things, Smart City и вообще бизнес-приложений с большим количеством различных компонентов и сервисов.
Описана методология построения бюджетного бекэнда для push-уведомлений своими руками. Как избежать трат на облачные системы, в чем преимущества собственных решений.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.Alexander Frolov
Краткий обзор существующих решений
Что такое web sockets
обеспечение работы web sockets на стороне сервера
основной механизм работы с web sockets в PHP
Нюансы использования
Какими средствами можно добиться, чтобы сообщения по вебсокетам приходили всегда, вне зависимости от качества интернета и количества разрывов соединений в секунду.
РИТ-2013: Доклад о решениях по асинхронной обработке данных, внедреннных в Мамбе. 1) собственный Comet-сервер, 2) Неудачное внедрение Gearman, 3) RabbitMQ: основы работы, тонкости и особенности внедрения.
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...Ontico
Услуга виртуального дата-центра предъявляет жесткие требования к платформе виртуализации - клиенты хотят высокую производительность и стабильность, а провайдерам нужна возможность максимально плотно размещать нагрузки клиентов.
Мы расскажем:
1. как мы работали с Virtuozzo, чтобы сделать его более производительным и стабильным и, вместе с тем, добиться максимальной плотности размещения виртуальных машин;
2. контейнеры Virtuozzo прекрасно решают эту задачу, но не подходят для размещения некоторых типов приложений, например, Windows;
3. как мы будем переходить на Virtuozzo с KVM, каких целей мы хотим добиться.
Как слать 100М писем каждый день - секреты емейл-рассылок компании Badoo (Анд...Andrey Sas
Видео доклада: http://www.youtube.com/watch?v=jJJGdOiwisM
E-mail рассылки являются важным, если не самым главным, каналом связи с пользователями для большинства веб-сервисов. С их помощью уведомляют о новых событиях, предлагают продукцию и выставляют счета. Поэтому трудно переоценить значимость правильного решения проблем отправки и доставки почты в крупном проекте.
Положительный опыт решения таких задач есть у компании «Баду», которая ежедневно рассылает десятки миллионов писем своим пользователям. Чтобы доклад не был излишне абстрактным, в нём будет рассказано о конкретной реализации почтового кластера проекта, системы генерации и отсылки почты, метриках качества и мониторинге, применяемом в «Баду».
Доклад о том, как мы добились идеально ровной балансировки нагрузки по кластеру из 200+ серверов, реализовали автоматический подбор весов и получили разброс CPU usage в 2,5% в пике трафика. Это позволило сэкономить нам около 40-50 серверов и улучшить время отклика мобильного сайта в пике нагрузки. Реализацию приведенного алгоритма мы выложим в open-sourсe. Доклад Юрия Насретдинова на Highload 2015.
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Object-oriented Network Function Virtualization / Антоненко Виталий (ЦПИКС)Ontico
Концепция NFV позволяет провайдерам преобразовать сеть с фиксированной, закрытой и зависящей от оборудования конкретного поставщика инфраструктурой в открытую, масштабируемую и адаптируемую для нужных услуг среду. Это достигается путём реализации всей необходимой функциональности в виде виртуальных сетевых функций — VNF. Примерами VNF являются: Loadbalancer, Firewall, VPN, CDN, IMS и т.д.
Тезисы - http://www.highload.ru/2015/abstracts/1857.html
Developing Software for Persistent Memory / Willhalm Thomas (Intel)Ontico
NVDIMMs provide applications the ability to access in-memory data that will survive reboots. This is a huge paradigm shift happening in the industry. Intel has announced new instructions to support persistence. In this presentation, we educate developers on how to take advantage of this new kind of persistent memory tier. Using simple practical examples [3] [4], we discuss how to identify which data structures that are suited for this new memory tier, and which data structures are not. We provide developers a systematic methodology to identify how their applications can be architected to take advantage of persistence in the memory tier. Furthermore, we will provide basic programming examples for persistent memory and present common pitfalls.
Как мы админа увольняли, или тонкости организации корпоративной безопасности ...Ontico
Через пару недель после увольнения админа нам показалось, что пароли наших клиентов утекли.
Неприятная ситуация, которая требует оперативных и слаженных действий.
В этом докладе я расскажу подробности этой истории, и мы обсудим:
+ Как отработали с клиентами, утечка паролей к которым была установлена достоверно.
+ Работа с отделом К. Чего ждать, а чего не стоит.
+ Как отработали с клиентами, пароли которых потенциально утекли.
+ Как изменили внутреннюю структуру доступов и политики безопасности.
+ Какие организационные выводы были сделаны.
Как понять, что Agile работает / Асхат Уразбаев (ScrumTrek)Ontico
Итак, у вас есть команда работает по Scrum. Ну или, по крайней мере, так говорит. У них точно есть спринты и ежедневные встречи.
Достаточно ли этого? Как понять, что команда действительно работает по Agile? Что в Agile является ключевым, а что вторично? Приносит ли подход пользу или наоборот, вредит проекту?
Поговорим об этом на докладе!
Управление релизами, как оно есть / Рыжкин Андрей Яковлевич (AGIMA)Ontico
Процесс доставки разрабатываемого функционала всегда строится на компромиссах между тем, чтобы доставлять быстро, и тем, чтобы не потерять качество. Причем, чем больше времени тратится на деплой, тем меньше времени остается на качество. Проблема становится все более актуальной с каждым этапом роста объемов производства. Существует многообразие различных методологий и технологий, призванных стандартизировать процессы деплоя и релизов, и в своем докладе я хочу рассказать о том, какой процесс мы настроили для себя, и как это помогло нам тратить больше времени на качество.
Тезисы - http://www.highload.ru/2015/abstracts/1884.html
Large websites with large customer bases should have fast page loads no matter where your customers are coming from. In this day and age speed is expected. Getting there requires engineers to both have data and the ability to analyze and find problems.
This talk will address page load speed in two parts. A "cold" load where a user first comes to your site and a "warm" load which deals with intra-site page load speed. We will dive into the details of each page load and what is really going on. From network optimization to browser render performance, all things matter when it comes to optimizing the load of your web page. Furthermore, we will look into some tools that can be used to analyze and help developers discover and address problems.
Как клиент мечты разорил компанию за 1 год сотрудничества / Николай Зайченко ...Ontico
Доклад основан на реальном кейсе одного из наших клиентов: компания сделала софт для сотового оператора, год жила за счет лицензионных платежей, а потом несущая золотые яйца курица убежала (вместе с яйцами): оператор заместил их продукт собственным. Из-за халатного отношения к своим правам компания не смогла получить даже хоть какую-то компенсацию.
Расскажем, как нужно выстраивать отношения с сильными заказчиками, чтобы не оказаться в подобной ситуации. Ну и, конечно, как в этом вам поможет интеллектуальная собственность.
Эволюция клиентской разработки от веба ко всеобщей мобилизации или mobile-fir...Ontico
История развития проекта с точки зрения клиентских технологий — от веб-сайта к появлению мобильных клиентов и смещению фокуса к mobile-first разработке. Общие черты нашей архитектуры и их отличия от стандартных решений.
Единый протокол общения с приложениями iOS/Android/WindowsMobile/MobileWeb/Web и особенности реализации для JavaScript платформ (десктопные и мобильные браузеры).
Изменение процесса разработки и подходов к реализации нового функционала для переключения на mobile-first стратегию.
Мониторинг всех слоев web проекта / Сивко Николай (hh.ru)Ontico
Когда вы узнаете, что ваш сервис не работает, вы идете в мониторинг, видите много алертов про CPU/load average/diskIO/и т.д., пускаете слезу и идете читать логи. Сначала на фронтенды, потом дальше по стеку.
У многих уже есть grafana и подобные дашборды, но почти всегда там есть только метрики про приложение и пользователей, но нет ничего про сеть, базу и другие подсистемы, от которых зависит работа сервиса.
Мониторинг должен помочь быстро понять, в каком сервисе проблема, а, может, даже показать причину проблемы.
Я расскажу и покажу на примере hh.ru, как покрыть мониторингом все слои инфраструктуры:
- client-side метрики;
- метрики с фронтендов (логи nginx);
- сеть (что можно добыть из TCP);
- приложение (логи);
- метрики базы данных (postgresql в нашем случае);
- операционная система (cpu usage тоже может пригодиться:).
5 лайфхаков в найме адекватных сотрудников / Александр Зиза (Алетейя Бизнес)Ontico
Ни кадровики, ни рекрутеры не поймут, если вы попросите найти в команду адекватного специалиста. Первое, что они сделают, это заменят адекватность на компетентность, потом попросят 2-3 з/п за свои услуги.
Как построить процесс найма высокоэффективных сотрудников? Как не тратить время на рутину и посредственных кандидатов? Как найти тех, кто сможет нанять тех, кто будет работать?
На встрече вы узнаете о системе поиска и найма адекватных кандидатов и лайфхаках от профессионального кадрового аудитора-профайлера. Более детально будут освящены темы НR-брендинга для малоизвестных компаний - что привлекает лучших, особенности работы с рекомендациями, копирайтинг «продающих» вакансий, полуавтоматизированное тестирование и анкетирование, собеседование в технике менталиста, 3 части трудового договора.
Рассмотрим, что и как делегировать помощнику и что спрашивать с кадровиков.
Прокачайте свой навык найма и работайте с теми, с кем достигнете большего.
«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)Ontico
Как правило, такое базовое ПО, как языки программирования, системы управления базами данных, брокеры сообщений, используется в разных индустриях и не имеет ярко выраженной бизнес-специализации. Java, Python, MySQL и не только находят применение повсюду, начиная с больших корпораций, заканчивая стратапами и видеоиграми.
Тем не менее, встречаются исключения. В докладе пойдёт речь о технологиях, получивших распространение в инвестиционных банках и не слишком известных за их пределами. Хотя прямого отношения к торговле финансовыми инструментами сами по себе эти технологии не имеют.
Тезисы - http://www.highload.ru/2015/abstracts/1888.html
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...Ontico
В этом докладе я расскажу о технических аспектах реализации системы аудиоотпечатков:
— как мы к этому пришли, и что было раньше;
— получение отпечатков из mp3;
— хранение в имеющихся движках;
— введение новых специализированных движков для индексации, поиска и сравнения;
— взаимодействие с другими частями проекта;
— профилирование и оптимизации;
— несколько забавных и не очень ситуаций, со всем этим связанных.
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)Ontico
Динамика изменений со стороны бизнеса (наших заказчиков) сейчас настолько велика, что впереди оказываются компании, процесс разработки в которых непрерывно эволюционирует.
Эволюционный процесс позволяет научиться делать более быстрые поставки, принимать более качественные решения, а главное, поставлять с первого раза именно то, что нужно бизнесу.
Необходимый минимум для построения современных процессов разработки - это три ключевых, обязательных для освоения навыка, которым просто обязан научиться каждый участник проектной команды:
1. как можно раньше узнавать то, чего мы еще не знаем;
2. вовремя видеть, анализировать и решать возникающие проблем;
3. помогать бизнесу добиваться лучших из возможных результатов.
Во время доклада я расскажу подробно, какие инструменты вы можете использовать, чтобы выработать в своей команде эти три навыка и тем самым научиться постоянно улучшаться.
Как мы сделали ровную балансировку нагрузки на фронтенд-кластере / Насретдино...Ontico
В докладе я расскажу о том, как мы добились идеально ровной балансировки нагрузки по кластеру из 200+ серверов, реализовали автоматический подбор весов и получили разброс CPU usage в 2,5% в пике трафика. Это позволило сэкономить нам около 40-50 серверов и улучшить время отклика мобильного сайта в пике нагрузки. Реализацию приведенного алгоритма мы выложим в open-sourсe.
Тезисы - http://www.highload.ru/2015/abstracts/1950.html
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...Ontico
1. Многие коллективы разработчиков пытаются измерять скорость отклика сайта и пишут, например, “эта страничка сформирована за 300 ms”.
2. Проблема в том, что 300 ms — это "у нас на сервере". Пользователю, на самом деле, все равно, сколько это "у вас на сервере”, ему надо “сколько у меня в браузере”. В среднем по больнице, 300 ms на сервере с размером странички в 60-70 Кб, могут быть 2.5 секунды на клиенте.
3. Перед тем, как это лечить, надо это измерить. Есть 2 способа:
а. Navigation timing api, поддерживается сейчас много где, но не везде поддерживается одинаково, есть места, сложные для понимания и осмысления (тут много слайдов).
б. Можно взять tcpdump, в нем есть ACK ответов от клиентов, и измерять по ним. Есть Open Source soft (софт нап Насретдинов исан мной в Яндексе, есть договоренность его выпустить), который это делает. В tcpdump большой бонус в том, что можно понять, что происходит.
4. Что происходит в соединении, что такое rtt, как это влияет на latency. Как на это влияет cdn и вынесение всяких фронтендов ближе к пользователю.
5. Почему, вообще, бывает медленно, почему у пользователя может медленно работать wi-fi даже на широком и хорошем канале, уже не говоря про мобильный интернет.
6. Как влияют на скорость антивирусы и еще некоторая неведомая DPI херня (tm), которая делает так, что в советской России (а, возможно, во всем мире) https часто быстрее, чем http (и с чем, собственно, связано то, что на него куча компаний переходят).
Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность ...Ontico
В настоящее время, когда рынок полон различных In-memory NoSQL решений, вопрос выбора особенно актуален. Часто приходится видеть ситуацию, когда базу данных выбирают по принципу "самая распиаренная", "друг посоветовал" и пр. Такой подход имеет мало общего с инженерным мышлением. Может ли оказаться так, что решение, которое на первый взгляд лежит на поверхности, оказывается вовсе не лучшим для поставленной задачи?
Я расскажу о своих муках выбора, в процессе которых был изучен существующий инструментарий (а также написан недостающий), позволяющий оценить применимость той или иной базы данных к текущей задаче. Также в докладе я покажу, к каким результатам привели тесты (да, будет очень много графиков) таких In-memory NoSQL решений как Memcached, Redis, Tarantool, CouchBase и др.
Непременным приложением к докладу будут все исходные коды и образы виртуальных машин, так что при желании вы сможете повторить все у себя :)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Ontico
В этом докладе я расскажу вам историю о своих попытках улучшить процессы в компании Parallels. Она будет насыщена "фейлами" и набором неочевидных и спорных ситуаций, с коротыми вы можете столкнуться, если пойдете по "пути инноватора".
Я расскажу:
- чего удалось добиться за 3 года;
- далеко ли могут увести вас чисто инструментальные решения;
- с какими управленческими проблемами приходится столкнуться, если вы "внедряете DevOps";
- какой может быть предел влияния у "DevOps команды";
- типичные ситуации, в которых можно легко "завязнуть", и их корневые причины.
Рост с нуля до 15000 сообщений в секунду. Мучительный и поучительный / Юрий К...Ontico
РИТ++ 2017, HighLoad Junior
Зал Сингапур, 6 июня, 14:00
Тезисы:
http://junior.highload.ru/2017/abstracts/2499.html
Компания TIMCONNECT процессит банковские смс-сообщения, по возможности отправляя их как push.
Расскажем, как мы за 2 месяца небольшой командой масштабировались в 15 раз, минимально переписывая код, применяя паттерны из хайлоада методом проб и ошибок. На примерах проиллюстрируем, что хайлоад может быть достижим просто и быстро. Если повезет.
Доклад о собранных граблях и сделанных выводах, применимых к большинству проектов.
За последнее время очень сильное развитие получили мобильные приложения. Многие из нас используют свои любимые приложения каждый день. Push-уведомления являются очень важным инструментом для мобильных приложений. Рассылка push-уведомлений большому количеству пользователей является непростой задачей. В своем докладе расскажу о:
том, как устроены пуш-уведомления;
кейсах рассылки уведомлений в проектах mail.ru;
сложностях, которые возникают при рассылке push-уведомлений;
архитектуре сервиса рассылки;
асинхронных сервисах;
статистике и нагрузке на примере «живого» сервиса.
Доклад будет интересен всем, кто занимается разработкой сервисов для мобильных приложений.
Igor Karpenko "Development of multi-process runtime applications in PHP"Fwdays
As part of this lecture, I will be able to share the experience of writing production code for an enterprise application in PHP that works under the WAMP protocol. I'll tell you about the real experience of using such technologies as WAMP, Crossbar, Thruway, spawning of child processes, communication between the child and the host process. I'll tell you about the questions and difficulties that we faced, and, of course, about how we solved them. I can also add that we used this approach to the development of the application, launching sales for Eurovision 2017. The approach was tested in the most combat conditions.
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/2964.html
Одноклассники состоят из более чем восьми тысяч железных серверов, расположенных в нескольких дата-центрах. Каждая из этих машин была специализированной под конкретную задачу - как для обеспечения изоляции отказов, так и для обеспечения автоматизированного управления инфраструктурой.
...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/3032.html
Протокол DNS на семь лет старше, чем Всемирная паутина. Стандарты RFC 882 и 883, определяющие основную функциональность системы доменных имён, появились в конце 1983 года, а первая реализация последовала уже годом позже. Естественно, что у технологии столь старой и при этом по сей день активнейшим образом используемой просто не могли не накопиться особенности, неочевидные обыкновенным пользователям.
...
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
HighLoad++ 2017
Зал «Калининград», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/3010.html
В этом докладе я расскажу, как BigData-платформа помогает трансформировать Почту России, как мы управляем построением и развитием платформы. Расскажу про найденные удачные решения, например, как разбиение на продукты с понятными SLA и интерфейсами между ними помогло нам сохранять управляемость с ростом масштабов проекта.
...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 10:00
Тезисы:
http://www.highload.ru/2017/abstracts/2914.html
Казалось бы, что нужно для организации тестового окружения? Тестовая железка и копия боевого окружения - и тестовый сервер готов. Но как быть, когда проект сложный? А когда большой? А если нужно тестировать одновременно много версий? А если все это вместе?
Организация тестирования большого развивающегося проекта, где одновременно в разработке и тестировании около полусотни фич - достаточно непростая задача. Ситуация обычно осложняется тем, что иногда есть желание потрогать еще не полностью готовый функционал. В таких ситуациях часто возникает вопрос: "А куда это можно накатить и где покликать?"
...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2854.html
Из этого доклада вы узнаете о возможностях репликации и автофейловера PostgreSQL, в том числе о возможностях, ставших доступных в PostgreSQL 10.
Среди прочих, будет затронуты следующие темы:
* Виды репликации и решаемые с ее помощью проблемы.
* Настройка потоковой репликации.
* Настройка логической репликации.
* Настройка автофейловера / HA средствами Stolon и Consul.
После прослушивания доклада вы сможете самостоятельно настраивать репликацию и автофейловер PostgreSQL.
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/3096.html
PostgreSQL is the world’s most advanced open source database. Indeed! With around 270 configuration parameters in postgresql.conf, plus all the knobs in pg_hba.conf, it is definitely ADVANCED!
How many parameters do you tune? 1? 8? 32? Anyone ever tuned more than 64?
No tuning means below par performance. But how to start? Which parameters to tune? What are the appropriate values? Is there a tool --not just an editor like vim or emacs-- to help users manage the 700-line postgresql.conf file?
Join this talk to understand the performance advantages of appropriately tuning your postgresql.conf file, showcase a new free tool to make PostgreSQL configuration possible for HUMANS, and learn the best practices for tuning several relevant postgresql.conf parameters.
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/3115.html
During this session we will cover the last development in ProxySQL to support regular expressions (RE2 and PCRE) and how we can use this strong technique in correlation with ProxySQL's query rules to anonymize live data quickly and transparently. We will explain the mechanism and how to generate these rules quickly. We show live demo with all challenges we got from the Community and we finish the session by an interactive brainstorm testing queries from the audience.
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/2957.html
Расскажем о нашем опыте разработки модуля межсетевого экрана для MySQL с использованием генератора парсеров ANTLR и языка Kotlin.
Подробно рассмотрим следующие вопросы:
— когда и почему целесообразно использовать ANTLR;
— особенности разработки ANTLR-грамматики для MySQL;
— сравнение производительности рантаймов для ANTLR в рамках задачи синтаксического анализа MySQL (C#, Java, Kotlin, Go, Python, PyPy, C++);
— вспомогательные DSL;
— микросервисная архитектура модуля экранирования SQL;
— полученные результаты.
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/3114.html
ProxySQL aims to be the most powerful proxy in the MySQL ecosystem. It is protocol-aware and able to provide high availability (HA) and high performance with no changes in the application, using several built-in features and integration with clustering software. During this session we will quickly introduce its main features, so to better understand how it works. We will then describe multiple use case scenarios in which ProxySQL empowers large MySQL installations to provide HA with zero downtime, read/write split, query rewrite, sharding, query caching, and multiplexing using SSL across data centers.
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2954.html
MySQL Replication is powerful and has added a lot of advanced features through the years. In this presentation we will look into replication technology in MySQL 5.7 and variants focusing on advanced features, what do they mean, when to use them and when not, Including.
When should you use STATEMENT, ROW or MIXED binary log format?
What is GTID in MySQL and MariaDB and why do you want to use them?
What is semi-sync replication and how is it different from lossless semi-sync?
...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/3120.html
Количество разработчиков мобильных приложений Сбербанк Онлайн с начала 2016 года выросло на порядок. Для того чтобы продолжать выпускать качественный продукт, мы кардинально перестраиваем процесс разработки.
Количество внутренних заказчиков тех или иных доработок в какой-то момент выросло настолько, что разработчики стали узким местом. Мы внедрили культуру разработки, которую можно условно назвать "внутренним open-source", сохранив за собой контроль над архитектурой и качеством проекта, но позволив разрабатывать новые фичи всем желающим.
...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2836.html
При использовании Eventually Consistent распределенных баз данных нет гарантий, что чтение возвращает результаты последних изменений данных, если чтение и запись производятся на разных узлах. Это ограничивает пропускную способность системы. Поддержка свойства Causal Consistency снимает это ограничение, что позволяет улучшить масштабируемость, не требуя изменений в коде приложения.
...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/2858.html
Аудитория Одноклассников превышает 73 миллиона человек в России, СНГ и странах дальнего зарубежья. При этом ОК.ru - первая социальная сеть по просмотрам видео в рунете и крупнейшая сервисная платформа.
Качественный и количественный рост DDoS-атак за последние годы превращает их в одну из первоочередных проблем для крупнейших интернет-ресурсов. В зависимости от вектора атаки “узким” местом становится та или иная часть инфраструктуры. В частности, при SYN-flood первый удар приходится на систему балансировки трафика. От ее производительности зависит успех в противостоянии атаке.
...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/3008.html
Никогда не было и вот снова случилось! Компания Google в результате перенаправления трафика сделала недостпуными в Японии несколько тысяч различных сервисов, большинство из которых никак не связано с самой компанией Google. Однако, подобные инциденты происходят с завидной регулярностью, вот только не всегда попадают в большие СМИ. У таких инцидентов могут быть разные причины, начиная от ошибок сетевых инженеров и заканчивая государственным регулированием.
...
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2925.html
Облака и виртуализация – современные тренды развития IT-технологий. Операторы связи строят свои TelcoClouds на стандартах NFV (Network Functions Virtualization) и SDN (Software-Defined Networking). В докладе начнем с основ виртуализации, далее разберемся, для чего используются NFV и SDN, потом полетим к облакам и вернемся на землю для решения практических задач!
...
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
HighLoad++ 2017
Зал «Мумбай», 8 ноября, 10:00
Тезисы:
http://www.highload.ru/2017/abstracts/3045.html
Как мы заставили Druid работать в Одноклассниках.
«Druid is a high-performance, column-oriented, distributed data store» http://druid.io.
Мы расскажем о том, как, внедрив Druid, мы справились с ситуацией, когда MSSQL-based система статистики на 50 терабайт стала:
- медленной: средняя скорость ответа была в разы меньше требуемой (и увеличилась в 20 раз);
- нестабильной: в час пик статистика отставала до получаса (теперь ничего не отстает);
- дорогой: изменилась политика лицензирования Microsoft, расходы на лицензии могли составить миллионы долларов.
...
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2905.html
Прошло более года с того момента, как Microsoft выпустила первую версию своего нового фреймворка для разработки web-приложений ASP.NET Core, и с каждым днем он находит все больше поклонников. ASP.NET Core базируется на платформе .NET Core, кроссплатформенной версии платформы .NET c открытым исходным кодом. Теперь у С#-разработчиков появилась возможность использовать Mac в качестве среды разработки, и запускать приложения на Linux или внутри Docker-контейнеров.
...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2913.html
Изначально будут раскрыты базовые причины, которые заставили появиться такой части механизма СУБД, как кэш результатов, и почему в ряде СУБД он есть или отсутствует.
Будут рассмотрены различные варианты кэширования результатов как sql-запросов, так и результатов хранимой в БД бизнес-логики. Произведено сравнение способов кэширования (программируемые вручную кэши, стандартный функционал) и даны рекомендации, когда и в каких случаях данные способы оптимальны, а порой опасны.
...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2947.html
Apache Ignite — Open Source платформа для высокопроизводительной распределенной работы с большими данными с применением SQL или Java/.NET/C++ API. Ignite используют в самых разных отраслях. Сбербанк, ING, RingCentral, Microsoft, e-Therapeutics — все эти компании применяют решения на основе Ignite. Размеры кластеров разнятся от всего одного узла до нескольких сотен, узлы могут быть расположены в одном ЦОД-е или в нескольких геораспределенных.
...
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/3005.html
Когда мы говорим о нагруженных системах и базах данных с большим числом параллельных коннектов, особый интерес представляет практика эксплуатации и сопровождения таких проектов. В том числе инструменты и механизмы СУБД, которые могут быть использованы DBA и DevOps-инженерами для решения задач мониторинга жизнедеятельности базы данных и ранней диагностики возможных проблем.
...
4. Работа платформ
• GCM: HTTPS POST с json телом
• APNS: TCP TLS с бинарными пакетами
• MPNS: HTTPS POST с xml телом + TLS renego
• WNS: HTTPS POST с xml телом
6. Проблемы
• Дорогой handshake
• «Кривые» сертификаты
• Поведение APNS при ошибках
• Крайне медленные и сбоящие MPNS/WNS
• MPNS TLS renegotiation
7. Как оно работает
• API запросы через HTTPS => пачки пушей
~5 потоков* в 4 очереди платформ (GCM и т. п.)
• По платформам => по приложениям платформ
4 потока в ~100 очередей приложений
• По приложениям => по соединениям приложений
~100 потоков в 5-10к очередей
• Каждое соединение обслуживает свой поток
5-20к потоков с 10-20к очередей
* потоки выполнения, не processes/threads
9. Не офф приложения
• Заброшены без поддержки
• Просроченные/не заданные сертификаты
• Непредвиденный рост популярности
• Некорректная отписка от пушей
Их путь — органичения
10. Как оно работает
• Весь код написан на Go
• Работает на 24 слабых физических серверах
• ulimit -n не менее 10,000 дескрипторов
• Процесс на 500M-1G RSS памяти
• Паузы GC по 4-10мс
• CPU 200-500% из 16 ядер — 3х кратный запас
• Обработка пуша за 40-900мс (тормозит все MPNS)
11. Приятные мелочи
• Масса статистик по работе пушилок
С локальной аггрегацией в воркерах ввиду массивной
параллелизации
• Подробнейшие сквозные логи выбранных пушей
Очень полезно для изучения проблем по факту