Читаем o fd19e75e1d80dff4 полностью

поздно развивать. Оплата страховки от пожара кажется бессмысленной ровно до того момента,

как ваш дом сгорает дотла.

Попытайтесь максимально разграничить свои основные и запасные системы. Одна из

причин, по которым люди арендуют ячейки в банке, как раз связана с тем, чтобы сохранить что-

то важное в случае пожара или кражи. Той же цели служит резервное копирование данных на

серверах, расположенных вне офиса: если с основными компьютерами компании что-то

произойдет, данные сохранятся в целости в другом месте.

Системы обеспечения бесперебойной работы, взаимосвязанные с основными системами,

могут нести с собой дополнительные риски. Худшее, что вы можете сделать, — это превратить

систему резервного копирования в часть системы, которую пытаетесь защитить. К примеру, будет

плохо, если поломка генератора приведет к проблемам в основной системе энергообеспечения

дома и внезапному отключению электричества. Аналогичным образом, использование

автоматизированной системы копирования данных окажется совершенно бесполезным, если в

результате ее работы ваши изначальные файлы будут уничтожены.

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

Если функционирование вашей системы зависит от критически важных входных элементов или

процессов, то стоит создать план действий на случай, если эти элементы недоступны, а рабочие

процессы нарушены. Что произойдет, если откажет ваша основная система?

Заранее планируйте механизмы обеспечения бесперебойной работы для всех важнейших

систем, и они станут настолько гибкими, насколько это возможно.

291

Тестирование в условиях стресса

Человек не в силах избегать ошибок, однако он способен учиться на ошибках и обретать

мудрость для будущей жизни.

Плутарх, древнегреческий историк, писатель

Предположим, вы создали гибкую систему, однако хотите убедиться в том, что она

действительно работает так, как вам надо. Каким образом вы могли бы ее протестировать?

Тестирование в условиях стресса представляет собой процесс определения границ

системы с помощью имитации определенных условий среды. Вместо того чтобы мыслить,

подобно инженеру системы, вы (с помощью тестирования в условиях стресса) выступаете от

имени «демона-разрушителя». Вы задаетесь вопросом: что нужно сделать, чтобы разрушить

созданную вами систему?

В самом начале работы над «Сам себе МВА», каждый раз, когда я загружал новую версию

списка рекомендованной для чтения литературы, мой веб-сервер «погибал с музыкой»: система

просто не справлялась с наплывом людей, пытавшихся зайти на мой сайт. Я несколько раз

выбирал новые системы, но каждый раз их мощностей было недостаточно.

Проблемы с сервером продолжались до тех пор, пока я всерьез не задумался о тестировании

в условиях стресса. Вместо того чтобы ждать притока посетителей, вырубавшего мой сайт, я

решил намеренно «разрушить» свою систему.

С помощью автоматизированного инструмента3 я имитировал огромное количество

посетителей, одновременно заходящих на мой сайт. Этот инструмент последовательно

увеличивал количество обращений к сайту и рассчитывал время отклика. По мере роста

количества обращений производительность сервера снижалась до тех пор, пока он не рухнул.

С помощью данных тестирования в условиях стресса я произвел целый ряд значительных

улучшений инфраструктуры и системы сайта. Теперь тысячи людей могут одновременно

посещать мой сайт, практически не мешая друг другу.

Стресс-тесты помогут вам лучше понять, как работают ваши системы. Если вы занимаетесь

производством, то могли бы имитировать одновременное поступление тысячи заказов и

проверить, сможете ли вы с ними справиться. Если вы занимаетесь поддержкой пользователей,

то можете имитировать одновременное поступление тысяч вопросов или жалоб. Ваша

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

внутреннему демону вырваться на волю и решите все основные проблемы до того, как они

помешают вашим реальным клиентам.

Планирование сценариев

292

Благоразумный видит беду и укрывается, а неопытные идут вперед и наказываются.

Книга притчей Соломоновых, 27:12

Никто не способен предсказать, что случится завтра, не говоря уже о том, что произойдет

через десять лет. В сущности, многие ваши планы и цели зависят от обстоятельств, находящихся

Перейти на страницу: