Загрузка...

Программирование

В секции будут представлены кейсы по разработке и организации деятельности высоконагруженных проектов, известных в России: Mail.Ru, AVITO.ru, Badoo и др. Руководители подразделений разработки и специалисты ведущих брендов расскажут о проблемах, которые возникали на разных этапах реализации проектов, представят тренды и новые подходы в решении задач.

Докладчики: Александр Титов, Константин Тихонов, Глеб Помыкалов, Алексей Палажченко (Skype, Microsoft), Константин Осипов (Mail.Ru Group), Лев Валкин (Echo), Роман Павлушко (AVITO.ru), Михаил Табунов, Анна Степанян, Алексей Махоткин(undev.ru), Алексей Рыбак (Badoo), Алексей Веснин (Trinitech LLC).

Алексей Палажченко
NoSQL под нагрузкой: практика.
Работаю в компании Qik/Skype/Microsoft 2 года, принимаю участие в разработке backend'ов для qik.com и других проектов. Получил iPad от 10gen за популяризацию использования MongoDB.

MongoDB, CouchDB, Riak, Redis, Cassandra… Сколько потрясающих web-scale решений! Без жёсткой структуры, быстрых, надёжных… Но так ли всё хорошо на самом деле? Я расскажу о реальном опыте использования трёх NoSQL-хранилищ под высокой нагрузкой в компании Qik: MongoDB, memcachedb, Redis. Теории будет мало, практики – много: варианты использования, хорошие и плохие особенности, производительность при разных профилях нагрузки, способы оптимизации. Доклад будет интересен фанатам и яростным противникам NoSQL, а так же здравомыслящим разработчикам, интересующихся практическим опытом.

 

Лев Валкин
Инь и Ян масштабирования.
Ульяновск как яйцо Силиконовой долины. Инкубация.
Основатель и CTO компании Echo

Инь и Ян масштабирования.

После того, как мы в прошлом году в 12 раз подняли стоимость услуг, использование Echo StreamServer выросло в 40 раз. Как найти 15 программистов на маргинальном языке Erlang в городе с дефицитом программистов. Что получится, если полноценные релизы можно делать несколько раз в день без отключения пользователей. Как удовлетворить клиентов, делающих 50 тысяч HTTP-запросов в секунду. Как мы управляемся с фермой из 400 серверов. Автоматизация и человеческий фактор. Масштабирование сервиса и команды. И всего час времени на доклад. НаСтачку!

Ульяновск как яйцо Силиконовой долины. Инкубация.

Наши попытки нанять людей в Сан-Франциско оканчиваются неудачей. Ульяновск оказывается спасительным кругом. Но ульяновская IT-среда поражает своими дикими контрастами с Силиконовой долиной. Летом 2010 года я сделал попытку рассказать, в чём же разница, на закрытом мероприятии в УлГУ; последовала живая дискуссия. Летом 2011 года мы с коллегами сделали серию докладов на эту тему на ULCAMP'2011. Что же с тех пор произошло, и что ещё можно сделать?

 

Роман Павлушко.
Нагруженный поиск на Sphinx
Ведущий разработчик AVITO.ru, работаю над проектом уже более 2х лет. Более 5 лет занимаюсь разработкой крупных интернет-проектов, среди которых AVITO.ru, Рамблер, Automobile.ru, Канобу и ГдеЭтотДом.

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

Целевая аудитория:

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

 

Глеб Помыкалов
Scrum: от теории к практике.
Руководитель Web-команды Qik.com (Skype, Microsoft).

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

Я постараюсь рассказать как об основах Scrum, так и о своем собственном опыте.

  • Истоки и ценности Scrum. Lean Manufacturing и Agile.
  • Основы Scrum-процесса.
  • Роли в Scrum-команде.
  • Ведение Backlog'а. Насколько подробными должны быть спецификации.
  • От видения к продукту. Как распространяется и трансформируется видение в конечную ценность для потребителя. От CEO к разработчикам.
  • Где Scrum не работает.
 

Александр Титов.
Инженерный дзен. Непрерывные изменения
Руководитель отдела системного администрирования в компании Skype, до этого разрабатывал «Скалакси» - первый облачный хостинг в России.
Александр уже более 3 лет успешно применяет практики devops в России, а также является экспертом по внедрению системы управления конфигурацией Chef.

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

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

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

  • нанимать только профессионалов;
  • наладить в команде доверительные отношения;
  • постоянно интегрировать продукт в тестовой среде;
  • использовать подходящие инструменты для управления конфигурацией и деплоя;
  • думать и нести ответственность всей командой.

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

Чтобы доклад был более интерактивным и интересным, присылайте свои пожелания и вопросы на почту conf@devopsru.org.

 

Сергей Ломаков.
Использование key-value хранилища Redis в боевых условиях.
Системный архитектор Searchanise.com, поискового движка для интернет-магазинов

Еще одна in-memory база данных? Зачем она нужна, если есть memcached? Эти и многие другие вопросы я постараюсь осветить в своем докладе посвященном Redis.

Содержание доклада:

  • структуры данных: строки, хэши, списки, множества и упорядоченные множества;
  • сохранность данных и обеспечение их доступности;
  • преимущества и недостатки этого хранилища;
  • сравнение производительности redis и memcached;
  • возможности применения Redis и где используем его мы.
 

Илья Космодемьянский
Теория и практики распределенных баз данных.
Специалист в области администрирования баз данных Oracle, DB2, PostgreSQL. Оказывает услуги по консультированию в ряде интернет-проектов, а также для операторов мобильной и фиксированной телефонии.

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

 

Алексей Веснин
Trinitech LLC. Создание Искусственного Интеллекта в 3-х мерной среде
Эксперт-фрилансер, 20 лет практики. Свои проекты веду с 1998 года, в основном проекты ориентированы на игры и web. Ранее преподавал в ЦКО "Специалист" курс собственной разработки по FreeBSD. В числе клиентов и выполненных работ КупиКупон, Mute Lab, GLLX, Specialist.ru и другие.

Каждый из нас, хорошо поработав, любит хорошо отдохнуть. И большинство либо начинали, либо продолжают играть – в Internet или дома. И мы поговорим об играх всерьез – как со стороны игрока, так и со стороны разработчика. Artificial Intelligence – мозг не только игровых персонажей в частности, но и всей игры в целом, как продукта. На практике рассмотрим создание бота на примере Counter Strike 1.6 и обсудим следующие моменты:

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

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

 

Константин Тихонов.
Интернационализация и локализация веб-проектов на примере Qik
Занимается разработкой сайта Qik.com (проект Skype), ранее работал в Unitmedi(крупнейший медиахолдинг Красноярска) и Railsware.

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

План доклада:
Основные подходы к интернационализации (i18n) и локализации (l10n).
Поддержка i18n в Ruby on Rails.
Объекты интернационализации - строки, даты, новости, баннеры. Проблемы с падежами и числами.
Организация большого количества строк. Разные требования к переводу для разных разделов сайта.
Использование внешнего сервиса для работы с переводами на различных этапах процесса разработки (программирование, тестирование, перевод, деплоймент на стэйдж и продакшн).
Синхронизация переводов между различными версиями приложения.

 

Константин Осипов.
Tarantool: как обрабатывать 1,5 млрд запросов в сутки?
Руководитель подразделения разработчиков Mail.ru Group. Создатель Tarantool - расширяемая, транзакционная СУБД для хранения наиболее запрашиваемых и часто меняющихся данных.

В докладе постараюсь честно, без корпоративных пристрастий ответить на вопрос: почему Tarantool? В «вечнозелёном» мире технологий управления данными происходит очередная революция — отход от классических реляционных систем и технологий Client/Server. В новом технологическом ландшафте у Tarantool/Box есть своя ниша, и я постараюсь эту нишу точно обрисовать.

 

Михаил Табунов
Архитектура клиентских приложений на примере Backbone.js и Knockout.js.
gt, undev.ru

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

Мой доклад состоит из нескольких частей:

  • Эволюция архитектуры клиентского кода, от сайтов к приложениям.
  • Что такое клиентское приложение, каковы его задачи и потребности.
  • Паттерны MVC, MVVM и MVP в браузере, и их реализация.
  • Backbone.js, Knockout.js, Sproutcore

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

 

Алексей Рыбак
Архитектура Badoo
Badoo. Руководил разработкой проекта с нуля до 20 миллионов пользователей (2005 - 2008), сейчас руковожу разработкой и поддержкой разных внутренних компонентов, занимаюсь обеспечением стабильной и быстрой работы проекта, веду несколько специальных проектов.

Badoo — крупнейшая и самая быстрорастущая социальная сеть для встречи с новыми интересными людьми. Badoo объединяет более 140 миллионов пользователей в 180 странах мира; ежедневно в сети регистрируется более 130 000 новых пользователей. В докладе будут освещены основные вопросы архитектуры и технического менеджмента проекта — используемые технологии, основные кластера серверов и их масштабирование, принципы разработки и многие другие.

 

Алексей Махоткин
Мульти-блиц
Стою на фейс-контроле в отделе разработки в компании Undev.ru

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

 

Анна Степанян
Из чего делались вебвыборы
Undev.ru

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

 

Дмитрий Степанов
Shareware по-русски. Как создавать и продавать тиражное ПО и стать miniISV
CEO в 10-Strike Software

Что такое shareware и тиражное ПО? Какой софт можно продавать: примеры. Что и на чем писать? Защита и кряки. Как получать оплату за программы из-за границы? Можно ли запустить софтовый бизнес в одиночку? Можно ли продавать в России? Где общаются шароварщики?