43
Дмитрий Химион Avito 1 Измерение Production инцидентов: цена качества

Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

  • Upload
    others

  • View
    40

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Дмитрий Химион Avito

1

Измерение Production инцидентов: цена качества

Page 2: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

2

Дмитрий Химион

Head of Quality Assurance в Avito

О себе

Page 3: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

План:

• Погружение в контекст

• Типовые ситуации из опыта работы с инцидентами

• Как процесс работает в Авито

• Измерение инцидентов

• Тонкие моменты

• Итоги

• Вопросы

3

Page 4: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

• ≈ 40 кросс-функциональных команд

Погружение в проблематику

4

Page 5: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

• ≈ 40 кросс-функциональных команд

• > 1 инцидента в рабочий день

Погружение в проблематику

5

1 инцидент на команду в месяц

Page 6: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

• ≈ 270 Production инцидентов в год

Погружение в проблематику

6

Page 7: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

• №1 Well known

7

Погружение в проблематику. Прозрачность

Page 8: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

8

Что-то упало, подняли… Не понятно, что это было…

Такое больше не повторится…

• №1 Well known

• №2 Who knows?!

Погружение в проблематику. Прозрачность

Page 9: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

9

• №1 Well known

• №2 Who knows?!

• №3 Полтергейст

RPS

Погружение в проблематику. Прозрачность

Page 10: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

10

Погружение в проблематику. Видимость&Опасность

User

Critical отчет

Бизнес данные

Page 11: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

11

Погружение в проблематику. Видимость&Опасность

old connection

new connection

old master

new master

Read only

Микро-сервис

Page 12: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

12

Погружение в проблематику. Видимость&Опасность

Микро-сервис

DNS resolving

replica

master

Page 13: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

13

Инцидентов не избежать – учись с ними работать!

Page 14: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

14

Как процесс Live Site Review построен в Авито

ВнешнийProduction incident

Page 15: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

15

Как процесс Live Site Review построен в Авито

ВнешнийProduction incident

ВнутреннийInternal incident

Page 16: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

16

Как процесс Live Site Review построен в Авито

1

Page 17: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

17

Как процесс Live Site Review построен в Авито

1 2

Page 18: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

18

Для простых, маленьких и понятных инцидентов

Как процесс Live Site Review построен в Авито

Page 19: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

19

Как процесс Live Site Review построен в Авито

команда

Page 20: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

1. Влияние

2. Первопричина

3. Триггер

4. Как ликвидировали

5. Как обнаружили

6. Action Items

7. Платформа

8. Команда

20

Как процесс Live Site Review построен в Авито

Ключеваяинформация по

инциденту

Page 21: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние!

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

21

Как процесс Live Site Review построен в Авито

1.Пользователи2.Деньги3.Данные

> 20 «sorry-points» – на встречу

Page 22: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

22

Как процесс Live Site Review построен в Авито

1. Не протестировали2. Нет анализа изменений3. Нет обратной совместимости4. Кривая конфигурация5. Игнорировали риск

Page 23: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

23

Как процесс Live Site Review построен в Авито

Катализатор

проявлениядефекта

Page 24: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

24

Как процесс Live Site Review построен в Авито

Time line:02-14 18:07 Выкатка релиза https://jr.ru/AV-5586302-14 18:26 Сработал триггер http://m.k.a.ru/triggerВ этот раз никто из команды не проверил, что триггер откатился обратно02-14 23:28 Появился тред https://slack от саппорта02-14 23:56 Мне позвонили, сообщили о проблеме02-15 00:04 Локализовали проблему, подняли кипиш02-15 01:24 Nikolay подготовил хотфикс http://stash02-15 02:14 Хотфикс раскатился02-15 02:16 Запросы пришли в норму

Page 25: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

25

Как процесс Live Site Review построен в Авито

1. Исправили на Canary релизе2. Заметили быстрее пользователей3. Узнали из мониторинга4. Сообщение от саппорта5. От руководителя

6. Из СМИ

Page 26: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

26

Как процесс Live Site Review построен в Авито

1. Настроить мониторинг2. Настроить alert3. Написать авто-тесты4. Добавить активность в грумминг5. Изменить инженерные практики6. Рефакторинг компонента

Page 27: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

27

Как процесс Live Site Review построен в Авито

1. Android2. iOS3. Web4. API5. Service layer6. Storage layer7. Hardware layer8. Kubernetes layer

Page 28: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Влияние

Первопричина

Триггер

Как ликвидировали

Как обнаружили

Action Items

Платформа

Команда

28

Как процесс Live Site Review построен в Авито

SellerX, BuyerX, Billing, Monetization, ….

Page 29: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

29

Что измеряем?

1. Клиентский капитал

2. Финансовые потери

3. Потеря данных

Page 30: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

30

Что измеряем?

1. Клиентский капитал

2. Финансовые потери

3. Потеря данных

1. Пользователи видели баг2. Продуктовые конверсии3. Регистрации4. Авторизации

Page 31: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

31

1. Клиентский капитала

2. Финансовые потери

3. Потеря данных

Что измеряем?

1. Потенциально недополученная прибыль

2. Провалы в биллинге3. Монетизационные инструменты

Page 32: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

32

1. Клиентский капитала

2. Финансовые потери

3. Потеря данных

Что измеряем?

1. Аналитические данные2. Пользовательские данные3. Технические данные

Page 33: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

33

Измерение инцидентов. Клиентский капитал

= { X*30 ; X*300 }

{ 11,4K; 114,3K }

Page 34: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

34

Измерение инцидентов. Финансовые

«sorry-points»

Biggest ≈ 130 sorry-points

Page 35: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

35

Измерение инцидентов. Потеря данных

≈2 million user requests

Page 36: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

36

Измерение инцидентов. Потеря данных

≈90 регистрацийпользователей

Page 37: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

37

Измерение инцидентов. Потеря данных

Контакты между пользователями

Page 38: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

38

Тонкие моменты

1. Распространение практики

Development culture

Page 39: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

1. Распространение практики

2. Временной ресурс

39

Тонкие моменты

Page 40: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

1. Распространение практики

2. Временной ресурс

3. «Люркинг» людей

40

Тонкие моменты

Page 41: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Для инженеров:

• Инцидент?! - «Устраняй ➜ Описывай ➜ Обсуждай»

• «Мы готовы к инциденту» vs «Пытаемся избежать всёго»

• Источник аргументов для приоритезации технических задач

Для руководителей:

• Понимание влияния сбоев на результат работы бизнеса

• «Рука на пульсе» состояния инженерии в XL разработке

• Принятие сложных решений своевременно

Итоги

41

Page 42: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Дмитрий Химион Head of Quality Assurance

Вопросы?

42

dmitry.khimion

Page 43: Измерение Production инцидентов: цена качества · Avito О себе. План: • Погружение в контекст • Типовые ситуации

Дмитрий Химион Head of Quality Assurance

Всем спасибо!

43

dmitry.khimion