подготовлено в IT-People.ru
14 марта 2014 года, Экспо-центр, Екатеринбург

ServerSide

СПОНСОР СЕКЦИИ
Абак
Секция "ServerSide "
Програмный директор секции - Могильников Алексей, QRGL
Время и место проведения - Зал "Опал ВС". с 10:00 до 16:30



10:00 - 10:30
"Система сборки и отображении статистики Graphite"
Антон Халиков, NetAngels

Система сборки и отображении статистики Graphite (http://graphite.readthedocs.org/en/0.9.10/overview.html#about-the-project) позволяет собирать статистическую информацию с неограниченного количества источников, хранить ее, а так же получать по ней разнообразные отчеты в виде цифр, графиков, аналитики и т.п. 

О чем пойдет речь:

1. История внедрения: как именно мы пришли к необходимости использовать graphite, то есть какой путь мы прошли до graphite и какие инструменты использовали/писали для решения наших задач.
2. Чем graphite лучше использовавшихся решений
3. Как именно он используется в NetAngels (какая информация собирается, как собирается, как отображаются цифры и картинки по этой информации)
4. Наша OpenSource разработка для graphite

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

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

Антон Халиков

NetAngels

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

10:30 - 11:00
"Управление кластером серверов с помощью Pacemaker"
Фролов Григорий, Naumen

Все мы стремимся к тому, чтобы приложения работали быстро и надёжно. Но не всё зависит от самого приложения. Многое зависит от сервера, на котором приложение запущено.
Если речь идёт о БД, то мы настраиваем репликации для того, чтобы сохранить данные в случае факапов. Существуют также решения для кластеризации приложений и распараллеливания их работы.
Возьмём простой пример - web-сервер. Мы хотим, чтобы он работал быстро и по возможности без перерывов. Вполне реально поднять два таких сервера и направлять на них запросы по очереди. Если один упадёт, то второй продолжит работу и без клона. В этом случае мы говорим об Active/Active кластеризации.
Если приложение не поддаётся размножению по серверам, то мы можем хотя бы поставить рядом такой же сервер и автоматизировать мониторинг работы приложения. Если сервер упал, то клон его заменит. В таком случае мы говорим об Active/Passive кластеризации или о горячем резервировании.
Для решения таких задач мы использовали конгломерат открытых продуктов для реализации High Availability. Это Corosync, Pacemaker и DRBD.
Corosync представляет из себя движок кластера. Это то, что собирает несколько отдельных машин в один кластер и мониторит состояние узла.
Pacemaker является менеджером ресурсов кластера и отвечает за запуск приложений на узлах. Pacemaker работает в тесной связке с OCF - Open Cluster Framework. Этот фреймворк призван унифицировать запуск и мониторинг состояния приложений на серверах.
DRBD - открытое решение для создания реплицированных сетевых хранилищ. По сути сетевой RAID1.
Доклад о том, как оно работает, как пользоваться этим зоопарком, и что с ним можно реализовать.

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

Фролов Григорий

Naumen

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

11:00 - 11:30
"Когда же мы сможем нормально «звонить браузером»?"
Патрушев Антон, Naumen

Браузер есть на всех устройствах с экраном (ну почти). С помощью браузера мы уже можем делать всё — читать/писать почту, смотреть видео, совместно редактироватьдокументы. Но браузер до сих пор очень плохо подходит для голосового и видеообщения. Почему ? Доколе ? Сколько нам ещё терпеть этот Skype беспредел ?

Я расскажу о том, почему проблему решают уже добрых 15 лет. Почему её до сих пор не смогли решить. О том как ходит звук и видео в интернете. Как задачи решались раньше и какие чудеса нас ждут в недалёком будущем.

Доклад о том, как (и зачем) придумали великую хитрость — NAT. О долгой и изнурительной борьбе с ним, когда каждую минуту казалось что уже вот-вот и наступит оно — светлое завтра.

Обзор способов, которыми решали (и до сих пор решают) задачу «звонок из браузера» (Adobe Flash, Google Hangout и др.)

И наконец, о светлом завтра — WebRTC. Что это такое, из чего состоит и когда ждать.

С (де)монстрацией.

Патрушев Антон

Naumen

Глава департамента в Naumen, идейный вдохновитель PyCon Russia 2013

12:00 - 12:30
"Типичные ошибки проектирования API"
Кирпичников Алексей, Яндекс

Команда Яндекс.Такси уже больше двух лет занимается разработкой серверного API для мобильных приложений. Я расскажу о том, какие ошибки нам удалось совершить при разработке и как можно было их избежать. А также о том, как мы проектируем API сейчас, чтобы его легче было поддерживать и развивать в будущем. Доклад будет полезен всем, кто только начал или собирается создавать собственное API.

Кирпичников Алексей

Яндекс

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

12:30 - 13:00
" Разработка развесистого API"
Коржнев Сергей, 2ГИС

Разработка достаточно сложного API имеет свою специфику в отличии от классического веб-приложения.
В докладе мы поделимся своим видением как “сделать хорошо”.
За основу возьмем Yii-фреймворк, но все идеи можно адаптировать к любому MVC-фреймворку.

Рассмотрим лучшие практики разработки API:
— Безопасная и однообразная фильтрации входных параметров
— Разделение обязанностей компонентов архитектуры
— Слоистая архитектура
— Тестирование
— Документация и JSON-Schema, два в одном

В качестве подопытного кролика возьмем Справочное API (api.2gis.ru) компании 2ГИС и займемся его тюнингом.

Справочное API: 1 млн. организаций в базе, 1.6 млн. POI. Миллионы клиентов API в месяц.

Коржнев Сергей

2ГИС

Занимаюсь разработкой и архитектурой Справочного API 2ГИС.
Люблю сложные задачи как из области backend'а, так и frontend'а.
Участвовал в проектах: АПИ карт 2ГИС, Фламп, taba.ru.

13:30 - 14:30
"Построение высоконадёжных кластеров БД на основе MySQL"
Варавва Евгений, Google (Дублин)

За много лет использования в Google, MySQL показал себя как быстрое и надёжное хранилище реляционных данных. Используемый как мелкими, так и крупными пользователями, MySQL является ценным дополнением к инфраструктуре хранения данных в Google. Вдобавок к адаптации MySQL к нашей программной инфраструктуре, мы разработали существенный набор патчей для исходников MySQL, которые: повышают надёжность, расширяют возможности white-box мониторинга и добавляют новый функционал серверу.

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

 

 

Варавва Евгений

Google (Дублин)

Site Reliability Engineer в Google

15:00 - 15:30
"О хранилище “Зебра”"
Казаков Александр, СКБ Контур

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

Доклад будет интересен разработчикам, интересующимся распределенными системами хранения данных. Тем, кто любит «заглядывать под капот» и разбираться, на чем основана уверенность в работоспособности продукта. 

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

СКБ Контур

Программирую в Контуре, разрабатываю проект "Экстерн".

Программный директор секции "ServerSide"

15:30 - 16:00
"Система управления денормализованными данными компании: опыт использования postgres + redis + pgq."
Фефелов Андрей, Абак Пресс

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

Система построена с использованием следующих технологий: postgresql - основная БД проектов место откуда необходимые данные могут быть получены, pgq - система управления очередями на базе postgres от skype, redis - известное очень быстрое хранилище.

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

Фефелов Андрей

Абак Пресс

Руководитель отдела разработки Абак Пресс. Машинист паровоза.

16:00 - 16:30
"Внутренняя кухня JIT компилятора"
Старовойт Андрей, Naumen

Доклад по мотивам известного утверждения "Нельзя верить микробенчмаркам".

Я расскажу о том,что такое JIT-компилятор, и почему он является одним из поводов недоверия к микробенчмаркам.
Чем отличаются JIT-компиляторы платформы .NET и Java; ну и, конечно, какой из них лучше?
Что должен уметь делать уважающий себя JIT-компилятор помимо трансляции кода в машинные инструкции?
Какой код "хороший" с точки зрения JIT-компилятора?

Старовойт Андрей

Naumen

Разработчик в компании Naumen





Генеральный спонсор
Партнеры конференции
Спонсоры секций
Хостинг-партнер
Спонсор афтепати
Информационные партнеры
Мозг-партнер
Технологический партнер
Событийный партнер
Официальный HR-партнер
Партнер по размещению
Партнер по перевозке
Программный партнер
Организатор конференции