Под понятием профессии системный администратор подразумевается большое количество направлений различной специализации. Некоторые системные администраторы предпочитают специализироваться в одной области, а некоторые совмещать сразу несколько. Это и администратор сетей, и администратор баз данных, и администратор веб-серверов и т.д. Чем они отличаются друг от друга, давайте разбираться.
DevOps
DevOps, это сокращение от двух слов Development Operations. Цель - повышение эффективности создания и поставки программного обеспечения. Это то связующее звено между разработчиками ПО и, грубо говоря, продавцами этого ПО. В частности такой специалист занимается:
- Непрерывной интеграцией (Чаще всего можно встретить сокращение CI) - обеспечение последовательного и автоматизированного способа сборки, упаковки и тестирования приложений.
- Непрерывной поставкой (CD) - обеспечение, того, что даже при любых изменениях в коде, ПО будет протестировано должным образом перед окончательным выпуском.
- Виртуализацией (Этот подход еще называют "инфраструктура, как код" или IaC) - Это обслуживание всяких виртуальных и облачных ПК.
- Мониторингом - чтобы следить за тем, что происходит с ПО. И если произошел сбой, сработать наопережение, а не тогда, когда вам уже будет звонить недовольный заказчик.
Инструменты, используемые обычно следующие:
- CI/CD : Jenkins, GitLab, AWS CodePipeline и т.д.
- IaC : Puppet, Terraform, Ansible и т.д.
- Мониторинг: Zabbix, Grafana, Prometheus и т.д.
- Логировнаие: ELK, Graylgo, Grafana и т.д.
- Контейнеризация: Docker, Kubernetes и т.д.
SRE (Site Reliability engineering). Инженер по надежности сайтов.
Первоочередная задача инженеров по надежности сайтов или SRE это время безотказной и правильной работы. В частности такой специалист занимается:
- Проектирование, создание и обслуживание инфраструктуры. Это может быть частное или публичное облако, Должен участвовать в планирование ресурсов для новых и имеющихся ресурсов. А так же, зачастую, оптимизировать расходы на инфраструктуру.
- Поддержка надежности производственных систем. Все таки на втором месте после слова инженер стоит слово надежность. Нужно понимать, как достичь корректности работы сервисов и при этом соблюсти все внутренние правила и стандарты. И SLI, SLO, SLA - должны быть не пустым набором букв.
- Настройка мониторинга и алертов. Это первый шаг, который необходимо сделать. При том настроены они должны быть максимально корректно, чтобы в мониторинг не хлынул громадный бесполезный поток сообщений, который только лишний раз будет отвлекать от действительно важных проблем.
- Заниматься документированием реагирования на инциденты. Еще одна задача, с которой сталкиваются SRE - это описание инцидентов. Вернее, описанием того, что привело к этому инциденту, и каким образом он был решен.
- Создание инструментов и автоматизации. Еще одной задачей SRE является устранение ручного труда. Рутина - отнимает много времени у всех сотрудников команды и SRE должен позаботиться о том, чтобы времени меньше уходило на рутину и больше на разработку, например.
Инструменты, которые должен знать SRE такие же, как для DevOps, с тем отличием, что один их настраивает, а другой на них работает. Так же, необходимо уметь писать скрипты на Bash, Python, C или Go.
Инженер по безопасности. (ИБ)
Эти люди занимаются инструментами для поиска уязвимых мест и мониторинга для предотвращения сетевых атак. Они так же проводят пентесты, так называемые имитации атак, как настоящие хакеры, чтобы проверить на сколько хорошо устроена защита. Задачи ИБ специалиста следующие:
- Знать и разбираться в системе информационной системе компании и где есть главные уязвимости.
- Понимать, кто в целом заинтересован взломом компании.
- Заниматься внедрением защиты.
- Умение провести согласованные атаки на сервисы компании.
Инструменты для ИБ:
- SIEM - Управление информации о безопасности. (Splunk, Qradar и т.д.)
- IDS - системы выявления сетевых атак. (Snort, Suricata и т.д.)
- DLP - Технологии защиты утечек данных. (Solar Dozor, Symantec DLP и т.д.)
- Внутренняя защита ОС (SeLinux, Apparmor и т.д.)
Сетевые администраторы
Сетевые администраторы проектируют, устанавливают, настраивают и управляют сетями. В организациях, где есть множество физических переключателей, маршрутизаторов, брандмауэров и других устройств, никак не обойтись без грамотного сетевика. В его задачи входит:
- Настройка сетевого оборудования
- Обеспечение доступа к локальной сети и их подключение к глобальной сети.
- Обеспечение работоспособности сети во время поломок, сбоев и т.д.
К инструментам сетевого администратора можно отнести следующие средства:
- Мониторинг сети (kiwi syslog server, nagios, PRTG Network)
- Перехват пакетов (Wireshark, tcpdump, netcat и т.д.)
- Инструменты тестирования (ping, iPerf и т.д.)
Администраторы баз данных. (DBA)
Администратор баз данных является экспертом по установке и управлением ПО баз данных. Они управляют схемами баз данных, занимаются установкой и обновлением, настраивают кластеризацию, выбирают параметры для оптимальной производительности и помогают пользователям формулировать эффективные запросы. Задачи DBA:
- Обеспечение функционирования БД. Это резервное копирование, восстановление, управление доступом и т.д.
- Оптимизация функционирования БД. Это мониторинг и оптимизация производительности БД.
- Предотвращение потерь и повреждений данных. Это организация резервного копирования данных на постоянной основе, своевременный откат к работоспособности базы при поломках и авариях.
- Обеспечение информационной безопасности на уровне БД. Управление и развитие политик безопасности на уровне БД.
- Управление развитием БД. Контроль обновлений, внедрение технологий, контроль миграций и т.д.
Используемые инструменты, разнятся в зависимости от того какие БД используются. В основном это утилиты для мониторинга, сбора логов, сравнения данных, копирования данных и т.д.
Мы рассмотрели основные востребованные в данный момент направления. Конечно, их список не исчерпан полностью. Есть еще инженеры центра сетевых операций, контролирующих состояние крупных объектов в режиме реального времени, и технические специалисты центров обработки данных, которые занимаются инвентаризацией, новым оборудованием, устанавливают серверы в стойки и т.д., и архитекторы, которые занимаются разработкой распределенных систем, устранением точек отказа, планированием.
А вот какое направление выбрать это уже дело каждого. А на сегодня это все. Делитись своими профессиями в комментариях, и не забывайте подписываться на мой канал в телеге https://t.me/crazy_linuxoid/ , чтобы не пропустить новые статьи.