Картинки к моему выступлению в Ростове про проектирование крупных веб-систем. Сам рассказ без глубоких технических деталей. Тут скорее про идеологию
1 of 20
Download to read offline
More Related Content
Точка кипения: проектирование крупных веб-систем
1. Impact Mapping: планирование
разработки продукта с учетом
бизнес целей
Александр Бындю (byndusoft.com)
Проектирование архитектуры
крупных веб-проектов
Роман Ивлиев (banki.ru)
2. О себе
2002-....
• Тестировщик
• Разработчик
• Руководитель
разработчиков
• Руководитель
тестировщиков
• Руководитель проектов
• CTO
• CIO
5. Крупные проекты:
примеры
• Биржи
• Трейдинговые системы
• Космические вычисления
• Вычисления климата
• Информационные системы гос. структур
• Нетрадиционные банки (Дойче банк, например)
6. Два основных
направления развития
• Как решать существующие задачи используя
меньше ресурсов
• Как решать пропорционально больше задач при
увеличении ресурсов
8. Крупные проекты:
решения
• Языки программирования и фреймворки
• Веб-акселераторы
• СУБД (в т.ч. NoSQL)
• In-memory решения (кэш, СУБД)
• Сервера очередей
• Front-end-библиотеки
• Распределенные хранилища и средства вычисления
12. Важно помнить
• Нет стандарта на разработку крупных систем;
• Не всё нужно здесь и сейчас;
• Иногда самое простое примитивное решение
является самым эффективным;
• То, что делают «большие дяди», почти
наверняка вам не нужно
• Hype – это здорово, но опасно
13. Планирование
приложения
• Трехслойная архитектура
• Сервисная архитектура
• Введение дополнительных уровней абстракции
• Модульность на всех уровнях
• Интеграция независимых приложений
• Использование внешних сервисов
16. Планирование
инфраструктуры
• Простота внесения изменений
• Скорость внесения изменений
• Скорость отката изменений
• Простота демонстрации и тестов
• Подготовка персонала
• Подготовка мониторинга
18. Потери
• Потери из-за перепроизводства (лишние мощности)
• Потери времени из-за ожидания (низкая скорость, блокировки)
• Потери при ненужной транспортировке ( «длинные сети»)
• Потери из-за лишних этапов обработки (овнокод)
• Потери из-за лишних запасов (лишние объемы данных)
• Потери из-за ненужных перемещений (репликация и
дублирование)
• Потери из-за выпуска дефектной продукции (овнокод++)
20. Немного ссылок
• https://www.youtube.com/watch?v=pn7IT_cG8ck – Алексей Рыбак.
Основы построения высоконагруженных проектов. Мастер-класс. 5
часов. Много технических деталей
• https://www.youtube.com/watch?v=CNVOWgLTmr0 – Олег Бунин.
Мини-мастер класс по нагруженным системам. Много про паттерны
разработки. Доступно и толково
• https://www.youtube.com/watch?v=JZiQKgx2HJM – Олег Анастасьев.
Распределённые системы в Одноклассниках. Как «взрослые дяди»
делают хайлод
• https://www.youtube.com/watch?v=tFdEi5ahUkA – Роман Ивлиев. Как
Банки.ру пережили утроение нагрузки. Про экстремальную
разработку веб-проекта