Преждевременная оптимизация архитектуры / Евгений...
TRANSCRIPT
![Page 1: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/1.jpg)
Преждевременная оптимизация архитектуры
Евгений ПотаповАнтон Баранов
![Page 2: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/2.jpg)
Евгений ПотаповITSumma, генеральный директор
15 лет опыта системного администрирования
Компания основана в 2008 году
О нас
![Page 3: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/3.jpg)
О насАнтон БарановITSumma, начальник отдела по работе с клиентами
В прошлом - системный администратор Linux.
Более 7 лет опыта работы с Linux-системами и web-проектами различной сложности.
Последние три года тружусь над обеспечением стабильной работы highload-проектов для посетителей со всего мира.
![Page 4: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/4.jpg)
• Работаем с 2008 года• Штат 60 человек• Офисы в Иркутске,
Санкт-Петербурге и Москве• Более 200 клиентов• 100 активных чатов в
день• 150000 оповещений в
месяц
ITSumma
![Page 5: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/5.jpg)
![Page 6: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/6.jpg)
Откуда берется беда?
![Page 7: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/7.jpg)
Главные причины аварий•Ошибки в работе, связанные с новыми версиями приложения
![Page 8: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/8.jpg)
Главные причины аварий•Ошибки в работе, связанные с новыми версиями приложения•Проблемы, связанные с ростом нагрузки и масштабированием
![Page 9: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/9.jpg)
Главные причины аварий•Ошибки в работе, связанные с новыми версиями приложения•Проблемы, связанные с ростом нагрузки и масштабированием•Аварии, связанные с ошибками планирования архитектуры проекта
![Page 10: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/10.jpg)
Ошибки планирования архитектуры
![Page 11: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/11.jpg)
Ошибки планирования архитектуры•Новые решения создают дополнительную
сложность
![Page 12: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/12.jpg)
Ошибки планирования архитектуры•Новые решения создают дополнительную
сложность• Сложность уменьшает надежность эксплуатации
![Page 13: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/13.jpg)
Ошибки планирования архитектуры•Новые решения создают дополнительную
сложность• Сложность уменьшает надежность эксплуатации• Закон Луссера
![Page 14: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/14.jpg)
Закон Луссера
надёжность ракеты равна произведению надёжности всех компонентов, а не надёжности самого ненадёжного элемента
![Page 15: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/15.jpg)
Закон Луссера
![Page 16: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/16.jpg)
Причины создания сложности•Решение для данной проблемы уникальное
![Page 17: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/17.jpg)
Причины создания сложности•Решение для данной проблемы уникальное•О существующем решении не известно
![Page 18: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/18.jpg)
Причины создания сложности•Решение для данной проблемы уникальное•О существующем решении не известно•Решение известно, но оно неинтересное
![Page 19: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/19.jpg)
![Page 20: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/20.jpg)
Небольшой проект
Ожидаемая посещаемость после старта проекта
3000 – 5000 RPS
![Page 21: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/21.jpg)
Небольшой проект«Облако – это очень надежно»
Падения Amazon Web Services:21 апреля 2011 года: US East – 53 часа7 августа 2011 года: EU West – 36 часов29 июня 2012 года: US East – 7 часов20 сентября 2015 года: US East – 5 часов4 июня 2016 года: AWS Sydney – 5 часов
![Page 22: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/22.jpg)
Небольшой проект«Облако масштабируется»Большинство хостингов в РФ – 12 ядер, максимум 24 – дальше – горизонтальное масштабирование
![Page 23: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/23.jpg)
Небольшой проектПроще и надежнее железного сервера ничего нет
![Page 24: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/24.jpg)
Небольшой проект…но и там бывают проблемыГоризонтальное масштабирование и резервирование проекта:•Балансировка web-инстансов•Балансировка нагрузки на БД
![Page 25: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/25.jpg)
Небольшой проект
Проект T: резервные инстансы находятся на одних и тех же физических серверах
![Page 26: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/26.jpg)
Небольшой проектРезервирование•Резервная площадка должна быть в другом ЦОДе•Виртуализация добавляет осложнений•Резерв это не бэкап
![Page 27: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/27.jpg)
Распределение нагрузки между БД
Проект Х: пост не успевает появиться в списке после создания записи
![Page 28: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/28.jpg)
Небольшой проектЗа чем следить:•Мониторинг статуса реплики•Мониторинг отставания репликации•Мониторинг консистентности репликации
синхронная репликация не панацея
![Page 29: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/29.jpg)
Несколько web-серверов – единый балансировщик
Проект F: падение балансировщика приводит к падению всего проекта
![Page 30: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/30.jpg)
Несколько web-серверов – единый балансировщик
Проект F: падение узла без failover портит весь трафик (а не треть)
![Page 31: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/31.jpg)
Небольшой проектНесколько web-серверов – общие данные – NFS•Простое, понятное решение•Нет проблем с синхронизацией данных•Понятная настройка
![Page 32: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/32.jpg)
Небольшой проектПроблемы с NFS:•Сбой связи между NFS-сервером и web-сервером•Восстановление работоспособности требует перезагрузки
![Page 33: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/33.jpg)
Небольшой проектДеплой•Git pull – неинтересно•CI – очень интересно
![Page 34: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/34.jpg)
Небольшой проектДеплой•CI – необходим контроль информационной схемы•CI – overhead на внедрение•CI – дополнительная сложность во время деплоя
![Page 35: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/35.jpg)
Средний проектВыбор замены для NFS:CEPH? Слишком сложно, а для конфигурирования, нет времени- MOOSEFS!
![Page 36: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/36.jpg)
Средний проектMooseFS•Всё идеально, но…
![Page 37: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/37.jpg)
Средний проектMooseFS•Сбой по питанию
![Page 38: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/38.jpg)
Средний проект
![Page 39: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/39.jpg)
Средний проектВыбор решения для хранения данных - вопрос открытый
![Page 40: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/40.jpg)
Средний проектОшибки системы деплоя:•Различие dev и prod баз данных по количеству данных
![Page 41: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/41.jpg)
Средний проектОшибки системы деплоя:•Различие dev и prod баз данных по количеству данных•Не учитывается нагрузка на prod
![Page 42: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/42.jpg)
Средний проектОшибки системы деплоя:•Различие dev и prod баз данных по количеству данных•Не учитывается нагрузка на prod•Разные конфигурации ПО dev и prod серверов
![Page 43: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/43.jpg)
Средний проектОшибки системы деплоя:•Различие dev и prod баз данных по количеству данных•Не учитывается нагрузка на prod•Разные конфигурации ПО dev и prod серверов•Разное «железо» у stage и prod
![Page 44: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/44.jpg)
Высокая нагрузка на БД
![Page 45: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/45.jpg)
Средний проектНа что надеемся?•Апгрейд «железа» вместо оптимизации запросов к БД
![Page 46: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/46.jpg)
Средний проектНа что надеемся?•Апгрейд «железа» вместо оптимизации запросов к БД•«Тюнинг сервера»
![Page 47: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/47.jpg)
Средний проектНа что надеемся?•Апгрейд «железа» вместо оптимизации запросов к БД•«Тюнинг сервера»•Переход на другую БД
![Page 48: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/48.jpg)
Средний проект•Сбор статистики и анализ долгих запросов
![Page 49: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/49.jpg)
Средний проект•Сбор статистики и анализ долгих запросов•Сбор статистики по числу запросов
![Page 50: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/50.jpg)
Средний проект•Сбор статистики и анализ долгих запросов•Сбор статистики по числу запросов•Кластеризация данных
![Page 51: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/51.jpg)
Крупный проект•Любовь к новым технологиям и «построению архитектур»•Безоговорочная вера в автоматизацию•Отсутствие регулярных аудитов производительности
![Page 52: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/52.jpg)
Крупный проект«Любовь к новым технологиям»•«мы хотим как-то использовать докер и консул в своем проекте»
![Page 53: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/53.jpg)
Крупный проект«Любовь к новым технологиям»•«мы хотим как-то использовать докер и консул в своем проекте»•«обновление конфигурации только через chef»
![Page 54: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/54.jpg)
Крупный проект«Любовь к новым технологиям»•«мы хотим как-то использовать докер и консул в своем проекте»•«обновление конфигурации только через chef»•«давайте сделаем кластер»
![Page 55: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/55.jpg)
Крупный проект«Любовь к новым технологиям» - как жить?•Нельзя использовать технологии ради технологий•Простые действия становятся сложными – об этом
надо помнить
![Page 56: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/56.jpg)
Крупный проектВера в автоматизацию•«Наш кластер будет отказоустойчивым»
![Page 57: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/57.jpg)
Крупный проектВера в автоматизацию•«Наш кластер будет отказоустойчивым»•«Оно само перебалансируется в случае аварии»
![Page 58: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/58.jpg)
Крупный проектВера в автоматизацию•«Наш кластер будет отказоустойчивым»•«Оно само перебалансируется в случае аварии»•«Наш стек технологий полностью исключает такую
ситуацию»
![Page 59: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/59.jpg)
Вера в автоматизацию - как жить?
![Page 60: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/60.jpg)
Крупный проектНе забываем про оптимизацию:•1 страница – 8000 запросов к SQL•Частые деплои – отсутствие профилирования•Отсутствует регулярный аудит производительности
![Page 61: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/61.jpg)
Бомба замедленного действия:
Проект К: рост нагрузки на CPU не пропорционален росту траффика
![Page 62: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/62.jpg)
Бомба замедленного действия:
Проект К: каждый деплой немного увеличивает время ответа
![Page 63: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/63.jpg)
Вместо выводов•Не все новое – хорошее
![Page 64: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/64.jpg)
Вместо выводов•Не все новое – хорошее•Не все интересное – нужное
![Page 65: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/65.jpg)
Вместо выводов•Не все новое – хорошее•Не все интересное – нужное•Не все крутое – полезное
![Page 66: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/66.jpg)
Вместо выводов•Не все новое – хорошее•Не все интересное – нужное•Не все крутое – полезное•Во многой мудрости много печали
![Page 67: Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITSumma)](https://reader035.vdocuments.pub/reader035/viewer/2022062316/586f90451a28ab54768b7907/html5/thumbnails/67.jpg)
Евгений Потаповhttp://facebook.com/eapotapov
Антон Баранов
https://www.facebook.com/anton.s.baranov
http://itsumma.ru
Вопросы?