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

Когда люди рассматривают участие в SRE, а команды думают о том, как взять на вооружение методики SRE, часто встречается вопрос: нужно ли уметь программировать?

Простой ответ — да.

Но полный ответ имеет несколько нюансов. Давайте взглянем на три момента, в которых написание кода помогает при проектировании надежности сайта, а также определим, какой уровень опыта программирования необходим для каждого из них. Этот список является неполным, но эти сценарии представляют собой наиболее распространенные ситуации.

Сценарий 1. Удаление рабочей возможности с помощью автоматизации

Инженеры по надежности сайтов и другие пользователи, использующие методики SRE, пытаются по возможности уменьшить объемы рутины. Слово "рутина" в SRE имеет своеобразное значение. В контексте SRE под рутиной понимаются операции, выполняемые человеком и имеющие определенные характеристики. Рутина не имеет ценности в долгосрочной перспективе. Она никаким образом не развивает службу. Рутина состоит из часто повторяющихся и в основном выполняемых вручную операций (несмотря на то, что часть из них может быть автоматизирована). По мере роста службы или системы количество запросов к этой системе, скорее всего, также пропорционально возрастет, что, в свою очередь, приведет к увеличению ручного труда.

Например, если службе требуется, чтобы команда SRE сбрасывала что-то каждую неделю, или вручную выполняла подготовку новых учетных записей и дискового пространства, или повторно выполняла перезапуск вручную — такая объемная рабочая нагрузка будет считаться рутиной. Выполнение этих действий никаким образом не делает службу лучше, если рассматривать этот вопрос в долгосрочной перспективе. Эти действия, вероятно, придется повторять снова и снова.

Подход SRE не приемлет рутину. Инженеры SRE работают над тем, чтобы исключить рутину во всех случаях, когда это возможно и целесообразно. Это один из тех случаев в SRE, когда в игру вступает автоматизация. Если эти запросы можно обрабатывать автоматически, то это позволит высвободить силы команды для работы над более важными вещами, чем утомительная обработка очереди запросов в службу поддержки.

Опыт написания кода: для автоматизации требуется некоторый опыт программирования, но не обязательно требовать полной квалификации по проектированию программного обеспечения. Если вы можете писать небольшие скрипты (возможно, в PowerShell или оболочке Bourne) или даже если вы создаете приложение логики Azure с едва любым кодом, это приложение по-прежнему может помочь устранить риск.

Сценарий 2. Управление с помощью API/доменных языков (DSLs)/templates

Хотя это и не является обязательным для работы SRE, возможность управления средами с помощью интерфейсов API, DSL и шаблонов (особенно облачных сред) позволяет сотрудникам SRE увеличивать работоспособность. Подготовка и отмена подготовки инфраструктуры, настройка мониторинга и интеграция нескольких служб становятся гораздо более эффективными благодаря программированию.

Опыт написания кода: как и в предыдущем случае, для автоматизации требуется некоторый опыт программирования, но не обязательно требовать полной квалификации по проектированию программного обеспечения. Помимо сценариев и приложений логики, которые упоминание раньше, шаблоны Azure Resource Manager также можно использовать с минимальным интерфейсом написания кода.

Сценарий 3. Исправление кода

Специалисты по надежности сайта работают над повышением надежности системы. Эта цель иногда требует входа вглубь в исходный код системы для определения проблемы и часто подразумевает внесение исправления обратно в базу кода. Хотя уровень сложности этой работы может сильно различаться в зависимости от ситуации, в таких случаях опыт программирования является неоспоримым требованием.

Опыт написания кода: в этом сценарии часто требуется полноценный специалист по проектированию программного обеспечения.

Следующие шаги

Хотите узнать больше об обеспечении надежности информационных систем (SRE) и программировании низкого уровня? Ознакомьтесь с нашим центром для обеспечения надежности сайта и документацией по продукту, приведенной выше.