SRE. Рецепты выживания в продакшене для инженера по надежности. Наталья Савенкова
Чтение книги онлайн.
Читать онлайн книгу SRE. Рецепты выживания в продакшене для инженера по надежности - Наталья Савенкова страница 8
![SRE. Рецепты выживания в продакшене для инженера по надежности - Наталья Савенкова SRE. Рецепты выживания в продакшене для инженера по надежности - Наталья Савенкова](/cover_pre1333357.jpg)
Интересно, что разные ухудшения в сетевой инфраструктуре способны вызывать разные эффекты в вашей сложной системе. Например, при внезапном исчезновении сети во время обработки запроса один компонент может послать другому компоненту повторную попытку (перезапрос). Но в ситуации, когда один компонент начал получать данные на свой запрос, а сеть в это время отключилась, эффекты могут быть другие. Или представим себе ситуацию, когда один компонент данных начал передавать данные другому компоненту, который их запросил, но делает это неприемлемо медленно – что будет происходить в вашей системе? У нас однажды в свитче порт переключился с гигабита на сто мегабит и всё начало тормозить. Мы очень долго выясняли, что происходит.
Чтобы правильно оценить влияние неполадок в сетевой инфраструктуре на вашу систему, нужно проводить испытания разными способами: отключение части сети, замедление скорости передачи данных, “моргание” сети…
Если вы думаете, что облачная инфраструктура полностью ограждает вас от этих проблем, вы ошибаетесь. Она тоже ломается. Проведите испытания своей системы в локальной среде, на работу которой вы можете повлиять. С какой-то вероятностью вам удастся найти места для улучшения, которые уберегут вашу систему от поломки в реальных условиях.
21. Никому не верьте
Совет для тех, кто уже познал сущность бытия. Какие бы профессионалы вас не окружали, какую бы документацию вы не читали, в какой бы код вы не смотрели, важно знать главное правило – ошибаются все. Код пишут люди, документацию пишут люди, на ваши вопросы тоже отвечает люди. Человек может с полной уверенностью в себе давать ответ на ваш вопрос, даже не подозревая, что он ошибается или что его информация устарела, а может быть он просто стесняется признаться, что он не знает ответа.
Если вы несёте ответственность за работу действительно важной системы, возьмите себе за правило проверять всю новую информацию, которая к вам поступает, и которая может оказать влияние на надёжность вашей системы. В вопросах надёжности нет места таким явлением, как “мне кажется”, “мне так сказали”, “ну скорее всего это так”… Важны только факты.
И даже то, что я тут пишу, тоже проверяйте.
22. Стандартизируйте процессы
Если есть какой-то рискованный процесс, производимый вручную, лучше если он всегда будет проходить по одинаковой схеме, последствия и риски которой вам известны.
Представим себе, что у вас есть многошаговая процедура по перезагрузке нескольких компонентов в системе. По каким-то личным причинам эту процедуру вы проводите вручную. Запишите себе эту конкретную последовательность действий по выполнению процедуры. Не нужно каждый раз пытаться оптимизировать процесс, меняя последовательность, пропуская шаги и добавляя новую энтропию в систему.
Пытаться в каждом случае придумать новый порядок действий, чтобы минимально затронуть ваш хрупкий продакшен, сделать