SlideShare a Scribd company logo
Технологии больших веб-проектов
завтра и послезавтра.
Никита Семенов
SECL Group / Internet Sales Technologies
Рассуждение: технологии с
точки зрения бизнеса.
Из прошлого в будущее
10 лет назад
PHP, Java, Perl, С# и т.д.
Сегодня
JS, Python, Ruby, C#, PHP,
Java и т.д.
Через 10 лет
JS, Scala, Go, Java, ХХХ?
Тренды за последние 2 года
JavaScript(ES6)
Python
Scala
Go
Swift
Антитренды за последние 2 года
PHP
Ruby
Java
Objective-C
Perl
Смотрим в завтра
Angular2 + Webpack + Firebase
(BaaS)
Ресурсы или сколько стоят технари?
C# – 2100$
Java – 2200$
JS – 2100$
PHP – 1700$
Python – 2200$
Ruby – 2300$
Scala – 3200$
А сколько на западе?
Кого сейчас не хватает на западе?
Native language, Framework или CMS?
VS
Команда проекта
VSСвоя Внешняя
Проектирование и динамика
Технологии больших проектов
Технологии больших проектов
Архитектор — тот, кто знает
разницу между тем,
что можно сделать, и тем,
что следует сделать
© L. McVoy
Архитектура
Instagram
(данные Insight IT)
UbuntuLinux 11.04 - основная
операционная система
Python - основной язык
программирования серверной части
Django - фреймворк
nginx - второй уровень балансировки
входящих HTTP-запросов
gunicorn - WSGI-сервер
HAProxy - балансировка нагрузки
внутри системы
PostgreSQL - основное хранилище
данных
postgis - поддержка гео-запросов
pgfouine - отчеты на основе логов
pgbouncer - создание пула соединений
Redis - дополнительное хранилище
данных
Memcached - кэширование
Gearman - очередь задач
Solr - гео-поиск
munin, statsd, pingdom - мониторинг
Fabric - управление кластером
xfs - файловая система
Архитектура
Tumblr
(данные Insight IT)
CentOS на серверах, Mac OS X для
разработки
Apache - основной веб-сервер
PHP, Scala, Ruby - языки
программирования
Finagle - асинхронный RPC сервер и клиент
MySQL, HBase - СУБД
memcached, Redis - кэширование
Varnish, nginx - отдача статики
HAProxy - балансировка нагрузки
kestrel, gearman - очередь задач
Thrift - сериализация
Kafka - распределенная шина сообщений
Hadoop - обработка статистики
ZooKeeper - хранение конфигурации и
состояний системы
git - система контроля версий
enkins - непрерывное тестирование
Архитектура
YouTube
(данные Insight IT)
Linux - операционная система
Apache - основной HTTP-сервер
lighttpd - отдача видео из YouTube CDN
Zookeeper - распределенные блокировки,
хранение конфигураций
Python:
wiseguy - FastCGI-прослойка между Apache
и Python
pycurl - лучшая доступная реализация
HTTP-клиента, но в итоге все равно
заменили на самописное низкоуровневое
решение, выиграв 8% в потреблении
вычислительных ресурсов.
spitfire - высокопроизводительный
шаблонизатор на основе абстрактного
синтаксического дерева с регулируемым
уровнем оптимизации (как в gcc)
bson в качестве формата сериализации
BigTable - хранение изображений
MySQL - используется просто как
хранилище данных, версия 5.1.52 с InnoDB
Vitess - система для масштабирования
MySQL-кластера
Сравнение технологий для Front end
Параметр
Сообщество
Популярность
Функциональность
Гибкость
Производительность
Открытые наработки
Зрелость
Документация
Года выпуска
Итого:
AngularJS
9
9
8
7
7
10
9
9
2009
68
BackboneJS
10
6
6
9
8
9
8
7
2010
63
EmberJS
8
10
9
6
8
7
7
6
2011
61
KnockoutJS
7
6
7
7
7
6
7
7
2010
54
CanJS
6
5
8
8
10
6
8
9
2012
60
Сравнение технологий для Back end:
PHP, Python, Java, Ruby, JS
Параметр
Сообщество
Возможности
Гибкость
Документация
Производительность
Скорость разработки
Открытые наработки
Зарплата разработчика
Зрелость
Итого
PHP
10
4
5
10
2
10
10
2600$
8
59
PYTHON
5
8
6
9
5
10
5
3000$
4
52
JAVA
9
10
9
10
9
7
10
3500$
9
73
RUBY
3
7
6
10
5
9
3
3000$
4
47
JS
10
3
3
7
8
5
6
3200$
6
48
Примеры высоконагруженных
сайтов
PHP: Facebook, Вконтакте, КиноПоиск
Python: Instagram, Pinterest, Reddit
Java: Ebay, Amazon, Alibaba
Ruby: 500px, Groupon, Airbnb
JS: LinkedIn, Walmart, PayPal
БД. SQL VS NoSQL
Select
Insert
Update
Insert with configuration
Update with configuration
PostgreSQL
6
503
38
494
38
MySQL
4
1914
50
1914
50
MongoDB
34
633
3
633
2
QA. Как много в этом слове
Unit тесты увеличивают
работу программиста
на 30-50%
Mobile. Кроссплатформенность
или нативные?
Сервера и нагрузки
На чем сделаны проекты за
последние 10 лет?
Airbnb – Ruby
Instagram – Python
Pinterest – Python
Foursquare – Python
Groupon – Ruby > JS
Twitter – Ruby > Scala
Uber - JS
Технологии сильно меняются
каждые 2-3 года
Спасибо за внимание!
S: www.secl.com.ua
E: president@secl.com.ua
M: +380 (99) 009-70-37
S: seclskype
F: https://www.facebook.com/semenov.nikita.andreevich
© Никита Семенов

More Related Content

What's hot

Python инструменты решения типичных задач
Python  инструменты решения типичных задачPython  инструменты решения типичных задач
Python инструменты решения типичных задач
PyNSK
 
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
Mail.ru Group
 
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Mail.ru Group
 
NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015
Shamim bhuiyan
 
Photon Network Course 2014
Photon Network Course 2014Photon Network Course 2014
Photon Network Course 2014
Alexander Sosnovskiy
 
Новые нереляционные системы хранения данных
Новые нереляционные системы хранения данныхНовые нереляционные системы хранения данных
Новые нереляционные системы хранения данныхVsevolod Dyomkin
 
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Mail.ru Group
 
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
HappyDev
 
Аналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времениАналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времени
CodeFest
 
Александр Сербул —1С-Битрикс — ICBDA 2015
Александр Сербул —1С-Битрикс — ICBDA 2015Александр Сербул —1С-Битрикс — ICBDA 2015
Александр Сербул —1С-Битрикс — ICBDA 2015
rusbase
 
Tuning HighLoad J2EE web application
Tuning HighLoad J2EE web applicationTuning HighLoad J2EE web application
Tuning HighLoad J2EE web application
Shamim bhuiyan
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)
Pavel Alexeev
 
Не SQL'ем единым
Не SQL'ем единымНе SQL'ем единым
Не SQL'ем единым
Alexander Byndyu
 
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Ontico
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»DataArt
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Ontico
 

What's hot (18)

Python инструменты решения типичных задач
Python  инструменты решения типичных задачPython  инструменты решения типичных задач
Python инструменты решения типичных задач
 
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
 
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
 
NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015
 
Highload 2011-demona
Highload 2011-demonaHighload 2011-demona
Highload 2011-demona
 
Photon Network Course 2014
Photon Network Course 2014Photon Network Course 2014
Photon Network Course 2014
 
Новые нереляционные системы хранения данных
Новые нереляционные системы хранения данныхНовые нереляционные системы хранения данных
Новые нереляционные системы хранения данных
 
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
 
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
 
Аналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времениАналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времени
 
Александр Сербул —1С-Битрикс — ICBDA 2015
Александр Сербул —1С-Битрикс — ICBDA 2015Александр Сербул —1С-Битрикс — ICBDA 2015
Александр Сербул —1С-Битрикс — ICBDA 2015
 
Tuning HighLoad J2EE web application
Tuning HighLoad J2EE web applicationTuning HighLoad J2EE web application
Tuning HighLoad J2EE web application
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)
 
Не SQL'ем единым
Не SQL'ем единымНе SQL'ем единым
Не SQL'ем единым
 
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
 

Similar to Технологии больших веб проектов завтра и послезавтра

IForum 2016: Никита Семенов. Серьезный подход к серьезным проектам
IForum 2016: Никита Семенов. Серьезный подход к серьезным проектамIForum 2016: Никита Семенов. Серьезный подход к серьезным проектам
IForum 2016: Никита Семенов. Серьезный подход к серьезным проектам
SECL
 
Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...
Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...
Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...
Lviv Startup Club
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Tanya Denisyuk
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Media Gorod
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)
Sergey Skvortsov
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
Cisco Russia
 
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо... PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
it-people
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
Slach
 
Middleware
MiddlewareMiddleware
Middleware
megakott
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Ontico
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
ITCrowd Almaty
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
Pavel Chertorogov
 
Автоматизация: технологии и средства
Автоматизация: технологии и средстваАвтоматизация: технологии и средства
Автоматизация: технологии и средства
Cisco Russia
 
Архитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.NetАрхитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.Net
GoSharp
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Ontico
 
Synergy
SynergySynergy
Tech day armenia for developers
Tech day armenia   for developersTech day armenia   for developers
Tech day armenia for developers
Alexey Bokov
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learning
Skolkovo Robotics Center
 
4CIO.ppt
4CIO.ppt4CIO.ppt
4CIO.ppt
BairDanilov1
 
4CIO.ppt
4CIO.ppt4CIO.ppt
4CIO.ppt
BairDanilov1
 

Similar to Технологии больших веб проектов завтра и послезавтра (20)

IForum 2016: Никита Семенов. Серьезный подход к серьезным проектам
IForum 2016: Никита Семенов. Серьезный подход к серьезным проектамIForum 2016: Никита Семенов. Серьезный подход к серьезным проектам
IForum 2016: Никита Семенов. Серьезный подход к серьезным проектам
 
Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...
Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...
Lviv PMDay 2016 S Микита Семенов: Як привести великий проект до успіху? Від і...
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо... PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
 
Middleware
MiddlewareMiddleware
Middleware
 
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
 
Автоматизация: технологии и средства
Автоматизация: технологии и средстваАвтоматизация: технологии и средства
Автоматизация: технологии и средства
 
Архитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.NetАрхитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.Net
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
 
Synergy
SynergySynergy
Synergy
 
Tech day armenia for developers
Tech day armenia   for developersTech day armenia   for developers
Tech day armenia for developers
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learning
 
4CIO.ppt
4CIO.ppt4CIO.ppt
4CIO.ppt
 
4CIO.ppt
4CIO.ppt4CIO.ppt
4CIO.ppt
 

Технологии больших веб проектов завтра и послезавтра

  • 1. Технологии больших веб-проектов завтра и послезавтра. Никита Семенов SECL Group / Internet Sales Technologies
  • 3. Из прошлого в будущее 10 лет назад PHP, Java, Perl, С# и т.д. Сегодня JS, Python, Ruby, C#, PHP, Java и т.д. Через 10 лет JS, Scala, Go, Java, ХХХ?
  • 4. Тренды за последние 2 года JavaScript(ES6) Python Scala Go Swift
  • 5. Антитренды за последние 2 года PHP Ruby Java Objective-C Perl
  • 6. Смотрим в завтра Angular2 + Webpack + Firebase (BaaS)
  • 7. Ресурсы или сколько стоят технари? C# – 2100$ Java – 2200$ JS – 2100$ PHP – 1700$ Python – 2200$ Ruby – 2300$ Scala – 3200$
  • 8. А сколько на западе?
  • 9. Кого сейчас не хватает на западе?
  • 10. Native language, Framework или CMS? VS
  • 15. Архитектор — тот, кто знает разницу между тем, что можно сделать, и тем, что следует сделать © L. McVoy
  • 16. Архитектура Instagram (данные Insight IT) UbuntuLinux 11.04 - основная операционная система Python - основной язык программирования серверной части Django - фреймворк nginx - второй уровень балансировки входящих HTTP-запросов gunicorn - WSGI-сервер HAProxy - балансировка нагрузки внутри системы PostgreSQL - основное хранилище данных postgis - поддержка гео-запросов pgfouine - отчеты на основе логов pgbouncer - создание пула соединений Redis - дополнительное хранилище данных Memcached - кэширование Gearman - очередь задач Solr - гео-поиск munin, statsd, pingdom - мониторинг Fabric - управление кластером xfs - файловая система
  • 17. Архитектура Tumblr (данные Insight IT) CentOS на серверах, Mac OS X для разработки Apache - основной веб-сервер PHP, Scala, Ruby - языки программирования Finagle - асинхронный RPC сервер и клиент MySQL, HBase - СУБД memcached, Redis - кэширование Varnish, nginx - отдача статики HAProxy - балансировка нагрузки kestrel, gearman - очередь задач Thrift - сериализация Kafka - распределенная шина сообщений Hadoop - обработка статистики ZooKeeper - хранение конфигурации и состояний системы git - система контроля версий enkins - непрерывное тестирование
  • 18. Архитектура YouTube (данные Insight IT) Linux - операционная система Apache - основной HTTP-сервер lighttpd - отдача видео из YouTube CDN Zookeeper - распределенные блокировки, хранение конфигураций Python: wiseguy - FastCGI-прослойка между Apache и Python pycurl - лучшая доступная реализация HTTP-клиента, но в итоге все равно заменили на самописное низкоуровневое решение, выиграв 8% в потреблении вычислительных ресурсов. spitfire - высокопроизводительный шаблонизатор на основе абстрактного синтаксического дерева с регулируемым уровнем оптимизации (как в gcc) bson в качестве формата сериализации BigTable - хранение изображений MySQL - используется просто как хранилище данных, версия 5.1.52 с InnoDB Vitess - система для масштабирования MySQL-кластера
  • 19. Сравнение технологий для Front end Параметр Сообщество Популярность Функциональность Гибкость Производительность Открытые наработки Зрелость Документация Года выпуска Итого: AngularJS 9 9 8 7 7 10 9 9 2009 68 BackboneJS 10 6 6 9 8 9 8 7 2010 63 EmberJS 8 10 9 6 8 7 7 6 2011 61 KnockoutJS 7 6 7 7 7 6 7 7 2010 54 CanJS 6 5 8 8 10 6 8 9 2012 60
  • 20. Сравнение технологий для Back end: PHP, Python, Java, Ruby, JS Параметр Сообщество Возможности Гибкость Документация Производительность Скорость разработки Открытые наработки Зарплата разработчика Зрелость Итого PHP 10 4 5 10 2 10 10 2600$ 8 59 PYTHON 5 8 6 9 5 10 5 3000$ 4 52 JAVA 9 10 9 10 9 7 10 3500$ 9 73 RUBY 3 7 6 10 5 9 3 3000$ 4 47 JS 10 3 3 7 8 5 6 3200$ 6 48
  • 21. Примеры высоконагруженных сайтов PHP: Facebook, Вконтакте, КиноПоиск Python: Instagram, Pinterest, Reddit Java: Ebay, Amazon, Alibaba Ruby: 500px, Groupon, Airbnb JS: LinkedIn, Walmart, PayPal
  • 22. БД. SQL VS NoSQL Select Insert Update Insert with configuration Update with configuration PostgreSQL 6 503 38 494 38 MySQL 4 1914 50 1914 50 MongoDB 34 633 3 633 2
  • 23. QA. Как много в этом слове
  • 24. Unit тесты увеличивают работу программиста на 30-50%
  • 27. На чем сделаны проекты за последние 10 лет? Airbnb – Ruby Instagram – Python Pinterest – Python Foursquare – Python Groupon – Ruby > JS Twitter – Ruby > Scala Uber - JS
  • 29. Спасибо за внимание! S: www.secl.com.ua E: president@secl.com.ua M: +380 (99) 009-70-37 S: seclskype F: https://www.facebook.com/semenov.nikita.andreevich © Никита Семенов