Admin Future
239 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
Pets vs Cattle: Главный принцип облачной архитектуры, который должен знать каждый админ

Этот знаменитый афоризм из мира облачных вычислений меняет всё. Он разделяет серверы на два типа и определяет, как вы должны к ним относиться.

Pets (питомцы):

Это серверы, к которым вы относитесь как к домашним любимцам.
У них есть уникальные имена (db-master-01, mail-srv).
Вы их холите и лелеете, ставите обновления вручную, лечите, когда они "болеют".
Если такой сервер падает — это катастрофа, все бегут его поднимать.
Примеры: Контроллер домена, основной сервер баз данных, старый монолитный сервер приложений.

Cattle (скот):

Это серверы, к которым относятся как к стаду.
У них нет имён, только номера (web-worker-001, web-worker-002).
Их никто не лечит. Если один сервер "заболел", его просто "пристреливают" (удаляют), а на его место автоматически приходит новый, созданный из того же образа.
Потеря одного сервера — не событие. Система в целом продолжает работать.
Примеры: Веб-серверы за балансировщиком, воркеры в Kubernetes-кластере, инстансы в Auto Scaling Group.

Взгляд архитектора:
Цель современной архитектуры — превратить как можно больше "питомцев" в "стадо". Это достигается через автоматизацию (Ansible, Terraform), контейнеризацию (Docker, Kubernetes) и проектирование приложений, которые не хранят состояние локально (stateless). Такой подход позволяет строить масштабируемые, отказоустойчивые и легко управляемые системы.

Задайте себе вопрос: сколько в вашей инфраструктуре "питомцев", и что нужно сделать, чтобы их стало меньше?

#architect #cloud #devops #petsvscattle #sre #стратегия
Pets vs Cattle: Главный принцип облачной архитектуры

Этот афоризм из мира облачных вычислений меняет всё.

Pets (питомцы):

Это серверы, к которым вы относитесь как к домашним любимцам.

У них есть уникальные имена (db-master-01).

Вы их холите и лелеете, лечите, когда они "болеют".

Если такой сервер падает — это катастрофа, все бегут его поднимать.

Cattle (скот):

Это серверы, к которым относятся как к стаду.

У них нет имён, только номера (web-worker-001, web-worker-002).

Их никто не лечит. Если один сервер "заболел", его просто "пристреливают" (удаляют), а на его место автоматически приходит новый, созданный из того же образа.

Взгляд архитектора: Цель современной архитектуры — превратить как можно больше "питомцев" в "стадо". Это достигается через автоматизацию (Ansible, Terraform) и контейнеризацию (Docker, Kubernetes).

#architect #devops #cloud #sre #petsvscattle #стратегия
🔥3
🧠 Skill: "Terraform Drift Detection" — навык №1 в 2026 году ☁️

В эпоху IaC (Infrastructure as Code) самая большая проблема — это Drift (отклонение).
Это когда кто-то зашел в консоль AWS/Azure/Yandex руками и поменял тип инстанса или открыл порт, а в коде Terraform осталось старое значение.

Почему это опасно: При следующем запуске terraform apply твои ручные правки либо затрутся, либо всё упадет с ошибкой.

Что учить:

1. Terraform Plan Automation: Настрой запуск terraform plan в CI/CD раз в час.

2. Инструменты: Посмотри в сторону Driftctl или встроенного режима --refresh-only.

3. Команда для проверки "разрыва" между кодом и реальностью: terraform plan -refresh-only

Умение находить и устранять такие расхождения без даунтайма — это то, за что сегодня платят Senior DevOps инженерам. 🚀

#devops #terraform #iac #cloud #skills #automation #gitops
📦 S3 vs FTP: Почему пора перестать гонять файлы по старинке

Многие по привычке воспринимают S3 (Object Storage) как просто «бесконечную флешку в интернете». Но если копнуть глубже, разница между ним и обычным файловым сервером (FTP/SFTP/NFS) огромна.

1. Иерархия против Плоской структуры
FTP (File Storage): Это дерево. Папки, подпапки, файлы. Если у тебя миллион файлов в одной директории, команда ls или попытка открыть её через клиент заставит сервер «призадуматься» на пару минут.
S3 (Object Storage): Здесь нет папок. Вообще. Есть только Bucket (корзина) и Key (ключ/путь). То, что ты видишь как /uploads/2026/march/photo.jpg — это просто длинное имя одного объекта. Это позволяет S3 находить любой файл среди миллиардов других за фиксированное время.


2. Протоколы и Доступ
FTP: Это отдельный протокол, порты 21 (или 22 для SFTP), проблемы с пассивным режимом и фаерволами.
S3: Это HTTP/HTTPS. Твой файл — это URL. Доступ к нему осуществляется через стандартные REST API запросы (GET, PUT, DELETE). Это делает S3 идеальным для веба: браузеры и мобильные приложения общаются с ним «на одном языке».


3. Масштабируемость и Отказоустойчивость
FTP: Ты ограничен объемом диска на сервере. Кончилось место? Покупай новый диск, расширяй раздел, делай LVM. Упал сервер — файлы недоступны.
S3: Он практически бездонен. Тебе не нужно думать о месте. Более того, облачные провайдеры (AWS, Selectel, Yandex Cloud) реплицируют твои данные между разными дата-центрами. Вероятность потери данных в S3 стремится к нулю.


4. Метаданные
FTP: У файла есть размер и дата изменения. Всё.
S3: Ты можешь прицепить к объекту любые метаданные: Content-Type, Author, Project-ID или даже свои кастомные теги. По этим тегам потом можно настраивать политики автоматического удаления или перемещения в «холодное» (дешевое) хранилище.


🛠 Инструмент админа: rclone
Если тебе нужно перекинуть данные с древнего FTP в современное S3-хранилище, не мучайся со скриптами. Используй rclone — это «швейцарский нож» для облаков.
Команда для синхронизации:


# Настраиваем конфиг через rclone config, а затем:
rclone sync my_ftp:/var/www/uploads my_s3_bucket:backup-2026 -P


Когда НЕ нужен S3?
Если твоей программе нужно постоянно открывать файл, менять в нем одну строчку и сохранять (например, база данных SQLite или редактирование кода «на лету») — S3 не подойдет. Он работает по принципу «перезапиши объект целиком».

#storage #s3 #ftp #cloud #devops #sysadmin #rclone #admin_future
🔥1🤔1💯1
🎓 Собеседование сисадмина. Выпуск #10: Крах гипервизоров (Bare-metal ARM & KubeVirt)

Привет, коллеги! Юбилейный выпуск. В 2026 году классические гипервизоры вроде ESXi или Hyper-V окончательно превратились в музейные экспонаты. Лицензионные войны и потребность в дичайшей плотности вычислений привели нас к тому, что мы запускаем виртуальные машины прямо внутри Kubernetes на Bare-metal ARM серверах. Если ты до сих пор считаешь, что виртуалка — это «просто файл .vmdk на СХД», ты застрял в прошлом десятилетии.

Разберем три вопроса, которые проверят твою готовность к жизни в мире без «синих окон» управления гипервизором.

Вопрос 1: «Зачем нам тащить виртуальные машины в Kubernetes через KubeVirt, если можно просто всё контейнеризировать?»

Ответ новичка: «Это чтобы было удобнее смотреть на них в одной панели управления».

Ответ инженера:
Не всё можно (и нужно) запихивать в Docker. У нас полно legacy-софта на старых ядрах, специфических ОС или систем, требующих прямого доступа к ядру.

* KubeVirt позволяет управлять VM как обычными подами. Это дает единый IaC-стек (Terraform/Crossplane): тебе не нужно отдельно описывать сеть для виртуалки и отдельно для контейнера.
* Мы получаем общие механизмы мониторинга, логирования и сетевые политики (Cilium/Calico) для всего парка сразу. В 2026-м инфраструктура должна быть однородной, даже если внутри — зоопарк из систем.


Вопрос 2: «В чем главная проблема производительности при запуске VM на ARM-архитектуре и как мы её решаем?»

Ответ новичка: «ARM просто медленнее, чем x86, поэтому виртуалки на нем тормозят».

Ответ инженера:
Проблема не в скорости ядер (ARM Neoverse в 2026-м рвет конкурентов), а в накладных расходах на эмуляцию устройств и обработку прерываний.

* Чтобы не терять 20-30% мощности, мы используем VirtIO и механизмы Hardware-assisted virtualization (вроде ARM Virtualization Extensions).
* Для сетевого трафика мы пробрасываем устройства через SR-IOV или используем DPDK, чтобы пакеты шли в обход виртуального свитча прямо в гостевую ОС. Это критично для отечественных ARM-кластеров, где мы выжимаем максимум из каждого ватта энергии.


Вопрос 3: «Что такое Cloud-Init и почему без него создание виртуалки в 2026 году считается ручным трудом?»

Ответ новичка: «Это скрипт, который ставит софт после того, как я зашел на сервер по SSH».

Ответ инженера:
Cloud-Init — это стандарт де-факто для автоматической настройки инстанса при первом запуске.

* Виртуалка в KubeVirt — это эфемерная сущность. Мы не заходим на неё «настроить сеть». Cloud-Init получает метаданные, сам создает пользователей, прокидывает SSH-ключи, настраивает статику в IPv6 и монтирует диски.
* Если виртуалка не поднялась через Cloud-Init — мы её прибиваем и пересоздаем. Ручная правка конфигов внутри VM — это путь к «дрейфу конфигурации» и хаосу в мониторинге.


---

Практический пример: Декларативная виртуалка в KubeVirt

Вот так в 2026 году выглядит «создание сервера». Никаких кликов мышкой в vCenter:


# vm-arm64-prod.yaml
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
name: legacy-app-server
spec:
running: true
template:
spec:
domain:
cpu:
cores: 4 # Оптимизировано под ARM ядра
resources:
requests:
memory: 8Gi
devices:
disks:
- name: containerdisk
disk: {}
- name: cloudinitdisk
disk: {}
volumes:
- name: containerdisk
containerDisk:
image: registry.corp.local/vms/debian-13-arm64:latest
- name: cloudinitdisk
cloudInitNoCloud:
userData: |
#cloud-config
users:
- name: admin_future
ssh_authorized_keys:
- ssh-ed25519 AAAAC3Nza...
runcmd:
- systemctl start specialized-service