SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
YaC, Москва, 1 октября 2010 года
Системный администратор
Влад Селиверстов
Веб-сервер Phantom
О чем разговор?
1. То, что все знают.
2. Почему свой?
3. Как устроен?
4. Что в комплекте?
5. Что получилось?
2
То, что все знают
3
Архитектура веб-сервиса
Frontend:
- HTTP-сервер
Backend:
- исполняемый код
- база данных
- сам “сервис”
4
Что внутри?
5
Проблемы?
— Если worker-ов больше чем процессоров —
возникает конкуренция за процессор.
— Worker-ы могут блокировать друг-друга.
— Если все worker-ы заблокированы, запросы
накапливаются в очереди и ждут, когда
освободится worker.
6
Добавим скорости
Accelerator:
- “легкий” HTTP-сервер
- обрабатывает быстрые
запросы
- обеспечивает Keep-Alive
- проксирует запросы к
Frontend-у
7
А что здесь внутри?
8
Все, что мы сделали — это
разделили запросы к системе
на два типа.
9
Профит!
— Запросы поделились на два типа —
статика и динамика.
— При правильной конфигурации статика
будет отдаваться, даже если нет
свободных worker-ов.
10
Что будет, если добавить в
нашу систему еще один тип
запросов?
11
Например
12
Не так страшно
— Для привязки worker-процессов к
процессорам можно использовать
cpu_affinity или cgroups.
— При правильной конфигурации статика
будет отдаваться, даже если нет
свободных worker-ов.
13
А если добавить еще один тип
запросов?
14
Например
15
Это работает.
16
Но это неудобно.
17
Мы решили сделать свой
web-server, лишенный этих
неудобств.
18
Phantom
19
• Конечный автомат (FSM)
• EPOLL-based
• Coroutine и continuations
• Написан from scratch
• Сильно оптимизирован
Phantom
20
• Не совсем честный FSM
• Worker thread-ы можно групировать в
пулы
• Пулы можно привязывать к процессорам
• Обработку разных типов запросов можно
отдавать в разные пулы
• Pure C++! :)
Phantom
21
Как устроен?
22
Две основных абстракции
Phantom
— Планировщик выполнения
— Нить выполнения
23
Планировщик выполнения
24
Описание шедулеров
scheduler_t fast_scheduler = scheduler_simple_t {
threads = 1
event_buf_size = 1000
timeout_prec = 1
policy = fifo
priority = 98
}
25
Описание шедулеров
scheduler_t heavy_scheduler = scheduler_combined_t {
threads = 1
event_buf_size = 1000
timeout_prec = 1
policy = fifo
priority = 98
poolsize = 2
}
scheduler_t medium_scheduler = scheduler_combined_t {
threads = 1
event_buf_size = 1000
timeout_prec = 1
policy = fifo
priority = 98
poolsize = 2
}
26
Привязка путей к хэндлерам
host = {
"test.yandex.ru" : {
path = {
"/fast" : { handler = fast_handler }
"/medium" : { handler = medium_handler }
"/heavy" : { handler = heavy_handler }
}
}
27
Привязка хэндлеров к шедулерам
handler_t fast_handler = handler_fast_t {
scheduler = fast_scheduler
}
handler_t medium_handler = handler_medium_t {
scheduler = medium_scheduler
}
handler_t heavy_handler = handler_fast_t {
scheduler = heavy_scheduler
}
28
Профит!
29
Нить выполнения
- принять соединение
- изготовить continuation
- передать его протоколлеру
- распарсить запрос
- переложить continuation
в соответствующий scheduler
- передать управление соответствующему
хэндлеру
30
Что в комплекте?
31
Написав прототип, мы
столкнулись с проблемой его
тестирования для
дальнейшей оптимизации.
32
И ещё раньше чем мы
научили phantom отвечать на
запросы, мы научили его их
задавать.
33
Для этого пришлось написать
отдельный модуль,
использовав уже
существующий планировщик.
34
Нить выполнения
- изготовить необходимое количество
continuation-ов
- передать их протоколлеру
- вычитать запрос из лога
- отправить запрос если пришло время
- вычитать и распарсить ответ
- обновить статистику
35
Инструмент для нагрузочного
тестирования
Phantom
— Поддержка любых stateless-протоколов
— Равномерность создаваемой нагрузки
— Высокая производительность
— На его основе написан фреймворк для
нагрузочного тестирования - Lunapark
36
Пример запроса
306 100
GET /su/ HTTP/1.1
Host: ****.yandex.ru
Accept: */*
Connection: close
Referer: http://afisha.yandex.ru/spb/events/?category=cinema&page=2
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; ru-ru)
AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
X-Real-IP: xxx.xxx.xx.xxx
37
Немного картинок
38
50000 RPS ~ 2ms/request
39
Конфигурация с двумя
scheduler-ами
40
Тяжелые запросы в одном
scheduler-е
41
Легкие запросы в другом
42
Ура!
Вопросы!
43
Phantom будет выложен в
opensource.
44
Как только мы допишем
поддержку FastCGI. :)
phantom
46
Лѐгкий веб-сервер :)
47
nginx vs phantom
48
Системный администратор
119021, Россия, Москва,
ул. Льва Толстого, 16.
+7 (495) 739-00-00
+7 (495) 739-70-70 — факс
behemot@yandex-team.ru
Влад Селиверстов

Más contenido relacionado

La actualidad más candente

Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Vadim Madison
 
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан КупреевCRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан КупреевOpenVZ
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Tanya Denisyuk
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Tanya Denisyuk
 
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Tanya Denisyuk
 
07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервераRoman Brovko
 
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...odnoklassniki.ru
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Ontico
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Ontico
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
 
Nginx Igor Sysoev
Nginx   Igor SysoevNginx   Igor Sysoev
Nginx Igor SysoevMedia Gorod
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Ontico
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...ForkConf
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Ontico
 
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайnoBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайOntico
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Ontico
 
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Ontico
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
 

La actualidad más candente (20)

Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан КупреевCRIU: ускорение запуска PHP в CloudLinux OS  -- Руслан Купреев
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
 
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
 
07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера
 
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
 
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 
Mysql vs postgresql
Mysql vs postgresqlMysql vs postgresql
Mysql vs postgresql
 
Nginx Igor Sysoev
Nginx   Igor SysoevNginx   Igor Sysoev
Nginx Igor Sysoev
 
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
 
Major mistakes in site moving
Major mistakes in site movingMajor mistakes in site moving
Major mistakes in site moving
 
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайnoBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
 
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
 

Destacado

ненавязчивый Java Script алексей сергеев
ненавязчивый Java Script   алексей сергеевненавязчивый Java Script   алексей сергеев
ненавязчивый Java Script алексей сергеевMedia Gorod
 
Использование различных СУБД в высоконагруженных проектах
Использование различных СУБД в высоконагруженных проектахИспользование различных СУБД в высоконагруженных проектах
Использование различных СУБД в высоконагруженных проектахMedia Gorod
 
Web Index Report 2009-08
Web Index Report 2009-08Web Index Report 2009-08
Web Index Report 2009-08Media Gorod
 
Управление проектами по созданию продуктов в Афише
Управление проектами по созданию продуктов в АфишеУправление проектами по созданию продуктов в Афише
Управление проектами по созданию продуктов в АфишеMedia Gorod
 
Web Index Report 2009-06
Web Index Report 2009-06Web Index Report 2009-06
Web Index Report 2009-06Media Gorod
 
распределенная архитектура Lamp приложений петр зайцев
распределенная архитектура Lamp приложений   петр зайцевраспределенная архитектура Lamp приложений   петр зайцев
распределенная архитектура Lamp приложений петр зайцевMedia Gorod
 
Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169Media Gorod
 
E travel 2013 ufs-f
E travel 2013 ufs-fE travel 2013 ufs-f
E travel 2013 ufs-fMedia Gorod
 

Destacado (8)

ненавязчивый Java Script алексей сергеев
ненавязчивый Java Script   алексей сергеевненавязчивый Java Script   алексей сергеев
ненавязчивый Java Script алексей сергеев
 
Использование различных СУБД в высоконагруженных проектах
Использование различных СУБД в высоконагруженных проектахИспользование различных СУБД в высоконагруженных проектах
Использование различных СУБД в высоконагруженных проектах
 
Web Index Report 2009-08
Web Index Report 2009-08Web Index Report 2009-08
Web Index Report 2009-08
 
Управление проектами по созданию продуктов в Афише
Управление проектами по созданию продуктов в АфишеУправление проектами по созданию продуктов в Афише
Управление проектами по созданию продуктов в Афише
 
Web Index Report 2009-06
Web Index Report 2009-06Web Index Report 2009-06
Web Index Report 2009-06
 
распределенная архитектура Lamp приложений петр зайцев
распределенная архитектура Lamp приложений   петр зайцевраспределенная архитектура Lamp приложений   петр зайцев
распределенная архитектура Lamp приложений петр зайцев
 
Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169
 
E travel 2013 ufs-f
E travel 2013 ufs-fE travel 2013 ufs-f
E travel 2013 ufs-f
 

Similar a Влад Селиверстов – Веб-сервер Phantom

Веб-сервер Phantom
Веб-сервер PhantomВеб-сервер Phantom
Веб-сервер Phantomyaevents
 
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"Yandex
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)guest40e031
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Serversrit2010
 
Снижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXСнижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXAndrii Podanenko
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
Практическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.ПочтеПрактическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.ПочтеAlexey Androsov
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays HighloadYehor Herasymchuk
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploykuchinskaya
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоАлександр Ежов
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf Conference
 
Михаил Давыдов: Транспорт, ajax
Михаил Давыдов: Транспорт, ajaxМихаил Давыдов: Транспорт, ajax
Михаил Давыдов: Транспорт, ajaxYandex
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Alexey Kachayev
 
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Ontico
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Ontico
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в ЯндексеAndrey Kazarinov
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandexaviatakz
 
Meteor за 15 минут
Meteor за 15 минут Meteor за 15 минут
Meteor за 15 минут MoscowJS
 
Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush
 

Similar a Влад Селиверстов – Веб-сервер Phantom (20)

Веб-сервер Phantom
Веб-сервер PhantomВеб-сервер Phantom
Веб-сервер Phantom
 
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
Снижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXСнижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINX
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 
Практическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.ПочтеПрактическое применение HTML5 в Я.Почте
Практическое применение HTML5 в Я.Почте
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploy
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
 
Михаил Давыдов: Транспорт, ajax
Михаил Давыдов: Транспорт, ajaxМихаил Давыдов: Транспорт, ajax
Михаил Давыдов: Транспорт, ajax
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
 
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Meteor за 15 минут
Meteor за 15 минут Meteor за 15 минут
Meteor за 15 минут
 
Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush Toster
Pavel Dovbush Toster
 

Más de Media Gorod

Iidf market watch_2013
Iidf market watch_2013Iidf market watch_2013
Iidf market watch_2013Media Gorod
 
Travel shop 2013
Travel shop 2013Travel shop 2013
Travel shop 2013Media Gorod
 
Kozyakov pay u_e-travel2013
Kozyakov pay u_e-travel2013Kozyakov pay u_e-travel2013
Kozyakov pay u_e-travel2013Media Gorod
 
13909772985295c7a772abc7.11863824
13909772985295c7a772abc7.1186382413909772985295c7a772abc7.11863824
13909772985295c7a772abc7.11863824Media Gorod
 
As e-travel 2013
As   e-travel 2013As   e-travel 2013
As e-travel 2013Media Gorod
 
Ishounkina internet research-projects
Ishounkina internet research-projectsIshounkina internet research-projects
Ishounkina internet research-projectsMedia Gorod
 
Orlova pay u group_290813_
Orlova pay u group_290813_Orlova pay u group_290813_
Orlova pay u group_290813_Media Gorod
 
Ep presentation (infographic 2013)
Ep presentation (infographic 2013)Ep presentation (infographic 2013)
Ep presentation (infographic 2013)Media Gorod
 
Iway slides e-travel_2013-11_ready
Iway slides e-travel_2013-11_readyIway slides e-travel_2013-11_ready
Iway slides e-travel_2013-11_readyMedia Gorod
 
Data insight e-travel2013
Data insight e-travel2013Data insight e-travel2013
Data insight e-travel2013Media Gorod
 
Электронное Правительство как Продукт
Электронное Правительство как ПродуктЭлектронное Правительство как Продукт
Электронное Правительство как ПродуктMedia Gorod
 
Lean мышление / Специфика Lean Startup
Lean мышление / Специфика Lean StartupLean мышление / Специфика Lean Startup
Lean мышление / Специфика Lean StartupMedia Gorod
 
Глобальный взгляд на мобильный мир (Nielsen)
 Глобальный взгляд на мобильный мир (Nielsen) Глобальный взгляд на мобильный мир (Nielsen)
Глобальный взгляд на мобильный мир (Nielsen)Media Gorod
 
Как россияне используют смартфоны (Nielsen)
 Как россияне используют смартфоны (Nielsen) Как россияне используют смартфоны (Nielsen)
Как россияне используют смартфоны (Nielsen)Media Gorod
 
Мобильный интернет в России (MailRuGroup)
Мобильный интернет в России (MailRuGroup) Мобильный интернет в России (MailRuGroup)
Мобильный интернет в России (MailRuGroup) Media Gorod
 
Karlovyvaryparti 130406024405-phpapp02
Karlovyvaryparti 130406024405-phpapp02Karlovyvaryparti 130406024405-phpapp02
Karlovyvaryparti 130406024405-phpapp02Media Gorod
 

Más de Media Gorod (20)

Itogi2013
Itogi2013Itogi2013
Itogi2013
 
Moneytree rus 1
Moneytree rus 1Moneytree rus 1
Moneytree rus 1
 
Iidf market watch_2013
Iidf market watch_2013Iidf market watch_2013
Iidf market watch_2013
 
Travel shop 2013
Travel shop 2013Travel shop 2013
Travel shop 2013
 
Kozyakov pay u_e-travel2013
Kozyakov pay u_e-travel2013Kozyakov pay u_e-travel2013
Kozyakov pay u_e-travel2013
 
13909772985295c7a772abc7.11863824
13909772985295c7a772abc7.1186382413909772985295c7a772abc7.11863824
13909772985295c7a772abc7.11863824
 
As e-travel 2013
As   e-travel 2013As   e-travel 2013
As e-travel 2013
 
Ishounkina internet research-projects
Ishounkina internet research-projectsIshounkina internet research-projects
Ishounkina internet research-projects
 
E travel13
E travel13E travel13
E travel13
 
Orlova pay u group_290813_
Orlova pay u group_290813_Orlova pay u group_290813_
Orlova pay u group_290813_
 
Ep presentation (infographic 2013)
Ep presentation (infographic 2013)Ep presentation (infographic 2013)
Ep presentation (infographic 2013)
 
Iway slides e-travel_2013-11_ready
Iway slides e-travel_2013-11_readyIway slides e-travel_2013-11_ready
Iway slides e-travel_2013-11_ready
 
Data insight e-travel2013
Data insight e-travel2013Data insight e-travel2013
Data insight e-travel2013
 
Электронное Правительство как Продукт
Электронное Правительство как ПродуктЭлектронное Правительство как Продукт
Электронное Правительство как Продукт
 
Lean мышление / Специфика Lean Startup
Lean мышление / Специфика Lean StartupLean мышление / Специфика Lean Startup
Lean мышление / Специфика Lean Startup
 
Глобальный взгляд на мобильный мир (Nielsen)
 Глобальный взгляд на мобильный мир (Nielsen) Глобальный взгляд на мобильный мир (Nielsen)
Глобальный взгляд на мобильный мир (Nielsen)
 
Как россияне используют смартфоны (Nielsen)
 Как россияне используют смартфоны (Nielsen) Как россияне используют смартфоны (Nielsen)
Как россияне используют смартфоны (Nielsen)
 
Мобильный интернет в России (MailRuGroup)
Мобильный интернет в России (MailRuGroup) Мобильный интернет в России (MailRuGroup)
Мобильный интернет в России (MailRuGroup)
 
Meta Mass Media
Meta Mass MediaMeta Mass Media
Meta Mass Media
 
Karlovyvaryparti 130406024405-phpapp02
Karlovyvaryparti 130406024405-phpapp02Karlovyvaryparti 130406024405-phpapp02
Karlovyvaryparti 130406024405-phpapp02
 

Влад Селиверстов – Веб-сервер Phantom