В мире технологий ставки никогда не были выше. Переход в облако и микросервисы, чтобы максимизировать гибкость, уступило место цифровым разрушителям и беспрецедентным конкурентным угрозам. Поскольку распределенные системы становятся все более сложными, масштаб «неизвестных неизвестных» увеличивается. Кроме того, ожидания клиентов высокие. Стоимость простоя катастрофична, когда клиенты готовы изложить, если их потребности не будут незамедлительно удовлетворены. Согласно Gartner , Средняя стоимость простоя составляет 300 000 долларов в час. Для некоторых компаний это число значительно выше; Например, Amazon потерял приблизительно 90 миллионов долларов во время своего ОТДЕЛ ПРАВДА ДЕНЬ В 2018 году, и отключение длилось всего 75 минут.
Организации должны расставить приоритеты в надежности, чтобы они могли как можно быстрее внедрять инновации в дополнение к прочной основе, которая не поставит под угрозу качество обслуживания клиентов. Это станет еще более важным, поскольку все больше предприятий движутся в направлении распределенных систем с высокими требованиями к надежности. Вот где входит инженерная инженерия сайта (SRE). Функция SRE быстро растет (30-70% роста господства в списках работы) , но на рынке недостаточно квалифицированных талантов, чтобы компенсировать. Другими словами, будет важно понять, как вы не можете просто нанять SRE, но и расширить свою существующую организацию, чтобы принять практику и мышление, необходимые для совершенства производства. С нехваткой SRES для найма, что вы можете сделать, чтобы обеспечить надежность вашего сервиса? Чтобы ответить на этот вопрос, вам понадобится более глубокое понимание того, что на самом деле есть.
SRE — это практика, сначала придуманная Google в 2003 году, которая направлена на создание систем и услуг, которые достаточно надежны, чтобы удовлетворить ожидания клиентов. С тех пор многие крупные организации, такие как LinkedIn и Netflix, приняли лучшие практики SRE. В последние годы SRE стал более широко принятым многими организациями во всем мире, с целью надежности и устойчивости в свете экспоненциально растущих ожиданий клиентов, а также сложности систем.
SRE основан на менталитете первого клиента. Это означает, что все усилия SRE связаны с удовлетворенностью клиентов, даже если клиенты, использующие сервис, на самом деле являются внутренними пользователями. Каждое решение должно привести к увеличению удовлетворенности клиентов. Команды работают вместе, чтобы определить, какие факторы и опыт влияют на счастье для клиентов, измеряют их, устанавливают цели и требования к надежности баланса с скоростью инноваций, необходимой для того, чтобы оставаться жизнеспособными на все более конкурентоспособном цифровом ландшафте.
Для достижения этой высокой цели SRES и команды, которые приняли лучшие практики SRE, относятся к нескольким ключевым принципам SRE. Согласно Google , это включает:
*Обеспечение долговечного внимания к инженерии * Преследуя максимальную скорость изменения без нарушения задачи уровня обслуживания (SLO) *мониторинга, включая оповещения, билеты и регистрацию *реагирование на чрезвычайные ситуации * Управление изменениями *Прогнозирование спроса и планирование потенциала *обеспечение, эффективность и производительность
Согласно Forrester 46% принципов могут быть применены из коробки для большинства программных групп на предприятии, но остальные требуют настройки или не имеют смысла для подавляющего большинства организаций. Важный вопрос, который нужно задать себе, заключается в том, как эти принципы вписываются в то, что вы уже делаете, и как ваши команды могут улучшиться.
Думайте о SRE как о практике, которая приносит жизнь философии DevOps. Основные принципы DevOps и SRE почти идентичны. Согласно Курс Google Coursera на SRE , «Class SRE реализует DevOps», принципы 5 DevOps следующие:
- Уменьшить организационные бункеры: SRE помогает, делясь владельцем между разработчиками и производственными командами, и объединив инструменты.
- Принять неудачу как обычно: Беспоненные посмерти — это наилучшая практика SRE, которая гарантирует, что все инциденты используются в качестве возможностей обучения. SRE также создает безопасное пространство и ограждения за неудачу с помощью бюджетов по SLO и ошибок.
- Реализовать постепенное изменение: Это делается путем развертывания в небольшом подмножестве клиентов, прежде чем позволить всем пользователям взаимодействовать с новыми функциями. Меньшие изменения проще и безопаснее для анализа и повторения.
- Использование инструментов и автоматизации: SRES работает над устранением труда, измеряя его и создавая автоматизацию для выполнения повторяющихся задач без необходимости вмешательства человека. Таким образом, люди могут сосредоточиться на работе с более высокой стоимостью.
- Измерить все: SRE специально фокусируется на измерении труда и надежности, чтобы убедиться, что как клиенты, так и команды программного обеспечения довольны сервисом.
С этими общими принципами, легко увидеть, как SRE и DevOps действительно хорошо соединяются друг с другом, с кодифицированными практиками SRE, которые облегчают выполнение обещаний DevOps. На самом деле, вы могли бы сказать, что SRE-это человеческая сторона DevOps, функция построения культуры, которая приближается к системам с людьми, которые их используют.
Инжиниринг устойчивости как практики рассматривают системы целостно, учитывая не только инфраструктуру, но и человеческие, процессы и культурные факторы. Без принятия культуры и мышления, стоящего за SRE, у вас просто будут новые процессы, не имеющие единой ценности в центре, чтобы сохранить инициативу на месте. Сосредоточение внимания на человеческом подходе к системам требует переоценки отношения вашей организации к трем важным вещам.
Практика владения вызовом и полным обслуживанием
Понятие по вызову важно в SRE по нескольким причинам. Он устанавливает четкое право собственности, чтобы обеспечить немедленно решание проблем с программным обеспечением, и по своей сути стимулирует разработчиков к доставке более эффективного кода. Но в то время как по вызову в настоящее время является довольно распространенной практикой, создание здорового, сбалансированного процесса имеет решающее значение для предотвращения выгорания. Никто не может быть вызовом 24/7, особенно когда инциденты в период по вызову активно нарушают личную жизнь инженеров. Людям нужно непрерывное время вдали от работы, чтобы быть в своих лучших проявлениях, поэтому обязанности по вызову необходимо тщательно контролировать. Если кто -то просыпается в 2 часа ночи каждую ночь в течение целого месяца, что -то не так; Это просто неустойчиво. Кроме того, более одного человека должны нести бремя. Вся команда разработчиков должна быть уполномочена быть вызовом, поэтому ответственность становится общей. Это также стимулирует разработчиков отправлять лучший код, чтобы не разбудить в 2 часа ночи.
Лучшие практики SRE поощряют лучшую упреждающую систему с надежной реактивной системой. Быть проактивным означает развитие сообщества постоянного обучения и улучшения. Когда ваши инженеры лучше подготовлены и учатся на предыдущих инцидентах, менее вероятно, что те же ошибки будут сделаны снова. Это снижает количество инцидентов, возникающих по мере созревания вашей практики SRE. С реактивной точки зрения, лучшая практика управления инцидентами может позволить оптимизированную связь во время инцидента и обеспечить основу для лечения инцидентов как «незапланированные инвестиции», поскольку они становятся важными возможностями обучения. Таким образом, посмертные средства дают инженерам место, чтобы начать смотреть, когда основная причина инцидента уклоняется от них. SRE дает тем, кто держит пейджер больше агентства.
Держать выгорание в страхе
Постоянные пожаротушения, особенно с жестким графиком по вызову, могут оставить инженеры чувствовать себя сожженными. Со временем выгорание приводит к высоким показателям оборота, что означает, что старшая инженерная инженерия должна будет забрать дополнительный провал, в то время как новые сотрудники увеличиваются. Это только увеличивает выгорание, что приводит к порочному циклу неудовлетворенных инженеров, у которых мало способности думать об улучшениях, и новым сотрудникам, которые не знают о том, с чего начать.
В этой ситуации подход SRE будет способствовать улучшению видимости в инженерных часах, периодах по вызову и повторению инцидентов. Каждая из этих проблем напрямую способствует выгоранию, однако многие организации не отслеживают их. Зная, какие инженеры потратили аномально высокие часы в течение длительного периода времени, команды могут предположить время отпуска, чтобы обуздать выгорание. Знание того, кто был на вызове каждые выходные за последний месяц, позволяет командам лучше управлять ротацией, чтобы у каждого был перерыв. Мониторинг повторных инцидентов и инцидентов аналогичного класса может дать представление о том, что сжигает в инженерные часы, а также о том, выяснили ли предыдущие посмертные средства улучшения или последующие элементы, которые не предпринимались действия. Это проблемы, которые должны быть быстро исправлены, чтобы дать командам отдохнуть от пожаротушения и больше времени для стратегической работы.
Празднование неудачи
Неудача произойдет, произойдут инциденты, и SLO будут нарушены. Эти вещи могут быть трудно столкнуться, но часть принятия SRE состоит в том, чтобы признать, что они являются нормой. Системы изготовлены людьми, а люди несовершенны. Важно учиться на этих неудачах и праздновать возможность расти.
Один из способов укрепления этой культуры — расставить приоритеты в психологической безопасности на рабочем месте. Сила безопасности очень очевидна, но часто упускается из виду. Лидеры отрасли, такие как Джин Ким, продвигают важность чувства безопасности, чтобы потерпеть неудачу. Он решает проблему психологической незащищенности в своем романе «Проект Единорога. «Главный герой Максин был отброшен из высокофункциональной команды к проекту Феникса, где ошибки наказываются за счет стрельбы. Джин пишет: «Она [Максин] видела коррозионные эффекты, которые создает культура страха, где ошибки обычно наказываются и увольняются козлы отпущения. Наказание неудачи и «стрельба по мессенджеру» заставляет людей скрывать свои ошибки, и в конечном итоге все желание к инновациям полностью погашено ».
Получение максимальной отдачи от ваших команд и систем не может быть достигнуто, если вина существует. Безупречность лежит в основе SRE. Чтобы полностью принять эту практику, вы должны признать, что люди не являются источником неудачи. Каждый член команды просто делает все возможное со знаниями, принимая решения, которые, по их мнению, являются правильными и в интересах организации. Наказание или вина убирают желание попробовать, исправлять и постоянно учиться.
Страх — это инновационный убийца, но неудача — инновационное вдохновение. Создание безопасности и доверия в вашей организации является ключом к полному реализации и раскрытию потенциала вашей команды.
Любая организация может принять лучшие практики SRE, и она может начаться с небольших приращений. Самое важное изменение, которое вы сделаете, будет культурным. Поскольку организации изготовлены из людей, любая организация может способствовать непрерывному обучению, безупречной культуре и психологической безопасности, если ее люди привержены мышлению роста. После того, как эти культурные факторы будут на месте, становится гораздо проще реализовать практики, процессы и инструменты, которые масштабируют эту культуру совершенства.
Если вам понравилась эта статья, проверьте это также: * Наши лучшие 5 практики по вызову * Создание психологической безопасности в отдаленных командах имеет решающее значение * Лучшие практики для эффективного управления инцидентами
Оригинал: «https://dev.to/blameless/sre-a-human-approach-to-systems-23h8»