Как стать системным администратором
Содержание:
Курс от Hedu
Что вы получите в этом практикуме?
- Освоите известные операционные системы (Windows Server, Linux или FreeBSD);
- Научитесь выполнять настройку сетевого оборудования;
- Изучите работу с системами управления баз данных (MS SQL, Oracle);
- Сможете поддерживать рабочее состояние программного обеспечения, настраивать работу электронной почты, VPN и антивирусов;
- Научитесь администрировать ПО и сети;
- Поймете, как находить возникающие проблемы с техникой или софтом, а также исправлять их;
- В завершении курса вам будет предоставлен сертификат.
Как проходит обучение?
- Занятия проходят в формате вебинаров или заранее записанных видеолекций;
- Доступ к новому уроку открывается 1 раз в неделю при условии выполненного предыдущего задания;
- Кроме того, необходимо выполнять домашнюю работу, которую проверит преподаватель и даст обратную связь;
- На протяжении всего курса вы можете рассчитывать на поддержку координатора учебного процесса и экспертов;
- В завершении обучения необходимо защитить дипломный проект.
Сколько стоит курс?
Стоимость обучения составляет 19 500 рублей. Доступны корпоративный тариф, рассчитанный на 10 и более человек. Стоимость этого тарифа рассчитывается индивидуально.
Основные навыки и обязанности системного администратора
- Поддерживает работоспособность компьютерной техники, а также обслуживает веб-сервера сети;
- В обязанности может входить ремонт компьютеров, а также диагностика;
- Устанавливает и настраивает программное обеспечение, а также сопровождает работу хостингов, для публикации сайта в интернете;
- Работает с системами управления и хранений данных;
- Владеет языком программирования SQL, а также работает с такими системами как MySQL, PostgreSQL, MS SQL, Oracle, Informix, Firebird;
- Настраивает маршрутизацию и сетевое оборудование, а также сопровождает работу сетей, которые необходимы для соединения офисов;
- Обеспечивает безопасность информации и защищает систему от взломов;
- Знает технических английский язык;
- Среди личных качеств, системному администратору необходимо иметь аналитическое мышление, быть внимательным и стрессоустойчивым, уметь работать сразу с несколькими задачами, быть терпеливым, ответственным, а также организованным.
Может ли человек стартовать с нуля?
Эту профессию можно освоить с нуля самостоятельно, так как не редко особенно в небольших компаниях системными администраторами становятся обычные продвинутые пользователи компьютера, которые могут установить программы, операционную систему, настроить и заправить принтер, установить роутер, и обеспечить IT-поддержку бизнес процессов. Все это не сложно освоить самостоятельно, изучая книги и другие материалы в интернете.
Такие навыки можно развить при обучении в вузе. Однако чаще всего в учебных заведениях преподают теорию. Другой вариант освоить эту профессию на практике – пройти онлайн-курсы. Это позволит вам получить практические навыки, создать свое портфолио, а также сэкономить время на обучении.
DevOps-инженер
По запросу «DevOps инженер» HeadHunter тоже выдает около 3 тыс. вакансий. Подготовленный читатель скажет: «DevOps — это не специальность, DevOps — это философия, набор инструментов». Так и есть!
Что такое DevOps
DevOps — это набор практик для повышения эффективности процессов разработки (Development) и эксплуатации (Operation) софта.
DevOps появился в ответ на конфликт между разработчиками и инженерами эксплуатации (админами, которые поддерживают код): цель первых — выкатывать фичи как можно чаще, цель вторых — поддерживать систему в рабочем состоянии. Так как новый код с высокой вероятностью что-нибудь сломает в проде, эксплуатация его не очень любит. DevOps разрешает это противоречие за счет своей философии и множества разнообразных практик.
Подробно о философии и практиках можно почитать в других статьях, их достаточно. Для целей нашей статьи достаточно понимать два ключевых момента. DevOps предполагает:
- тесное взаимодействие разработчиков и отдела эксплуатации;
- настройку и автоматизацию процессов непрерывной интеграции и непрерывной поставки кода (CI/CD).
Второй пункт часто невозможен без перехода на микросервисную архитектуру. Как правило, она реализуется с помощью Docker и Kubernetes.
Чем занимается DevOps-инженер
DevOps не профессия, но это слово регулярно используют в значении «специалист, который внедряет практики DevOps». Если вы когда-нибудь открывали сайт с вакансиями, то понимаете, о чем речь. Но цель этой статьи не спор вокруг терминологии, а анализ содержания вакансий. К нему и перейдем.
Исходя из философии DevOps, внедрять его практики могут как разработчики, так и инженеры эксплуатации. Но судя по вакансиям, разработчиков у нас на эту роль ищут редко, и требования к DevOps-инженеру во многом пересекаются с требованиями к системному администратору. Смотрите сами.
Требования, совпадающие с требованиям к системным администраторам:
- знание и опыт администрирования Linux, систем контейнеризации (Docker, Kubernetes), баз данных, LAMP;
- понимание принципов работы TCP/IP;
- опыт администрирования SQL и NoSQL баз данных;
- опыт настройки систем мониторинга и логирования (Zabbix, ELK, Grafana, Prometheus);
- опыт конфигурирования инфраструктуры через код (Ansible);
- умение писать скрипты на Bash, Python или Ruby (иногда упоминается Perl);
- опыт работы с облачными платформами.
Требования, которые не встречаются в вакансиях системных администраторов, но типичны для вакансий DevOps-инженеров:
- понимание философии DevOps;
- понимание и следование подходу «инфраструктура как код»;
- понимание жизненного цикла разработки ПО и принципов CI/CD;
- тесное взаимодействие с командой разработки.
Если смотреть по приоритетам, то системный администратор сосредоточивает свое внимание на инфраструктуре, тогда как DevOps-инженер большую часть времени тратит на автоматизацию процессов разработки и релиза, организацию мониторинга.
При этом некоторые вакансии DevOps-инженера действительно похожи на вакансии системного администратора. Иногда в объявлении совсем не упоминается настройка CI/CD, а есть только требование построить и поддерживать кластер на Kubernetes. Но четкой градации между вакансиями нет, разделить их на группы нельзя.
Сергей, СТO в Southbridge:
Ключевой момент, который отличает DevOps-инженера от системного администратора, — это навыки автоматизации и сокращение ручного труда (особенно касается построения CI/CD), понимание процессов со стороны разработки. DevOps должен знать Linux, Git + CI/CD, Ansible, Docker + Kubernetes, Automation and Scripting (обязательно).
Валентина, инженер в МТС:
Топ-5 обязанностей: настраивать CI/CD, автоматизировать и поддерживать инфраструктуру тестовых сред и прода, общаться с разработкой и понимать их код. Топ-5 технологий: Gitlab CI, Docker, K8s, Ansible, Python.
DevOps-инженеры требуются в крупные компании с большими командами разработки, которым важна скорость и качество поставки нового кода. Это все те же онлайн-магазины, онлайн-кинотеатры, банки и телеком-операторы.
Зарплата DevOps-инженеров значительно больше, чем системных администраторов: от 1000 до 3500 USD и выше.
Курс от OTUS
Это углубленный курс по профессии системный администратор. Для того чтобы приступить к обучению необходимо иметь опыт установки Linux, систем виртуализации, а также понимать основы сетей. Длительность обучения составляет 5 месяцев. Ссылка на курс: otus.ru.
Что вы получите в этом практикуме?
- Познакомитесь с архитектурой Linux;
- Освоите современные инструменты, методы анализа и обработки данных;
- Сможете обеспечивать безопасность системы, а также под необходимые задачи подбирать конфигурации;
- Поймете, как настраиваются, обслуживаются и развертываются сети на базе Linux;
- Научитесь обеспечивать стабильную и бесперебойную работу системы;
- В случае успешного обучения, вам будет оказана помощь в трудоустройстве;
- В завершении курса вам будет предоставлен сертификат.
Как проходит обучение?
- Занятия проходят в формате вебинаров 2 раза в неделю по 2 часа;
- После изучения темы учащимся задается домашняя работа;
- По каждому домашнему заданию преподаватель дает развернутый фидбек;
- На протяжении всего курса у вас будет поддержка от преподавателя по любым вопросам, связанным с обучением;
- В завершении обучения необходимо выполнить выпускной проект.
Сколько стоит курс?
Стоимость обучения составляет 89 000 рублей.
Кто такой системный администратор?
Систе́мный администра́тор (англ. system administrator) — сотрудник, должностные обязанности которого подразумевают обеспечение штатной работы парка компьютерной техники, сети и программного обеспечения, а также обеспечение информационной безопасности в организации. Другие названия: сисадми́н (англ. sysadmin), нередко просто админ.
Системный администратор — сотрудник, в обязанности которого входит не только слежение за сетевой безопасностью организации, но и создание оптимальной работоспособности компьютеров и программного обеспечения для пользователей, часто связанных между собой общей работой на определенный результат.
Нередко функции системного администратора перекладывают на компании, занимающиеся IT-аутсорсингом. Обычно такие компании предоставляют более низкую, чем содержание штатного сотрудника, стоимость обслуживания и осуществляют работу на основе абонементных договоров.
Ввиду быстрого роста Интернета и развития сетевых технологий, системному администратору-одиночке становится всё сложнее противостоять всем проблемам, поэтому давно появились специализированные форумы и печатные издания, направленные на расширение кругозора начинающих системных администраторов и оказание помощи в решении различных проблем.
Профессиональный праздник системного администратора — последняя пятница июля.
Системных администраторов можно разделить на несколько категорий:
Администратор веб-сервера — занимается установкой, настройкой и обслуживанием программного обеспечения веб-серверов. Как правило, работает в хостинговой компании.
Необходимы знания Unix-систем (главным образом Linux и FreeBSD), умение конфигурировать веб-сервер Apache и почтовые сервера (qmail, Sendmail, Exim, Postfix), которые установлены на более чем 90% web-серверов во всем мире; дополнительно веб-сервер IIS и ОС семейства Windows Server. Обязательно глубокое понимание модели OSI, стека протоколов TCP/IP.
Администратор базы данных
— специализируется на обслуживании баз данных.
Нужны глубокие знания СУБД (как минимум одной из MySQL, PostgreSQL, MS SQL, Oracle, Informix, Firebird), операционной системы, на которой работает база данных (Windows Server, *nix (главным образом Linux/FreeBSD) или Solaris), знание особенностей реализации баз данных, а также знание информационно-логического языка SQL.
Администратор сети
— занимается разработкой и обслуживанием сетей.Необходимы глубокие познания в области сетевых протоколов (стек TCP/IP, IPX) и их реализации, маршрутизации, реализации VPN, системах биллинга, активного сетевого оборудования (как правило, Cisco), физическом построении сетей (Ethernet, Token ring, FDDI, 802.11).
Системный инженер (или системный архитектор)
— занимается построением корпоративной информационной инфраструктуры на уровне приложений. Работает, как правило, в аутсорсинговой компании либо крупной компании, корпорации.
Нужны знания распространённых ОС (Windows NT, Windows 2000, Windows XP, Linux, FreeBSD, Mac OS); службы каталогов Active Directory, Lotus Domino, LDAP; распространённые СУБД, почтовые, groupware, веб-серверы, CRM, ERP, CMS, системы документооборота — связью которых в контексте бизнес-процессов и занимается.
Администратор безопасности сети
— занимается, соответственно, проблемами информационной безопасности, документированием политик безопасности, регламентов и положений об информационных ресурсах. Работает, как правило, в аутсорсинговой компании либо крупной компании, корпорации.
Требуются знания протоколов шифрования и аутентификации и их практическом применении (VPN, RADIUS, SSL, IPsec, RAS), планировании PKI, системах контроля доступа (брандмауэры, прокси-сервера, смарт-карты, CheckPoint, SecurID), инцидентном анализе, резервном копировании.
Системный администратор малой компании
(от 5 до 50 рабочих мест) — занимается поддержанием работоспособности небольшого парка компьютерной техники и обслуживанием сети.
Не имеет помощников и выполняет все обязанности, связанные с компьютерами и коммуникациями, в том числе техническую поддержку пользователей.
В компаниях, занимающихся разработкой программного обеспечения обслуживает Web-сервера, программы, используемые разработчиками. Также могут тестировать разрабатываемое компанией программное обеспечение.
Требуется знание ОС от Microsoft, офисных и бухгалтерских программ типа Microsoft Office и 1° C, умение прокладывать локальную сеть, начальные знания баз данных и языков программирования.
Типы системных администраторов
Должность сисадмина предполагает длинный список обязанностей. Поэтому в крупных компаниях, где объем работы неподъемный для одного человека, в штате трудятся сразу несколько специалистов, каждый из которых работает по определенному направлению и решает свою часть задач.
Системный архитектор
Его еще называют системным инженером. Это профессионал высокого класса. Работает в корпорациях с разветвленной IT-инфраструктурой и сложной архитектурой сети. Он проектирует IT-инфраструктуру, выстраивает архитектуру, знает все популярные операционные системы, разрабатывает техническое задание для младших сотрудников и контролирует их работу. Может также взаимодействовать с системами CRM, ERP и CMS, базами данных и почтовыми серверами.
Сетевой администратор
Обслуживает, настраивает и развивает логические и физические сети, управляет системами биллинга, учета и контроля трафика, подключает сетевое оборудование, создает частный VPN-сервер. Часто эти специалисты встречаются в финансовой сфере, банках и в сфере телекоммуникаций.
Инженер информационной безопасности
Поддерживает безопасность IT-инфраструктуры корпорации на всех уровнях, защищает систему от внешних и внутренних вторжений, предотвращает утечку и копирование данных. Знает, что такое системы контроля доступа, протоколы шифрования и аутентификации. Особенно востребованы инженеры информационной безопасности в банках, сфере финансовых операций, промышленных организациях, компаниях, работающих с данными клиентов и с коммерческими и технологическими данными.
Администратор веб-серверов
Занимается установкой и настройкой ПО веб-серверов, а также мониторингом их качества работы. Знает Unix-системы, как функционируют разные сетевые модели. Благодаря его труду веб-платформы могут работать.
Отвечает за сбор, переработку и анализ информации, работает с базами и системами хранения и управления данных. Он следит за бесперебойной работой этих систем, ищет и устраняет ошибки и сбои, выполняет резервное копирование, при необходимости восстанавливает базы данных. Знает операционные системы, на которых работают базы данных, и язык SQL.
Администратор систем коммуникаций
Работник настраивает электронную почту, систему телефонной электросвязи, внутренние чаты и отвечает за голосовые конференции. Умеет работать с почтовыми серверами, сетевыми протоколами и с такими базовыми программами, как Microsoft Outlook, Mozilla Thunderbird и Evolution.
Но такое разделение обязанностей принято в крупных компаниях. Небольшие же предприятия нанимают только одного специалиста, который занимается всем и сразу. Он поддерживает функционирование компьютеров, налаживает коммуникации, обеспечивает информационную безопасность, обслуживает веб-сервера и сети и т. д.
Будущее сисадмина
Мне приходилось слышать о деградации профессии системного администратора и аргументы в пользу этого тезиса более чем слабые: справятся роботы, облака гарантируют работу без сисадмина и т.д. Вопрос о том, кто администрирует облака, например, на стороне провайдера, остаётся открытым. На самом деле, профессия системного администратора не деградирует, а трансформируется в сторону усложнения и универсальности. Поэтому если вы выбрали именно её, перед вами открываются несколько путей.
DevOps или DevSecOps — специализация на стыке разработки, администрирования и безопасности
На данный момент внимание к DevOps только растёт и этот тренд продолжится, развиваясь в сторону контейнеризации, нагруженных приложений и систем, микросервисной архитектуры и т.д. Изучайте всё это, пока это выглядит как наиболее приоритетное будущее.
Информационная безопасность — ещё одно направление развития
Если раньше инфобезопасники были только в телекоме и банках, то сегодня они нужны практически в любой ИТ-компании. Сфера непростая, потребует знаний в разработке, системах взлома и защиты, — это гораздо глубже, чем установить антивирус и настроить файервол. И, кстати, для инфобеза есть отдельные специальности в вузах, поэтому если вы в начале пути, можно сразу поступать по профилю, а если «старичок», то можно рассмотреть магистратуру для углубления знаний и наличия диплома.
CTO, CIO — руководящие должности в ИТ-сфере или ИТ-подразделениях компаний. Отличный путь для тех, кто кроме системного мышления и любви к технологиям имеет управленческие и финансовые способности. Вы будете руководить всей ИТ-инфраструктурой, проводить сложные внедрения, выстраивать архитектуры для бизнеса, и это, само собой, очень неплохо оплачивается. Однако, как показывает практика, CTO/CIO в крупной компании — это ещё и умение договариваться, объяснять, обосновывать и пробивать бюджеты, это колоссальные нервы и ответственность.
Открыть своё дело. Например, заняться системным администрированием и поддержкой компаний как аутсорсер. Тогда вы сможете выстраивать свой график, планировать доходность и занятость, предоставлять те услуги, которые у вас выходят особенно круто. Но это непростой путь как с точки зрения набора и удержания клиентской базы, так и с точки зрения управления, финансов и права.
Конечно, можно уйти и в телеком, и в разработку, и в менеджеры по продажам технически сложной продукции (кстати, дорогой вариант!), и в маркетинг, — всё зависит от ваших персональных склонностей и понимания специализации. А можно остаться крутым сисадмином и уделывать всех перечисленных по заработной плате и умениям. Но для этого должны сойтись ваше стремление и ваш опыт и понимание руководством вашей компании значимости ИТ-инфраструктуры (а это уже реально большая редкость).
SRE
Цель инженера по SRE — сделать так, чтобы сервис работал с такой надежностью, которая указана в соглашении о уровне оказания услуг (SLA). Стабильность работы зависит и от инфраструктуры, и от качества кода, поэтому SRE занимается и тем, и другим. Как правило, инженерами по SRE становятся опытные системные администраторы или разработчики. Разработчики даже чаще.
Специальность SRE относительно новая, поэтому вакансий немного. Но и немногочисленные открытые объявления показывают, что ожидания от SRE очень высоки. Этот специалист должен знать все, что знает системный администратор уровня Senior, плюс уметь разрабатывать на одном из языков программирования, желательно не скриптовых.
Пример требований:
- уверенные знания ОС Linux продвинутого уровня работы в консоли;
- опыт разработки на C/C++ или Go;
- понимание работы TCP/IP и HTTP;
- понимание устройства ОС (процессы, память, синхронизация);
- опыт настройки различных инструментов для мониторинга и конфигурирования серверов (Zabbix, Puppet, Ansible или подобные);
- опыт работы с Docker;
- опыт использования облачных сервисов Amazon: EC2, VPC, S3, Route53;
- опыт настройки сетей (инструменты: Nginx, HAProxy, bind, git, iptables, stunnel, OpenVPN);
- опыт настройки виртуальных машин: kvm, xen.
Пример задач:
- оптимизация имеющейся архитектуры и сервисов;
- уменьшение нагрузки на сопровождение и обслуживание сервисов за счет автоматизации;
- изучение имеющихся сервисов и поддержание актуальных знаний по ним;
- активный и проактивный поиск возможных проблем и их устранение;
- обеспечивать заданный уровень SLA & SLO;
- участвовать в инцидент-менеджменте;
- писать postmortem и разрабатывать мероприятия для повышения стабильности сервисов;
- создавать, актуализировать DRP (Disaster Recovery Plan), BCP(Disaster Recovery Plan) и проводить регулярные учения по отказам с последующим анализом результатов;
- участвовать в проработке архитектуры сервисов и изменений их конфигураций;
- оптимизация имеющихся систем observability.
Марсель, CТO в Slurm.io:
SRE-инженер должен быть хорошим программистом, при этом также хорошо должен знать инфраструктуру и DevOps-инструменты. По сути SRE вбирает в себя компетенции DevOps, и это логично, ведь SRE — это реализация того, как видит DevOps компания Google.
Сергей, СТO в Southbridge:
Я считаю, что у нас это скорее хайп, так как SRE и DevOps-инженер часто имеют одни и те же обязанности. На мой взгляд, SRE — это DevOps с бэкграундом разработки. Тут имеется в виду, что такой инженер может не просто написать скрипт на Go, а разобраться в коде и даже подсказать разработчикам, что с инфраструктурной точки зрения работает плохо и что надо улучшить.
Инженеры по SRE нужны еще в меньшем количестве компаний, чем DevOps-инженеры, и это крупнейшие организации.
Зарплаты SRE часто вообще не указывают, а если указывают, то фигурируют суммы в $2000, $2500, $4000.
SSH клиент
Первое место в списке программ системного администратора занимает ssh клиент. Именно в ssh я провожу большую часть своего рабочего времени. Я работаю с linux значительно больше, чем с windows. За время своей работы я перепробовал все, что попадалось на тему ssh клиента. Как и большинство, начинал с putty, потом пользовался kitty. Этот вариант подходит тем, кому надо изредка подключаться куда-то по ssh. Так же тем, у кого в попечении 5-10 серверов с одним паролем или сертификатом на все сервера.
Как только количество серверов вырастает, встает вопрос о поиске более удобной программы для ssh подключений. Я в итоге пользуюсь двумя программами, о которых расскажу подробнее.
mRemoteNG
С этой программой я познакомился очень давно, еще до того, как ее форкнули и добавили NG на конце. Она объединяет в себе все популярные способы удаленного подключения к серверам. Конкретно я использовал следующие:
- ssh
- rdp
- vnc
Очень удобно подключаться к различным серверам из одного места. Все подключения располагаются в одном окне программы в раздельных табах. В этой программе меня устраивало практически все, кроме одного досадного бага, который до сих пор не исправили. Если вы подключаетесь по ssh, то у вас некорректно работает переключение по alt+tab. Если из mRemoteNG вы переключитесь в другое окно, через альттаб, а потом вернетесь обратно этой же комбинацией, то попадете не в mRemoteNG, а в другую программу.
Такое поведение связано с тем, что для ssh подключения используется putty, сама программа написана на .net. Эта связка как-то некорректно работает в плане переключения окон. Я читал на сайте разработчиков отзывы об этом баге, там есть все подробности. Они пишут, что пока не уйдут от putty, исправить этот баг невозможно. А жаль, так как программа меня на 100% устраивает, но вечные проблемы с alt+tab меня все же вынудили искать замену для ssh. И я ее нашел, а mRemoteNG использую для rdp и vnc подключений.
Данная программа имеет портированную версию и легко синхронизируется через облачные хранилища файлов, что добавляет ей плюсов. Из минусов как раз использование putty, в которой лично мне очень не нравится то, что она использует свой формат приватных ключей. Приходится использовать puttygen для конвертации ключей.
Эта программа стала незаменимой для меня, когда число управляемых серверов перевалилось за 30-40. С ее помощью можно выстраивать древовидную структуру вложений для подключений, сохранять учетные данные. И все это в одном месте для всех протоколов. mRemoteNG отличная программа для системного администратора. Лучше по функционалу я не встречал. Может когда-нибудь и недостатки исправят.
Минус, как я уже говорил — некорректное переключение по alt+tab при работе с ssh и отсутствие пароля на запуск
Это важно, так как все пароли у вас хранятся в программе, при этом она еще и портированная. В итоге все ssh подключения я из нее убрал и стал пользоваться другой программой
Xshell 5
Этот ssh клиент под windows меня устроил всем. В нем много настроек, после установки я долго разбирался с ними, чтобы все сделать красиво и удобно. Вот пример, за что я люблю этот клиент.
Вы можете расположить окна, к примеру, вот так и что-то отлаживать. Если у вас несколько мониторов, как у меня, то сможете разные экземпляры программы с разными подключениями расположить по разным мониторам. Я, к примеру, люблю так тестировать нагрузку на web сервер. На одном мониторе открываю ssh окна с нужными метриками, на другом графики из zabbix. Даю нагрузку и в режиме реального времени смотрю, что происходит на сервере.
Xshell 5 избавлен от всех недостатков предыдущей программы:
- Корректно переключается по alt+tab.
- Имеет пароль на запуск программы.
- Использует стандартный формат приватных ключей, в отличие от putty.
Интерфейс неплохо кастомизируется. Я убрал вообще все лишнее с окна программы. Запомнил горячие клавиши и пользуюсь только ими для создания подключений, изменения и т.д. Подключения ssh могут организовывать древовидную структуру, имеют массу настроек. Можно менять цвета в консоли, цвета заголовков окон и т.д. Таким образом можно удобно помечать наиболее важные сервера отдельным цветом, или тестовые. Я так делаю для некоторых серверов. Можно разделять сервера разных организаций разным цветом.