Рубріки: Теория

Кто такой сисадмин и какие у него отличия от DevOps

Ардак Сейтбаталов

В этой статье мы рассмотрим одну из ключевых профессий в мире IT — системный администратор. Что нужно знать, прежде чем идти на собеседование, на какую зарплату рассчитывать и стоит ли вообще искать перспектив развития в столь «архаичной» должности.

Мир IT не стоит на месте. На рынке труда требуются все более квалифицированные и узкие специалисты. Поэтому также рассмотрим детальный переход к более востребованной на данный момент смежной должности — DevOps.

Содержание:
1. Кто такой системный администратор?
2. Обязанности системного администратора
3. Необходимые знания и навыки для работы
4. Как стать системным администратором?
5. Специализации системного администратора
6. Достоинства и недостатки профессии
7. Заработная плата системных администраторов (в Украине)
8. Расширение от сисадмина до Devops — что надо и какая разница между ними
9. Что надо знать Devops
10. Перспективы в профессии
Заключение

1. Кто такой системный администратор?

Системный администратор (или сисадмин) — специалист, отвечающий за обслуживание, настройку и надлежащую службу рабочих станций и устройств: компьютеров, серверов, сетевых устройств, а также устройств обеспечения защиты информации в корпоративной сети.

Должность сисадмина призвана обеспечивать баланс: чтобы время безотказной работы, производительность, ресурсы и безопасность компьютеров — соответствовали потребностям пользователей, не превышая при этом лимита бюджета.

2. Обязанности системного администратора

  • Анализ системных журналов и выявление потенциальных проблем в инфраструктуре компании;
  • Своевременное обновление операционных систем, исправлений и изменений конфигурации;
  • Установка и конфигурирование нового оборудования, программного обеспечения;
  • Администрирование учетных записей пользователей, их привилегий, сброс паролей, контроль и разграничение доступа;
  • Поддержка пользователей, давая им исчерпывающие ответы на технические вопросы, привитие компьютерной грамотности в корпоративной среде;
  • Ответственность за безопасность в сетевой инфраструктуре, если в компании отдельно не предусмотрен администратор по безопасности;
  • Ведение документации, конфигурация схем локальных сетей, учет оборудования и программного обеспечения;
  • Оптимизация производительности рабочих станций;
  • Обеспечение бесперебойной работы сетевой инфраструктуры;
  • Настройка, добавление и удаление файловых систем;
  • Обеспечение связности между средами разработки, роутинг между сетями;
  • Планирование мероприятий по обслуживанию оборудования.

В крупных организациях некоторые из вышеперечисленных задач могут быть распределены между разными системными администраторами или членами разных организационных групп.

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

В небольших организациях системный администратор может также выполнять функции технической поддержки, администратора базы данных, сетевого администратора, администратора хранилищ (SAN/NAS) или аналитика сетевых приложений.

3. Необходимые знания и навыки для работы

Возможно, самым важным навыком для системного администратора является оперативное решение проблем, часто в полевых условиях или разного рода временных ограничений. Системный администратор находится на связи, когда компьютерная система выходит из строя или дает сбой, и должен быть в состоянии быстро и правильно диагностировать что не так, и как лучше всего это исправить. Ему также требуется умение работать в команде и постоянно общаться (soft skills).

При работе с системами выходящими в интернет, или с критически важными для бизнеса системами, любой системный администратор должен хорошо разбираться в компьютерной безопасности. Это включает в себя предотвращение взломов и других проблем с безопасностью с помощью превентивных мер.

В некоторых организациях администрация компьютерной безопасности является отдельной ролью, отвечающая за общую безопасность и обслуживание брандмауэров и систем обнаружения вторжений. Но обычно даже рядовые системные администраторы также несут ответственность за безопасность компьютерных систем.

Исходя из вышесказанного, перечислим 10 навыков, которые необходимы сисадмину:

  1. Решение проблем и администрирование

У системных администраторов есть две основные задачи: решение проблем и их предвидение до того, как они возникнут. Это требует критического мышления и прогностического подхода к решению проблем. Опытные системные администраторы рекомендуют пятиэтапный подход к решению проблем в системе: знание, наблюдение, дедукция, действие и тестирование.

  1. Виртуализация и удаленка

С каждым годом все больше организаций обращаются к виртуализации сети, поэтому понимание SD-WAN, vLAN и SASE является обязательным. Понимание VPN также важно, особенно с учетом того, что переход на удаленную работу делает безопасность критически важной.

  1. Облачные сервисы

Согласно отчету RightScale о состоянии облачных сервисов за 2021 год, 94% всех предприятий в той или иной степени используют облачные сервисы. Системные администраторы должны знать об облачной архитектуре, о нюансах работы основных облачных провайдеров, таких как AWS, Azure и Google Cloud, а также о проблемах безопасности при хранении данных в общедоступном облаке.

  1. Автоматизация и сценарии

Автоматизация взяла на себя многие из наиболее утомительных задач обслуживания сети и инфраструктуры. Изучите основы Python и его богатую библиотеку модулей для выполнения конкретных задач, таких как сбор/парсинг данных с веб-сайтов (веб-скарпинг), считывание (импорт) информации с документов PDF и Word.

  1. Безопасность и мониторинг

Безопасность стала серьезной проблемой на всех уровнях IT из-за всплеска фишинга, атак программ-вымогателей и утечек данных за последние несколько лет. Поэтому безопасность стала основным навыком системного администратора.

Системным администраторам необходимо решать проблемы безопасности до того, как они приступят к работе, такие как принудительное применение политик, мониторинг журналов и логов, информирование пользователей о передовых методах обеспечения безопасности. Кроме того, они должны быть знакомы с такими платформами мониторинга, как SolarWinds и DataDog.

  1. Управление доступом к учетной записи

Частью безопасности является управление учетными записями пользователей. Халатное отношение в использовании паролей может привести к катастрофе, поэтому двухфакторная аутентификация становится необходимой для обеспечения безопасности учетных записей.

Системные администраторы также должны быть знакомы с приложениями и программным обеспечением для управления учетными записями, такими как Okta, OneLogin, DeviceLock.

  1. Интернет вещей/управление мобильными устройствами

Устройства IoT являются одними из самых уязвимых устройств в сети из-за встроенной базовой системы безопасности. Тенденция использования собственных устройств (BYOD — Bring Your Own Device — «принеси свое устройство») также представляет риск для сети, это означает, что системные администраторы должны знать, как защитить эти устройства и систему от новых векторов угроз.

  1. Языки сценариев

Наиболее популярные языки сценариев для системных администраторов включают Go, Bash, Python и Node.js, особенно в среде DevOps.

  1. Управление оборудованием

Системные администраторы работают с физическими серверами столько же, сколько и со своими виртуальными интерфейсами. Им может потребоваться настроить подключения к физическим серверам и стойкам, вручную настроить такие устройства как принтеры.

  1. SQL

Язык структурированных запросов (SQL) используется для управления базами данных. Это один из важных аспектов управления базами данных, который становится все более востребованным навыком у системных администраторов. Особенно стоит обратить внимание на SQL Injections и прочие подобные уязвимости.

4. Как стать системным администратором?

Претендентам на данную должность, в зависимости от уровня их навыков, желательно иметь степень бакалавра в области информационных технологий или в смежной области. Некоторые ВУЗы также предлагают программы обучения в области системного администрирования.

В силу того, что системное  администрирование имеет более практический характер, особенно если учесть тот факт, что серверное ПО зачастую доступно бесплатно с открытым исходным кодом (как и курсы для самостоятельного обучения) — большинство желающих на данную вакансию приходят в отрасль самоучками.

В большинстве случаев кандидатам рекомендуется иметь отраслевые сертификаты, такие как Microsoft MCSA, MCSE, MCITP, Red Hat RHCE, Novell CNA, CNE, Cisco CCNA или CompTIA A+ или Network+, Sun Certified SCNA, Linux Professional Institute, Linux Foundation Certified Engineer (или сертифицированный системный администратор Linux Foundation).

5. Специализации системного администратора

Администратор базы данных (DBA) поддерживает БД и отвечает за целостность данных, а также за эффективность и производительность этой системы.

Сетевой администратор обслуживает сетевую инфраструктуру, такую ​​как коммутаторы и маршрутизаторы, диагностирует проблемы с ними (хотя зачастую, также он может выполнять обязанности (или их часть) DBA, для чего потребуются знания SQL и базовой теории БД).

Администратор безопасности — это специалист по компьютерной и сетевой безопасности, включая администрирование устройств безопасности, таких как брандмауэры.

Веб-администратор (вебмастер) поддерживает службы веб-сервера (такие как Apache или IIS), которые обеспечивают внутренний или внешний доступ к веб-сайтам. Задачи включают управление несколькими сайтами, администрирование их безопасности, а также настройку необходимых компонентов и программного обеспечения. В обязанности также может входить управление изменениями программного обеспечения.

Оператор автоматизированных рабочих мест (сетевой инженер) выполняет плановое техническое обслуживание и ремонт, например замену резервных лент или замену отказавших дисков в избыточном массиве независимых дисков (RAID). Такие задачи обычно требуют физического присутствия в комнате с компьютером и, хотя они менее квалифицированы, чем задачи системного администратора, могут потребовать высокого уровня доверия (доступа), поскольку оператор имеет физический доступ к потенциально конфиденциальным данным.

6. Достоинства и недостатки профессии

Плюсы и минусы различаются в зависимости от того, на кого вы работаете и что влечет за собой ваша конкретная роль.

Достоинства:

Приемлемая оплата труда. Если вы хорошо выполняете свою работу, вам очень хорошо платят. Чем опытнее вы будете, тем выше оплата.

Это портативный навык. Если вам не нравится компания, в которой вы работаете, вы можете легко перейти в другую.

Обучение и повышение квалификации. Любая респектабельная IT-организация должна ценить непрерывное образование и обучение.

Работа может требовать решения новых и инновационных проблем (что я считаю положительным). Пока вы не застряли в слишком узкой области, должно быть много возможностей для продвижения.

Ответственность и инициатива окупается. Хорошо выполняя свою работу, вы можете достичь стратегических и операционных целей компании. Большинство IT-администраторов несут широкую ответственность за системы, которые поддерживают какой-то крупный сегмент организации. В результате, выполняя эту задачу как-то инновационно, вы можете сэкономить компании много денег, дать ей возможность двигаться вперед (или найти новый источник дохода).

Есть куда двигаться дальше и расти. Опыт в должности системного администратора имеет много положительных сторон, особенно когда вы переходите на иные технические должности. Чем выше вы стоите в IT-организации, тем больше вероятность того, что вы положительно повлияете на организацию в целом, а она соответственно повлияет благотворно на вашу карьеру.

Недостатки

Ответственность. Системы, которыми вы управляете, часто имеют решающее значение для бизнеса, и любой сбой может иметь серьезные последствия для бизнеса и вашей работы.

Высокая нагрузка и, может быть, даже круглосуточная работа, оказывает влияние на здоровье и самочувствие. Все системы должны быть включены и доступны все время, что затрудняет простой человеческий отдых. Этот фактор стресса/переработок приводит к нездоровому образу жизни, когда трудно по-настоящему расслабиться и отключиться от работы.

Синдром самозванца. Начав IT-карьеру, вы можете обнаружить, что вы просто ремонтник, похожий на механика. Вы можете потратить 10 лет на свою сисадминскую карьеру и в буквальном смысле знать не больше, чем 18-летний парень, прошедший шесть месяцев обучения и обладающий набором отраслевых сертификатов. У каждой отдельной организации свой стек технологий и требований, поэтому легко стать жертвой самоуверенности при переводе на новую работу.

7. Заработная плата системных администраторов (в Украине)

Заработная плата системных администраторов зависит во многом от опыта и знаний, которые имеет претендент. В целом, от $600$ до $1500, но если вы будете работать в иностранной компании, то зарплата может доходить до $2500.

По имеющимся вакансиям на work.ua, средняя заработная плата системного администратора (на начало 2022 года) около:

8. Расширение от сисадмина до Devops — что надо и какая разница между ними

Неудивительно, что большинство инженеров DevOps приходят из системного администрирования. Для системных администраторов такой карьерный маневр позволяет повышать свою профессиональную квалификацию, не переходя в область разработки.

В чем же заключается главное отличие? Системные администраторы занимаются настройкой, функционированием и обслуживанием информационных систем и серверов.

В отличие от DevOps, системные администраторы практически не участвуют в процессе разработки программного обеспечения, что делает разницу между ними и разработчиками совершенно очевидной.

В то время как инженеры DevOps играют более активную роль, гораздо больше сосредоточенную на жизненном цикле продукта, системные администраторы чаще всего заняты исключительно сетями.

Переход от системного администратора к DevOps может быть прост или сложен в зависимости от вашего текущего опыта и практики; конечно, это будет стоить времени и усилий, но оно того стоит.

Самая важная часть этого перехода — продолжать учиться.

DevOps представляет собой изменение в IT-культуре, фокусируясь на быстром предоставлении услуг за счет внедрения гибких и бережливых методов в контексте системно-ориентированного подхода. DevOps делает упор на людей и направлен на улучшение сотрудничества между командами эксплуатации и разработки. В реализациях DevOps используются технологии, особенно инструменты автоматизации, которые могут использовать все более программируемую и динамическую инфраструктуру с точки зрения жизненного цикла.

Типичная роль системного администратора заключается не в разработке или написании нового прикладного ПО, а в том, что он отвечает за автоматизацию конфигурации системы или приложения с помощью различных инструментов управления конфигурацией. В зависимости от роли и навыков системного администратора можно ожидать, что он будет понимать эквивалентные ключевые/основные понятия, которые понимает инженер-программист.

Инженеры Devops имеют более целостное представление о технической среде, в которой они работают, по сравнению с системными администраторами.

Целью DevOps является продвижение культуры командной работы, основанной на сотрудничестве и общении между людьми из разных областей, связанных с системами разработки программного обеспечения.

Для обеспечения успеха команды, DevOps должен убедиться, что интеграция между областью разработчиков и областью операторов идеальна, прозрачна и бесшовна.

Как видите, обе роли имеют разные цели и природу, хотя в то же время они разделяют общие задачи. Подводя итог, мы можем констатировать, что:

Задачи, выполняемые DevOps, тесно связаны с созданием синергии между различными подразделениями компании, зачастую работая глобально. Cистемные администраторы занимаются настройкой и обслуживанием компьютерных систем внутри компании.

DevOps обладают полным знанием продукта или программного обеспечения, которое они разрабатывают. Системные администраторы вмешиваются только в небольшую часть процесса, в отличие от DevOps.

9. Что надо знать DevOps

Языки программирования

Чтобы стать инженером DevOps, первым делом нужно выучить язык программирования. Так как это будет необходимо для интеграции баз данных, отладки кода или автоматизации процессов разработки и развертывания.

  •       Python.
  •       Go.
  •       Node.js.
  •       Ruby.
  •       Rust.
  •       C Language.
  •       C++
  •       JavaScript.
  •       Java.
  •       Perl.

Операционные системы

Будучи инженером DevOps, становится очевидным, что необходимо как можно больше узнать об операционных системах, поскольку нужно будет работать с серверами для запуска приложений. Linux является рекомендуемой ОС, поскольку используется большинством компаний и поставщиков серверов для запуска своих веб-приложений. Однако вы также можете выбрать другие операционные системы, такие как:

  •       Debian.
  •       Unix.
  •       Fedora.
  •       Ubuntu.
  •       CentOS.
  •       SUSE Linux.
  •       RHEL.
  •       Windows.
  •       FreeBSD.
  •       OpenBSD.
  •       NetBSD.

Концепции операционной системы

Знакомство с различными концепциями операционных систем является обязательным для инженеров DevOps, поскольку вы будете нести ответственность за подготовку инфраструктуры для запуска приложения.

Концепции, которые вам необходимо освоить:

  •       Управление процессами.
  •       Управление запусками.
  •       Потоки и параллелизм.
  •       Сокеты.
  •       Основы POSIX.
  •       Управление вводом/выводом.
  •       Виртуализация.
  •       Память/хранилище.
  •       Файловые системы.
  •       Управление сервисами.
  •       Сетевые концепции.

Терминалы

Для инженера DevOps крайне важно иметь возможность управлять терминалом (особенно если вы работаете с Linux или Unix). Терминал, также известный как консоль или командная строка, позволяет разработчикам автоматизировать и выполнять задачи в системе без использования GUI (графического пользовательского интерфейса), включая делать это удаленно через SSH. Вам необходимо понимать команды для:

  •       Работы с текстом.
  •       Bash-скрипты.
  •       Мониторинг процессов.
  •       Производительности системы.
  •       Сети.
  •       Компиляции приложений из исходников.
  •       Vim/Nano/Emacs/Powershell.

Сетевая безопасность и протоколы

Сетевая безопасность и протоколы позволяют гарантировать целостность и безопасность данных при передаче по сетевому соединению. Они определяют методологии и процессы для защиты сети от несанкционированных попыток извлечения или просмотра информации.

Некоторые из протоколов сетевой безопасности, которые необходимо знать:

    •       HTTPS.
    •       HTTP.
    •       FTP.
    •       SSL/TLS.
    •       SSH.
    •       IPSec и VPN.
    •       AT-TLS.
    •       Аутентификация OSPF.
    •       SNMP.
    •       Брандмауэр.
    •     BGP.

 

 

Веб-сервер

Веб-сервер хранит контент для веб-сайта и предоставляет его пользователю по запросу. Веб-сервер может одновременно размещать один или несколько веб-сайтов, используя одни и те же аппаратные и программные ресурсы. Он взаимодействует с веб-браузером, используя HTTP/HTTPS.

Понимая его функциональность и работу, инженер DevOps может легко обслуживать и контролировать сервер. Вот некоторые из веб-серверов о которых вы можете узнать:

  •         IIS.
  •         Nginx.
  •         Apache.
  •         Tomcat.

Инфраструктура как код

Инфраструктура как код или IaC — самая важная часть DevOps. Это помогает в подготовке и управлении инфраструктурой (сетями, балансировщиками нагрузки, топологией подключения) с помощью кода или файлов конфигурации, а не ручных процессов. Это позволяет автоматизировать и упростить процесс развертывания, поскольку вы можете создавать среду в соответствии с требованиями.

Вот несколько концепций и инструментов IaC, которые вы можете заранее освоить:

Контейнеры:

  1. Docker.
  2. LXC.

 Управление конфигурацией:

  1. Ansible.
  2. Salt.
  3. Chef.
  4. Puppet.

 Оркестрация контейнеров

  1. Kubernetes.
  2. Mesos.
  3. Docker Swarm.
  4. Nomad.

 Сервисная сетка

  1. Istio.
  2. Linkerd.
  3. Consul Connet.
  4. Kuma.
  5. Maesh.

 Предоставление инфраструктуры

  1. Terraform.
  2. CloudFormation.
  3. Pulumi.

Инструменты CI/CD

Непрерывная интеграция и непрерывное развертывание (CI/CD) включает в себя набор принципов и методов работы, которые позволяют группам разработчиков приложений предоставлять более надежные и частые обновления.

Непрерывная интеграция связана с интеграцией кода разработчиков в основную ветку репозитория. Некоторые из инструментов, которые можно использовать для CI/CD: 

  • Gitlab CI.
  • GitHub.
  • Bamboo.
  • Jenkins.
  • Travis CI.
  • Azure DevOps.
  • Circle CI.
  • TeamCity.

Мониторинг инфраструктуры

Мониторинг инфраструктуры — это процесс сбора данных о вашей инфраструктуре для принятия оперативных решений. Он использует данные, генерируемые серверами, приложениями, сетевыми устройствами и другими элементами, для отслеживания таких показателей, как пропускная способность сети, емкость оборудования и время безотказной работы.

Информация, предоставляемая мониторингом инфраструктуры помогает повысить эффективность, устранить ошибки, выделив области улучшения.

Инструменты, используемые для мониторинга инфраструктуры, включают:

  • Prometheus.
  • Grafana.
  • Nagios.
  • Zabbix.
  • Monit.
  • Datadog.

Мониторинг приложений

Мониторинг приложений — это процесс измерения производительности и доступности приложения. Данные, собранные в результате мониторинга  используются для выявления и устранения ошибок приложений до того, как они коснутся пользователей.

Программное обеспечение, используемое для приложений мониторинга:

  • AppDynamics.
  • Instana.
  • OpenTracing.
  • New Relic.
  • Jaeger.

Управление журналами

Журнал — это подробный список событий происходящих в системе. С помощью мониторинга журналов инженер DevOps может оценивать события журналов, чтобы предотвращать уязвимости, улучшать услуги и отправлять оповещения об узких местах.

Некоторые инструменты, используемые для управления журналами, включают:

  • Elastic Stack.
  • Splunk.
  • Papertail.
  • Graylog.

Шаблоны проектирования для облачной среды

Используются для создания масштабируемых, надежных и безопасных приложений в облаке. Каждый шаблон описывает решаемую проблему и обсуждение применения шаблона. Вот некоторые из них:

  • CQRS.
  • Ambassador.
  • Поиск событий.
  • Консолидация вычислительных ресурсов.
  • Внешнее хранилище конфигураций.
  • Агрегация шлюза.
  • Разгрузка шлюза.
  • Маршрутизация шлюза.

Облачные технологии

Как инженер DevOps, вы должны понимать облачную технологию, ее преимущества, требования, услуги, поставщиков и пакеты, относящиеся к вашей организации.

Вот некоторые из самых популярных и часто используемых поставщиков облачных услуг:

  • AWS.
  • Google Cloud.
  • Azure.
  • Heroku.
  • Linode.
  • Vultr.
  • Digital Ocean.
  • Alibaba Cloud.

10. Перспективы в профессии

В современном мире все меняется достаточно быстро, и с уверенностью сказать о будущем мы не можем. Но тем не менее, никому не хочется потратить годы молодости на профессию которая в будущем, возможно исчезнет.

Не стоит задерживаться более пяти лет на одной должности, размеренно выполняя рутину и не думая о развитии скиллов. Дальнейшим расширением карьеры IT-шника будет переход в более узкоспециализированную область, типа DBA или BigData, ну и в дальнейшем в DevOps.

Если вам интересна эта сфера, прежде всего учитесь, много читайте, проверяйте свои навыки на практике и не забывайте перенимать опыт у более продвинутых «акул в больших водах».

Заключение

Помните, эта статья предназначена только для того, чтобы помочь вам сверить путь и выбрать то, что вам нужно изучать дальше. В будущем в дорожных картах этих профессий будут постоянные изменения инструментов и технологий. Поэтому старайтесь не расслабляться на своей работе и всегда стремитесь узнавать о последних тенденциях в технологиях, что гарантирует вам карьерный рост.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023