Ульяновск 12-13 апреля 2013 Ленинский мемориал

Доклады

Владимир Юнев
Microsoft
Владимир Юнев, Microsoft

Облачная платформа Windows Azure для веб-разработчиков

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

В этом докладе мы рассмотрим конкретные технологии, которые предлагает облачная платформа Windows Azure для веб-разработчиков. Windows Azure - это самая открытая платформа компании Microsoft, которая позволяет применять ее для проектов на любой платформе с любыми инструментами и на любой операционной системе. В рамках доклада мы рассмотрим как получить преимущества облака для своих проектов на базе различных технологий: PHP, Python, Java, ASP.NET, Git или TFS, Linux или Windows, MySQL, MongoDB или SQL Server.

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

Как начать продавать серверное ПО?

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

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

Константин Осипов
Mail.Ru Group
Константин Осипов, Mail.Ru Group

Новые возможности репликации в MySQL 5.6

Одно из существенных нововведений MySQL 5.6 - global transaction
identifiers (глобальные идентификаторы транзакций). О механизме
действия новых идентификаторов, а также новых возможностях 5.6,
основанных на этом понятии я постараюсь рассказать в своём
докладе. В частности, мной будут рассмотрены новый, упрощённый
механизм fail-over, multi-source репликация, разрешение
конфликтов репликации.

Алексей Палажченко
Express 42
Алексей Палажченко, Express 42

Go в бою

В своём докладе я расскажу про наше использование Go в production:
- cgo: вызов функций C из Go и Go из C;
- mruby: встраиваем интерпретатор;
- тестирование: модульное, системное и нагрузочное;
- управление внешними пакетами: с версиями или без них;
- деплоймент: перезапуск без даунтайма;
- мониторинг: покажем все наши метрики.

Алексей Лебедев
Mamba
Алексей Лебедев, Mamba

Анализ и статистика почтовых рассылок

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

Антон Кортунов
Яндекс
Антон Кортунов, Яндекс

Big data: realtime хранилище данных

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

Константин Осипов
Mail.Ru Group
Константин Осипов, Mail.Ru Group

Tarantool: хранение данных на диске

Почему то, что в PostgreSQL занимает несколько секунд, в MySQL может занимать минуты и часы, и наоборот? Почему может деградировать со временем производительность NoSQL кластера Voldemort,  и как выбор back-end'а позволяет эту проблему решить?

В докладе я попытаюсь рассказать как СУБД, SQL или NoSQL, хранит данные на диске: дам обзор существующих алгоритмов, а также расскажу про решение, которое мы выбрали и реализовали в Tarantool/Box.

Равиль Байрамгалин
Evil Martians
Равиль Байрамгалин, Evil Martians

Cassandra 101: Ruby edition

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

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

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

Николай Рекубратский
Undev
Николай Рекубратский, Undev

Сбор и визуализация данных

Это обзорный доклад из двух частей.

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

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

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

Лев Валкин
Echo
Лев Валкин, Echo

Языко-ориентированное программирование

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

Никита Борзых
Express 42
Никита Борзых, Express 42

Истинный DevOps. Секрет 42.

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

Илья Шаповалов
Zoon.ru
Илья Шаповалов, Zoon.ru

Производительный специализированный поиск: архитектура, область применимости

В Мамбе есть задача — поиск по анкетам. Анкет много, из них в поиске участвует порядка 12 млн. Поиск, помимо непосредственной задачи, используется также для фильтрации анкет для нужд различных функциональных блоков сайта, поэтому запросы разнообразные и сложные, с кучей параметров, и искать нужно очень быстро.
Этим занимается демон поиска. Он строит в памяти bitmap-индекс, а приходящие запросы — компилирует и запускает на выполнение. Получающийся код оптимизирован для поиска по одному конкретному запросу, и он практически не содержит условных переходов, поэтому конвейер процессора всегда полный и поиск работает очень быстро.
Тому, как это всё организовано, и будет посвящён доклад.

Михаил Буйлов
Мамба
Михаил Буйлов, Мамба

Цикл разработки, визуальный деплой, автоматизация и интернационализация

Хочется вкратце рассказать о довольно сложной системе разработки, деплоя и сопутствующих задач, которые позволяют ~10 командам разработки, тестировщикам и переводчикам работать параллельно над десятками задач и не мешать друг другу.
Зачем мы перешли с svn на git, почему именно сейчас, какие задачи мы этим решили, и какие проблемы обрели.
Прекоммит хуки для проверки кода на визуальную чистоту и посткоммит хуки для поддержки системы непрерывной интеграции (jenkins).
Визуальный интерфейс для заявок на выкладку кода, интеграция его с redmine, selenium и системой визуального перевода на сайте.
Автоматическое предупреждение конфликтов заявок: кто первый встал, того и тапки. Индикация уровня перевода заявок.
Функционал развертывания заявок в боевом окружении.
Постпроцессинг заявок: генерация файлов переводов, версий статики и т.п.
История и поддержка таск треккера.
Система переводов: визуальный перевод + учет непереведенных лексем.
Непосредственно деплой: почему нельзя делать svn up и как не потерять ни одного реквеста.
Постдеплойментное сопровождение нового кода: системы агрегации логов и мониторинг изменения нагрузки на демоны/сервисы (BTP).

Дмитрий Ананьев
Мамба
Дмитрий Ананьев, Мамба

Практические вопросы использования NOSQL в высоконагруженном проекте (NoSQL-экзотика: TokyoTyrant -> KyotoTycoon -> Google LevelDB)

Рассказ о том, как в Мамбе происходило внедрение nosql решений: от выбора и тестирования конкретных реализаций до написания собственного nosql сервера на базе встраиваемой nosql базы данных от Google — leveldb.
О том, с какими проблемами пришлось столкнуться во время эксплуатации конкретных nosql решений, и как пришлось их преодолевать.
Опыт использования nosql серверов: tokyotyrant, kyototycoon, а также собственного сервера на базе движка leveldb. Нагрузка на железо в реальных условиях при использовании Nosql в несколько тысяч запросов на демон с десятка разных серверов. Выбор среди существующих решений — memcachedb, redis, kyototycoon, tokyotyrant, а также сравнение встраиваемых nosql движков — tokyocabinet, kyotocabinet, leveldb.
Тестирование nosql решений с помощью brutis, одновременный запуск на нескольких серверах. Перекрёстная репликация и бэкап со слейвов. Как теоретические расчёты нагрузки оказываются неверными из-за ограничений дисковой подсистемы — постраничное обращение к диску при малой длине хранимых значений. Мониторинг nosql решений в php приложении с помощью BTP. Расширение стандартного интерфейса nosql (get/set/delete) и использование упакованных данных для атомарного изменения нескольких значений сразу.

Петр Зотов
Evil Martians
Петр Зотов, Evil Martians

Ruby для встраиваемых устройств

Foundry - компилятор Ruby для встраиваемых устройств: "умных" термостатов, узлов Internet of Things, Arduino или квадрокоптеров. Хватит писать на Си! Современный объектно-ориентированный язык с блоками и метапрограммированием может быть эффективным.

Я расскажу о том, как можно скомпилировать код на Ruby для устройства с 8 килобайтами оперативной памяти и почему написать автопилот для квадрокоптера скоро станет не сложнее, чем блог на Rails.

Александр Титов
Express 42
Александр Титов, Express 42

Инженерные истории.

Несколько историй о том, как мы с вами делаем Интернет. Иногда грустные, иногда веселые, а в целом довольно поучительные. Вы не будете скучать, а потом программируя очередную подсистему в вашем проекте, вы, я надеюсь, вспомните истории про машину Голдберга, последний горшок или историю про табуретку. Вспомните и не будете так делать :)

Михаил Табунов
Coub
Михаил Табунов, Coub

Flash для JS разработчиков: чем может быть полезна устаревающая технология в 2013 году

После пяти лет работы Front-End разработчиком по воле случая мне пришлось столкнуться с Adobe Flash. Спустя год работы с ним у меня накопилась куча интересных мыслей и опыта, которыми хотелось бы поделиться: я расскажу о том, что из себя представляет флеш в 2013 году, как на нем разрабатывать, где его применить, кто сейчас его использует и зачем всё это нужно знать любому уважающему себя JS разработчику.

Александр Сербул
1С-Битрикс
Александр Сербул, 1С-Битрикс

Тонкости разработки и эксплуатации высоконагруженного веб-кластера на 1С-Битрикс

Эволюция архитектуры веб-проекта - от виртуальной машины до кластера

- Известные высоконагруженные кластерные проекты на 1С-Битрикс - изнутри

- Опыт эффективного использования Amazon Web Services для веб-кластеров - секреты и подводные камни MySQL и облака - как правильно готовить (master-master, несколько ДЦ)

- Мониторинг и аналитика - что измерять и почему (pinba, xhprof, nagios, munin)

- Автоматизация отказоустойчивости - почему не pacemaker Как бэкапить большие нагруженные системы на 1С-Битрикс - от снепшотов raid10 до XtraBackup.

Сергей Аверин
Badoo Development
Сергей Аверин, Badoo Development

Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного server-side API десктопного приложения

Доклад рассказывает о реально примененных способах оптимизации производительности API компании badoo для собственных десктоп-приложений: как специфика "много постоянных соединений/однотипные запросы/большая нагрузка" повлияла на стратегию оптимизации производительности.

Антон Плешивцев
aviasales.ru
Антон Плешивцев, aviasales.ru

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

История о том, как развивалась поисковая выдача Aviasales.ru, о том, как устаревали некоторые решения и как они были заменены на новые.

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

Сергей Аверин
Badoo Development
Сергей Аверин, Badoo Development

Не все базы данных одинаково полезны

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

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

Зачем знать алгоритмы

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

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

Низкоуровневые оптимизации

Когда проект действительно сурово нагруженный, а не 15000 ненужных SQL запросов на страницу, то местами приходится нырять в C/C++ по самый ассемблер. После того, как все возможные и невозможные алгоритмические оптимизации проделаны, можно оставить все как есть, и поставить сотню-другую лишних серверов, а можно нырнуть чутка поглубже и поймать там еще немного производительности, от 2% до 10+ раз.
Доклад вкратце пробежит по типичным приемам и конкретным примерам такой подлёдной ловли.

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

Крадущийся сервер, затаившийся диод

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

Организаторы

НП СРИТ

Интернет-партнер


Информационные партнеры

Генеральный спонсор


Спонсоры

— серебряный спонсор
— золотой спонсор


Партнеры

— главный информационный партнер
— HR-партнер
— генеральный HR-партнер
— событийный партнер


При поддержке