Ответ
Мой основной стек — 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 для локальной разработки, если проект этого требует.