Язык для системного администрирования

Выбираем язык для системного администрирования

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

PowerShell

За последний месяц мы уже дважды рассмотрели, как скриптовые языки операционных систем могут стать добрым другом сисадминщика. PowerShell — продукт экосистемы Windows, он понятен, удобен и весьма функционален. Из минусов можно выделить сравнительно невысокое быстродействие, особенно по сравнению со следующим языком. Но так как Windows всё еще доминирующая ОС на стационарных компьютерах, то знание PowerShell — номер один в списке абстрактных must-have языков для системного администратора.

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

Python

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

Perl — язык, разработанный специально для тесного взаимодействия с текстом, впитавший всё лучшее от Unix Shell, Awk и С. Это означает, что по определению он превосходит в своих возможностях и удобстве скриптовые языки, а функциональный перечень необычайно широк. При всём этом стоит сделать одну небольшую оговорку: большинство административных решений на Perl, описанных в соответствующей литературе, сегодня с куда большей эффективностью реализуется на других языках, в том числе Python или Ruby. Поэтому хоть Perl формально и популярен, но уже понемногу уходит в прошлое.

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

Visual Basic

Несмотря на достаточно спорное наследие, VB сегодня является прекрасным инструментом в среде Windows. В частности, упрощённая реализация VBA позволит вам писать полезные скрипты для MS Office, AutoCAD, SolidWorks, а также компонентов ActiveX.

Языки веба

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

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

PowerShell

За последний месяц мы уже дважды рассмотрели, как скриптовые языки операционных систем могут стать добрым другом сисадминщика. PowerShell — продукт экосистемы Windows, он понятен, удобен и весьма функционален. Из минусов можно выделить сравнительно невысокое быстродействие, особенно по сравнению со следующим языком. Но так как Windows всё еще доминирующая ОС на стационарных компьютерах, то знание PowerShell — номер один в списке абстрактных must-have языков для системного администратора.

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

Python

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

Perl — язык, разработанный специально для тесного взаимодействия с текстом, впитавший всё лучшее от Unix Shell, Awk и С. Это означает, что по определению он превосходит в своих возможностях и удобстве скриптовые языки, а функциональный перечень необычайно широк. При всём этом стоит сделать одну небольшую оговорку: большинство административных решений на Perl, описанных в соответствующей литературе, сегодня с куда большей эффективностью реализуется на других языках, в том числе Python или Ruby. Поэтому хоть Perl формально и популярен, но уже понемногу уходит в прошлое.

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

Visual Basic

Несмотря на достаточно спорное наследие, VB сегодня является прекрасным инструментом в среде Windows. В частности, упрощённая реализация VBA позволит вам писать полезные скрипты для MS Office, AutoCAD, SolidWorks, а также компонентов ActiveX.

Языки веба

Источник

Python для системных администраторов

Автор перевода messerr, просто с кармой ему не повезло.

Введение

О модулях

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

Заставим Python работать

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

Пример 1: Поиск файлов и отображение прав в дружественном формате

Листинг 1. Поиск файлов и отображение результатов с правами доступа.

$ python example1.py
Enter the file pattern to search for:
j*.py

Листинг 2. Вывод первого примера

$ python example1.py
Введите шаблон поиска:
j*.py
Файлы:
jim.py
jim2.py

================================
Permissions for file jim.py :
USR имеет R права доступа
USR имеет W права доступа
USR не имеет X прав доступа
GRP имеет R права доступа
GRP не имеет W прав доступа
GRP не имеет X прав доступа
OTH имеет R права доступа
OTH не имеет W прав доступа
OTH не имеет X прав доступа
Permissions for file jim2.py :
USR имеет R права доступа
USR имеет W права доступа
USR не имеет X прав доступа
GRP имеет R права доступа
GRP не имеет W прав доступа
GRP не имеет X прав доступа
OTH имеет R права доступа
OTH не имеет W прав доступа
OTH не имеет X прав доступа

Пример 2: Выполнение операций с архивом tar при помощи меню

Листинг 4. Меню пользователя для второго примера

$ python example2.py jimstar.tar
Введите
1 чтобы извлечь файл
2 чтобы вывести информацию о файле в архиве
3 чтобы показать все файлы в архиве

Пример 3. Проверка запущенного процесса и отображение информации в дружественном представлении.

Одной из важнейших обязанностей системного администратора является проверка запущенных процессов. Скрипт в Листинге 5 даст вам несколько идей. Программа использует преимущества возможностей Unix: команда grep использует вывод, генерированный другой командой. Это позволит вам уменьшить объем данных, которые в дальнейшем будет анализировать Python.
Программа так же использует модуль string. Изучите этот модуль — вы будете часто его использовать.

Листинг 5. Отображение информации о запущенном процессе в дружественном представлении

$ python example3.py
Введите имя программы для проверки: xterm
Путь: pts/0
Владелец: goga
ID процесса: 26509
ID родительского процесса: 26493
Время запуска: 17:28

Пример 4. Проверка имен пользователей и паролей на соблюдение политики безопасности. Управление безопасностью важная часть работы для каждого системного администратора. Python делает эту работу проще, как показывает последний пример. Программа в Листинге 7 использует модуль pwd для доступа к базе данных паролей. Она проверяет имена пользователей и пароли на соблюдение политики безопасности (в данном случае, имена должны быть как минимум 6 символов в длину, пароли — 8 символов). Есть два предостережения:
Эта программа работает только если у вас есть полные права для доступа к /etc/passwd.
Если вы используете теневые пароли, скрипт работать не будет (однако, в Питон 2.5 есть модуль spwd, который решит эту проблему).

Листинг 7. Проверка имен пользователей и паролей на соблюдение политики безопасности

Листинг 8. Вывод четвертого примера

$ python example4.py
Следующие пользователи имеют имена менее чем из 6 символов::
Guest
Следующие пользователи имеют пароли менее чем из 8 символов:
Guest
johnsmith
joewilson
suejones

Источник

👨‍🔧️ Зачем DevOps сисадмину и программисту?

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

Почему DevOps?

Путей развития у сисадмина довольно много: он может уйти в большую компанию и дорасти до управляющего железом операторского класса сетевого инженера, а то и до системного архитектора, если есть охота заниматься бумажной работой. Некоторые становятся специалистами по ИБ или уходят в управленцы (ИТ-менеджеры). Из позволяющих совершенствоваться в техническом направлении специальностей ближе всего к системному администрированию стоит DevOps. Настолько близко, что эти профессии часто путают.

Разница все-таки есть: практики DevOps (Development Operations) сочетают разработку (Dev) и ИТ-операции (Ops) для обеспечения непрерывной поставки софта заказчикам. Навыки администрирования относятся к Ops – это лишь часть необходимого инженеру багажа, хотя и достаточная для старта в новой профессии. Не случайно многие девопсы вышли из сисадминов, а споры о различиях между профессиями не утихают годами. И те и другие делают, чтобы все работало, но в случае DevOps в квесте возникают дополнительные уровни сложности.

Иллюстрация с pixabay.com

С программистами интереснее. Им работа дает массу перспектив и позволяет заниматься любимым делом хоть до пенсии. Расти можно в любом направлении, к тому же отрасль все время подкидывает новые. Сменить профессию программисту стоит, только если ему захотелось заняться чем-то другим, а вот дополнять багаж сопутствующими навыками придется до бесконечности. DevOps и в этом случае – не самый плохой выбор. Часто разработчикам приходится брать на себя обязанности смежников, если в проекте нет нужных специалистов. Процесс кодинга тоже пойдет легче, когда есть понимание особенностей развертывания и сопровождения создаваемого продукта.

Освоивший практики DevOps программист перестает думать алгоритмами и кодом. Эволюция сисадмина идет другим путем, но сходным образом: где разработчики получают навыки администрирования, там администраторы нарабатывают скилы разработчиков. Это грубая и неточная формулировка, но суть дела она отражает. Когда Dev и Ops сходятся в одном человеке, наступает просветление. У программиста появляется навык работы с инфраструктурой и видение всего ландшафта, а понимание привязки приложения к местности позволяет ему писать более качественный код. Отошедший от сферы обслуживания в сторону создания платформы сисадмин учится объединять разрозненные ее части, т.е. создавать для компании новую ценность – интегрированный инфраструктурный продукт.

Как познать мудрость?

Если системный администратор или разработчик решили эволюционировать в более развитую форму ИТ-организмов, им придется наметить для себя путь к цели. Освоить практики DevOps можно, постепенно включаясь в работу, но бессистемный подход к обучению не всегда дает хороший результат. К тому же в девопсе не бывает джунов: работодателям нужны готовые боевые единицы, способные закрыть проблемные участки. Новичкам помогут онлайн-курсы с продуманной программой и опытными преподавателями. Незачем наступать на собственные грабли, проще за относительно небольшое время (как правило несколько месяцев) изучить чужой систематизированный опыт без отрыва от производства.

Иллюстрация с pixabay.com

После обучения выпускник может рассчитывать на новую должность или хотя бы на прибавку к зарплате. Околокомпьютерную романтику девяностых DevOps не вернет, времена «Хакеров» и «Лабиринта отражений» прошли безвозвратно. Сейчас работодатели ценят крепких профессионалов, а шаманы никому не нужны, но это и хорошо. Романтика организму требуется лишь время от времени, а кушать ему хочется всегда.

Чтобы сделать выбор, начать в любом случае стоит с профориентации. Компания OTUS проводит запись на бесплатный день открытых дверей к объемному онлайн-курсу по практикам и инструментам DevOps. Позже будет еще один предварительный вебинар по этой теме, но чтобы на него попасть, нужно пройти тестирование. Аналогичные мероприятие запланированы и для курса по Kubernetes. После регистрации все желающие смогут познакомиться с преподавателем и учебной программой на вебинаре, а прохождение теста позволит поучаствовать в бесплатном вводном онлайн-занятии. Успешно окончившие курс студенты смогут пройти сертификацию от CNCF: CKA и CKAD. Специально к ней не готовят, но встречающиеся на экзамене темы освещаются подробно.

Источник

Поделиться с друзьями
admin
Оцените автора
( Пока оценок нет )
Как переводится?
Adblock
detector