alekfed

a

Системное администрирование

Общий опыт: 4 года

Необходимость понимания операционных систем и умения писать shell-скрипты появляется естественным образом при работе с back-end и DevOps.

Linux

Долгое время моей повседневной системой была Arch Linux, а типовым выбором для серверов — Debian. В последнее время меня заинтересовали идеи stateless операционных систем на базе функциональных декларативных конфигураций, что привело меня к NixOS ( мой конфиг ) и Guix .

С точки зрения системного администрирования, я нахожу интересным то, что NixOS вполне может избавить от необходимости возиться с Ansible при обновлении серверов и гарантировать их работоспособность при любом обновлении, но отсутствие загрузочных образов на базе NixOS у облачных провайдеров пока ограничивает применимость этих идей. Что же касается Guix, то, при всей привлекательности Scheme, её время ещё не пришло (и может не прийти): даже если систему удасться запустить на реальном железе (есть сложности), перекомпилировать ядро при каждом обновлении из-за использования несвободных драйверов — спасибо, нам хватило Gentoo…

Говоря в наши дни о Linux, нельзя обойти тему контейнеризации: помимо написания и оптимизации Dockerfile’ов, есть опыт разворачивания систем с Docker внутри LXC -контейнеров с ограниченными правами (каких только чудес не бывает).

Что касаемо systemd : есть небольшой опыт написания юнитов, аллергии нет.

FreeBSD, OpenBSD

Некоторое время назад меня интересовал мир BSD.

FreeBSD : вполне жизнеспособный вариант для любой задачи (даже Wayland уже по-тихоньку приживается), да и интересно наблюдать за развитием FreeBSD’шного ответа Docker Hub’у в виде Bastille . Тем не менее, целесообразность использования FreeBSD в production в настоящий момент весьма туманна.

OpenBSD : эталонный пример документированности и продуманности системы (без шуток). Даже жаль, что из-за вечных проблем с реальным железом и экспериментального статуса виртуализации на уровне ядра ( vmm — Тео всё-таки сдался) перспективы применимости этой системы ещё более туманны, чем у FreeBSD.

Тем не менее, из этого опыта я вынес любовь и уважение к ZFS , которая вполне надёжно портирована и на Linux ( OpenZFS ). Лучше, чем нативная Btrfs , уж точно.

Shell-скрипты

Несмотря на то, что Python сейчас можно найти практически на любой машине (особенно, когда Python — основной язык сервисов компании, в которой ты работаешь), иногда гораздо проще и быстрее использовать отдельные программы, склеенные shell-скриптами. В основном, я пишу скрипты с использованием башизмов, но, в зависимости от задачи (Debian-based система на сервере, busybox-based образ…), могу писать и в POSIX sh-совместимом виде.

RTOS

В области встроенных систем, есть опыт разработки операционной системы реального времени, разрабатывавшейся на C++, а также опыт работы с FreeRTOS. RTOS на C++ используется в автопилоте БПЛА, FreeRTOS — в силовыми преобразователями. См. также раздел по C++ .


Иллюстрация



email icon telegram icon github icon