Словарь SRE: с инженерного на человеческий¶
| Термин (англ.) | Термин (рус.) | Человеческий перевод |
|---|---|---|
| SRE (Site Reliability Engineer) | Инженер по надежности | Следит, чтобы разработка и работа сервиса или продукта шла по правилам и никто не сделал себе больно. |
| SLO (Service Level Objective) | Целевой уровень обслуживания | План по надою молока. Ты не ждешь от буренки 100 литров в день, это тупо. Ты ставишь реалистичную цель: 20 литров. Если буренка дает 20 - ты доволен. SLO это та цифра, на которую вы договорились с бизнесом, чтобы считать, что сервис "работает хорошо". |
| SLI (Service Level Indicator) | Индикатор качества обслуживания | Счетчик надоя. Это не план, это фактическое значение. Та самая цифра, которую ты видишь на датчике доильного аппарата. Не то, что ты планировал, а то, что получилось реально. |
| SLA (Service Level Agreement) | Соглашение об уровне обслуживания | Официальное обещание с последствиями. Это SLO, за которое ты отвечаешь рублем перед клиентом, например: "Если буренка даст меньше 20 литров три дня подряд, я верну вам стоимость корма". SLA бывают только там, где есть юридический договор с прописанными в нем компенсациями. |
| Error Budget | Бюджет ошибок | Бюджет на шалости. Допустим, вы договорились, что сервис должен работать 99,9% времени (SLO). Оставшиеся 0,1% времени простоя это и есть ваш "бюджет". Пока лимит не исчерпан можно выпускать кривые и опасные фичи. Закончился? Чини ошибки. |
| Toil | Ручные действия | Перекладывание бумажек с места на место. Это работа, которую делают инженеры вручную, и она не приносит большой пользы. Например, каждый день вручную перезагружать сервер или отвечать на одни и те же вопросы "А почему у меня почта не работает?". Нормальные SRE это ненавидят и автоматизируют. |
| Reliability | Надежность | Старый дедушкин холодильник ЗиЛ. Включаешь - гудит. Выключаешь - гудит. Морозит всегда. Уже сорок лет. Вот это надежность. В отличие от новомодной штуковины с сенсорами, которая зависает и требует перезагрузки по 10 раз в неделю. |
| Availability | Доступность | Работает ли кофемашина прямо сейчас? Это просто бинарный показатель: можешь ли ты налить себе кофе в данный момент? Если можешь - кофемашина доступна. Если не можешь - то не можешь :) |
| Latency | Задержка | Время ожидания, пока тебе бариста отдаст твой кофе. Это не про то, сломана кофемашина или нет. Это про то, как долго ты стоишь в очереди, пока бариста наконец соизволит принять заказ и налить тебе эспрессо. Долгое ожидание (высокая задержка, большая очередь) бесит так же, как и поломка. |
| p^95 / p^99 latency | 95-й / 99-й процентиль задержки | Сколько ждут самые нетерпеливые? Среднее время ожидания может быть 2 минуты. Но p^95 говорит о том, что 95% посетителей ждут не больше 5 минут, а 5% самых невезучих еще дольше. Это позволяет понять, насколько сильно хвост очереди портит жизнь реальным людям. |
| Postmortem | Разбор полетов | Разбор авиационного происшествия. После того, как самолет упал, собирается комиссия из специалистов и разбираются: почему это произошло, какие болтики и где открутились, что нужно сделать, чтобы это никогда не повторилось. Культура SRE требует, чтобы постмортемы были без обвинений. |
| MTTR (Mean Time To Recover) | Среднее время восстановления | Среднее время для нескольких случаев от момента "Все пропало!" до момента "фух, заработало!" Чем оно меньше, тем SRE круче. |
| MTBF (Mean Time Between Failures) | Среднее время между отказами | Сколько холодильник работает без поломок. Это про долгожительство. Если MTBF большой - техника (сервис) стабильная, ломается редко. Маленький - сыпется каждые пять минут, дешевле выкинуть и купить нормальную, чем постоянно чинить. |
| Capacity Planning | Планирование мощностей | Закупка продуктов на Новогоднее застолье. Ты знаешь, что обычно к вам приходит 10 гостей. Но на Новый год их будет 20. Чтобы оливье не кончился через час, нужно заранее закупить в 2 раза больше продуктов. |
| Scalability | Масштабируемость | Резиновые штаны :) Ты похудел и штаны висят. Поправился и еле натягиваешь. Хороший сервис умеет "растягиваться": когда приходит много клиентов, он подключает дополнительные мощности, а когда клиенты уходят то отключает, чтобы не тратить электричество зря. |
| Idempotency | Идемпотентность | Кнопка закрытия дверей в лифте. Можно нажать один раз. Можно нажать десять раз. Можно бить по ней кулаком минуту. Результат будет один и тот же и всегда один: двери закроются один раз. Ошибки не будет, лишних действий тоже. В IT это значит, что повторение операции не наносит вреда. |
| Feature Flag | Функциональный флаг, переключатель | Скатерть-самобранка с секретом. Вы ставите на стол новое блюдо (фичу), но оно под колпаком. Вы можете убрать колпак для всех сразу или только для некоторых (включить флаг). Если блюдо кому-то не понравилось (сломало прод), вы мгновенно накрываете его колпаком обратно, даже не унося со стола. Странная аналогия, но ничего не смог придумать лучше :) |
| Rollback | Откат | Ctrl+Z. Выпустили обновление, и всё сломалось. Не надо чинить код. Просто жмете Ctrl+Z (откатываетесь на старую версию), и сервис снова работает, пока вы спокойно ищете баг. |
| Blameless Culture | Культура без обвинений | Правило детского сада: "Ябедничать плохо, а рассказать воспитателю, что Петя разлил краску, чтобы вместе убрать - хорошо". Когда что-то ломается, ищут не фамилию, кого наказать, а слабое место в системе. Главный вопрос не "кто это сделал?", а "как сделать так, чтобы это больше никогда не повторилось?". |
Список будет расширяться :)