Какая у вас основная операционная система для работы?

«Какая у вас основная операционная система для работы?» — вопрос из категории Софт-скиллы, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Мой основной стек — Linux-системы, так как они составляют основу современной инфраструктуры и облачных сервисов.

  • Для продакшн-серверов и большинства инструментов: Я работаю с RHEL/CentOS/Rocky Linux и Ubuntu/Debian. Первые — для корпоративных сред, где критична стабильность и долгосрочная поддержка (например, для внутренних Kubernetes-кластеров, баз данных). Вторые — для быстроразвивающихся cloud-native инструментов и Docker-образов из-за свежих пакетов.
  • Для локальной рабочей станции: Использую macOS. Это дает идеальный баланс: Unix-подобная командная строка (zsh/bash), на которой работают все основные DevOps-инструменты (kubectl, helm, terraform, ansible, docker), и при этом удобный десктоп для повседневных задач. Инструменты вроде Homebrew отлично справляются с установкой софта.

Практический пример: Написание скрипта, который должен корректно работать и на моем Mac, и на Linux-серверах. Я всегда проверяю совместимость:

#!/usr/bin/env bash
# Проверка ОС для корректной установки пакетов
set -euo pipefail

case "$(uname -s)" in
    Linux*)
        # Для Ubuntu/Debian
        if command -v apt-get &> /dev/null; then
            sudo apt-get update && sudo apt-get install -y jq curl
        # Для RHEL/CentOS
        elif command -v yum &> /dev/null; then
            sudo yum install -y jq curl
        fi
        ;;
    Darwin*)
        # Для macOS через Homebrew
        brew install jq curl
        ;;
    *)
        echo "Unsupported OS"
        exit 1
        ;;
esac

# Далее идет кроссплатформенная логика скрипта

Работа с Windows ограничивается администрированием Windows-серверов через PowerShell Remoting или использованием WSL2 для локальной разработки, если проект этого требует.