SlideShare a Scribd company logo
1 of 29
Production: жизнь только
      начинается

      Сергей Калинец
        @skalinets
Про меня
• Разрабатываю STP систему (middleware) в
  CompatibL

• Тренер scrumguides

• Ведущий клуба практического
  программирования на stratoplan.ru


28.01.2012        @skalinets                2
Какой-то отчет за 2009 год




                  ПРОЕКТЫ


28.01.2012             @skalinets         3
Продакшн
• Там разработчиков
  не любят

• Нельзя дебажить

• Нет доступа
  ВООБЩЕ


28.01.2012          @skalinets   4
Собираетесь отдохнуть?




28.01.2012           @skalinets       5
Но приходит бизнес




28.01.2012         @skalinets     6
С production багом
                        Чета как-то оно не
                        работает

                        Давайте починим

                        Бегом

                        БЕГОМ!!!

28.01.2012         @skalinets                7
Что же делать?




    @skalinets   8
Книгу на полку




28.01.2012       @skalinets   9
Стабильность
Способность системы выполнять транзакции
длительное время

Под давлением тоже




28.01.2012       @skalinets            10
Угрозы
• Утечки памяти

• Захват процессора одним потоком

• Флешмоб юзеров

• …

28.01.2012         @skalinets       11
Шота треснуло
                      В одном месте
                      сломалось…




28.01.2012       @skalinets           12
Шота треснуло
Если ничего не
делать, оно
расползется дальше




28.01.2012       @skalinets   13
Антипатерн: Точки интеграции
• Система зависит от них

• Каналы связи уязвимы

• Блокирующие вызовы

• Каскадные отказы

28.01.2012        @skalinets   14
Точки интеграции: что надо знать?
• Когда-то по любому бахнут

• Ошибки вряд ли будут внятными

• Их проблемы быстро становятся вашими

• Есть паттерны стабильности

28.01.2012        @skalinets             15
Паттерны стабильности

• Circuit Breaker (предохранитель)

• Timeouts (время -- всё)

• Handshaking (рукопожатие) и Heartbeat
  (пульс)

28.01.2012           @skalinets           16
Антипатерн: Пользователи
• Системы были бы намного стабильнее без
  них
• Бывают только на production

• Поглощают ресурсы

• Бывают злые

28.01.2012            @skalinets        17
Откуда ждать DDOS?




28.01.2012         @skalinets     18
Backlog (не scrum)




28.01.2012         @skalinets     19
Страница не грузица

             Что делают пользователи?




28.01.2012            @skalinets        20
Что с ними делать?

• Кешировать статические данные

• Тестировать более жестко

• Распознавать нежелательных гостей



28.01.2012         @skalinets         21
Медленные запросы

• Приводят к отказам

• Дают больше трафика

• Отпугивают
  пользователей

28.01.2012         @skalinets    22
Что делать
• Искать утечку ресурсов

• Отслеживать и возвращать ошибку СРАЗУ

• Подсказывать пользователям, что делать
  дальше



28.01.2012         @skalinets              23
Админы
• Они знают, как
  админить

• C ними нужно
  дружить

• Их нужно научить


28.01.2012           @skalinets   24
Плохие идеи
• Кнопка катапультирования около
  магнитолы

• Конфиги разбросанные по папкам

• Хардкод путей для логов



28.01.2012        @skalinets       25
Внятные сообщения в логах




28.01.2012        @skalinets        26
Итого
• На проде окружение отличается от вашего
  привычного

• К нему нужно готовиться

• Думайте вперед

• Прочитайте книгу Release It!

28.01.2012         @skalinets               27
Книгу на полку




28.01.2012       @skalinets   28
СПАСИБО!
  http://tdd4.net

Skype: sergiikalinets

kalinets@gmail.com

    @skalinets

More Related Content

Viewers also liked

Id Rather Have A Root Canal Than Pray Out Loud
Id Rather Have A Root Canal Than Pray Out LoudId Rather Have A Root Canal Than Pray Out Loud
Id Rather Have A Root Canal Than Pray Out LoudFrDoug
 
The Practice Of Prayer
The Practice Of PrayerThe Practice Of Prayer
The Practice Of PrayerFrDoug
 
College Mag Screen Shots
College Mag Screen ShotsCollege Mag Screen Shots
College Mag Screen Shotschloeee
 
Identity Of Jesus
Identity Of JesusIdentity Of Jesus
Identity Of JesusFrDoug
 
10 Fast Facts On The Constitution
10 Fast Facts On The Constitution10 Fast Facts On The Constitution
10 Fast Facts On The Constitutionmwiegand
 
Spiritual Gifts
Spiritual GiftsSpiritual Gifts
Spiritual GiftsFrDoug
 
The Power Of The Spirit
The Power Of The SpiritThe Power Of The Spirit
The Power Of The SpiritFrDoug
 
Media magazine powerpoint presentation
Media magazine powerpoint presentationMedia magazine powerpoint presentation
Media magazine powerpoint presentationchloeee
 
Music Magazine Evaluation
Music Magazine EvaluationMusic Magazine Evaluation
Music Magazine Evaluationchloeee
 
College Magazine Research
College Magazine ResearchCollege Magazine Research
College Magazine Researchchloeee
 
Music%20 Magazine%20 Research[1]
Music%20 Magazine%20 Research[1]Music%20 Magazine%20 Research[1]
Music%20 Magazine%20 Research[1]chloeee
 
Id Rather Have A Root Canal Than Pray Out Loud Part Two
Id Rather Have A Root Canal Than Pray Out Loud Part TwoId Rather Have A Root Canal Than Pray Out Loud Part Two
Id Rather Have A Root Canal Than Pray Out Loud Part TwoFrDoug
 
Toturial - Indesign CS4 - Português
Toturial - Indesign CS4 - PortuguêsToturial - Indesign CS4 - Português
Toturial - Indesign CS4 - PortuguêsCarina Lopes
 
Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET МіфиSerhiy Kalinets
 
The Truth Of Gods Word
The Truth Of Gods WordThe Truth Of Gods Word
The Truth Of Gods WordFrDoug
 
Behavior of the secretary and etiquette and protocol
Behavior of the secretary and etiquette and protocolBehavior of the secretary and etiquette and protocol
Behavior of the secretary and etiquette and protocolNiels Olivera Zurita
 
менеджеры против разработчиков
менеджеры против разработчиковменеджеры против разработчиков
менеджеры против разработчиковSerhiy Kalinets
 
Examination Of The Comatose Patient
Examination Of The Comatose PatientExamination Of The Comatose Patient
Examination Of The Comatose PatientSam George
 

Viewers also liked (20)

Id Rather Have A Root Canal Than Pray Out Loud
Id Rather Have A Root Canal Than Pray Out LoudId Rather Have A Root Canal Than Pray Out Loud
Id Rather Have A Root Canal Than Pray Out Loud
 
The Practice Of Prayer
The Practice Of PrayerThe Practice Of Prayer
The Practice Of Prayer
 
Molfiz
MolfizMolfiz
Molfiz
 
College Mag Screen Shots
College Mag Screen ShotsCollege Mag Screen Shots
College Mag Screen Shots
 
Identity Of Jesus
Identity Of JesusIdentity Of Jesus
Identity Of Jesus
 
10 Fast Facts On The Constitution
10 Fast Facts On The Constitution10 Fast Facts On The Constitution
10 Fast Facts On The Constitution
 
Spiritual Gifts
Spiritual GiftsSpiritual Gifts
Spiritual Gifts
 
The Power Of The Spirit
The Power Of The SpiritThe Power Of The Spirit
The Power Of The Spirit
 
Media magazine powerpoint presentation
Media magazine powerpoint presentationMedia magazine powerpoint presentation
Media magazine powerpoint presentation
 
Music Magazine Evaluation
Music Magazine EvaluationMusic Magazine Evaluation
Music Magazine Evaluation
 
College Magazine Research
College Magazine ResearchCollege Magazine Research
College Magazine Research
 
Music%20 Magazine%20 Research[1]
Music%20 Magazine%20 Research[1]Music%20 Magazine%20 Research[1]
Music%20 Magazine%20 Research[1]
 
Id Rather Have A Root Canal Than Pray Out Loud Part Two
Id Rather Have A Root Canal Than Pray Out Loud Part TwoId Rather Have A Root Canal Than Pray Out Loud Part Two
Id Rather Have A Root Canal Than Pray Out Loud Part Two
 
Toturial - Indesign CS4 - Português
Toturial - Indesign CS4 - PortuguêsToturial - Indesign CS4 - Português
Toturial - Indesign CS4 - Português
 
Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET Міфи
 
The Truth Of Gods Word
The Truth Of Gods WordThe Truth Of Gods Word
The Truth Of Gods Word
 
Behavior of the secretary and etiquette and protocol
Behavior of the secretary and etiquette and protocolBehavior of the secretary and etiquette and protocol
Behavior of the secretary and etiquette and protocol
 
менеджеры против разработчиков
менеджеры против разработчиковменеджеры против разработчиков
менеджеры против разработчиков
 
Examination Of The Comatose Patient
Examination Of The Comatose PatientExamination Of The Comatose Patient
Examination Of The Comatose Patient
 
Solid code via tdd
Solid code via tddSolid code via tdd
Solid code via tdd
 

More from Serhiy Kalinets

путь Xp практика
путь Xp практикапуть Xp практика
путь Xp практикаSerhiy Kalinets
 
Уберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuildУберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuildSerhiy Kalinets
 
Путь XP практика
Путь XP практикаПуть XP практика
Путь XP практикаSerhiy Kalinets
 
Xp в brown field разработке
Xp в brown field разработкеXp в brown field разработке
Xp в brown field разработкеSerhiy Kalinets
 
Functional programming in C#
Functional programming in C#Functional programming in C#
Functional programming in C#Serhiy Kalinets
 
Fubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мнеFubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мнеSerhiy Kalinets
 
Даёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруДаёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруSerhiy Kalinets
 
Зачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийЗачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийSerhiy Kalinets
 
вкалывают роботы, счастлив человек (Team city)
вкалывают роботы,  счастлив человек (Team city)вкалывают роботы,  счастлив человек (Team city)
вкалывают роботы, счастлив человек (Team city)Serhiy Kalinets
 
Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Serhiy Kalinets
 

More from Serhiy Kalinets (15)

CI adventures in .NET
CI adventures in .NETCI adventures in .NET
CI adventures in .NET
 
путь Xp практика
путь Xp практикапуть Xp практика
путь Xp практика
 
Уберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuildУберинструментарий для тех, кому надоел MSBuild
Уберинструментарий для тех, кому надоел MSBuild
 
Xp fun
Xp funXp fun
Xp fun
 
Do you speak TDD
Do you speak TDDDo you speak TDD
Do you speak TDD
 
Путь XP практика
Путь XP практикаПуть XP практика
Путь XP практика
 
Xp в brown field разработке
Xp в brown field разработкеXp в brown field разработке
Xp в brown field разработке
 
Functional programming in C#
Functional programming in C#Functional programming in C#
Functional programming in C#
 
Fubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мнеFubu mvc -- нафига оно мне
Fubu mvc -- нафига оно мне
 
Даёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашаруДаёшь асинхронность в массы, или как ускориться нашару
Даёшь асинхронность в массы, или как ускориться нашару
 
Clean code
Clean codeClean code
Clean code
 
Зачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версийЗачем нужны распределенные системы конторля версий
Зачем нужны распределенные системы конторля версий
 
Мой Скрамбат
Мой СкрамбатМой Скрамбат
Мой Скрамбат
 
вкалывают роботы, счастлив человек (Team city)
вкалывают роботы,  счастлив человек (Team city)вкалывают роботы,  счастлив человек (Team city)
вкалывают роботы, счастлив человек (Team city)
 
Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!Хотите драйва? Вам в TDD!
Хотите драйва? Вам в TDD!
 

Ready for prod

Editor's Notes

  1. Но нам повезло и мы прошли дальше, вышли в продакшенНеопытные – это конецА опытные -- …
  2. Колл на 20 чел
  3. Что такое система и транзакцииТипы давления (импульс или стресс)Примеры (амазон (возрастание потока сообщений) и кредитная карта)Давление вызывает напряжение (память или проц)
  4. Утечки происходят на проде, потому что в тестировании не те объемы и не то время работы. Не всегда можно воссоздать систему на QA уровнеНеправильный Можно долго придумывать, от чего оно бебанет
  5. что такое точки интеграцииУ нас нет над ними контроляКейс про mqв блокировках
  6. Их конечно надо, любить, есть поток любви, а мы поговорим о правдеOut of memory – еще легко отделались
  7. Добавляет печали в и без того печальный сервер
  8. Conversion rateНе все юзеры одинаково полезны
  9. Отказы – фигня, хуже того, что оно сначала тупит, а потом валица
  10. Кто должен читать логи?Кейс про locked