Всем привет :)
Небольшое предисловие: эта статья не является рекламной, ни в коем случае не призывает к изучению Linux как must have для миграции с NT-систем
Итак, начнем
В процессе роста из эникея сисадмин должен знать несколько базовых вещей, а именно:
- основы теории сетей
- обладать минимальной логикой для написания скриптов автоматизации
- уметь пользоваться базовыми функциями cli - будь то Powershell или bash
1) По теории сетей есть отличный платный курс на https://www.specialist.ru/course/seti1-a
там расскажут весь минимальный набор необходимой матчасти и в процессе дадут протестировать свои знания
2) логика приходит с опытом решения каких-либо простеньких задачек (прим. пара моих прошлых статеек)
в процессе накопится "база знаний" (мы же сохраняем обычно наши написанные скрипты, да?), из этой базы можно собрать комбайн по-сложнее, например вынести рассылку по AD-шке на nginx (желательно для начала только для себя одного во избежание неуместных проблем от умных юзеров, которые любят везде полазить)
3) с освоением базовых функций баша поможет курс Семаева - LPIC-1
https://www.youtube.com/watch?v=rKCu-tfL730&list=PLmxB7JSpraiep6kr802UDqiAIU-76nGfc
ссылка на 1ую часть экзамена, в плейлистах есть 2ая
так же параллельно для подтягивания теории можно посмотреть еще несколько курсов на https://www.specialist.ru/course/guide/17
я дошел до "Linux уровень 2", возможно продолжу, как появится время - ребята там грамотно объясняют, этого набора вполне хватит, чтоб попасть на вакансию джуна сисадмина
Если это получилось реализовать и вы стали джуном работа будет строиться вероятно следующим образом:
1. недели 2-3 на вникание, сразу никто в пожар в нормальной компании вас не закинет, так что привыкаем к окружению, где что лежит и т.д.
2. непрерывно пашешь в течение полугода, повышаешь свои компетенции
3. в процессе, вероятно через 2-3 месяца скорее всего выдают доступ к ансиблу или иному инструменту управления конфигами
4. если всё хорошо по прошествии полугода - дают возможность поработать с серверами и приложениями под серьезной нагрузкой, но уже без присмотра
5. в процессе изучения ансибла очень большая вероятность, что необходимо будет изучать контейнеризацию
https://www.youtube.com/watch?v=fgdcgEcI1KA&list=PLdYH-BkSbBMJd-QF_7rTpka_hl9Ndq950
достаточно подробно объясняет человек из Datastax.
Кстати в нагрузку еще можно посмотреть курсы DSE-101, 210, 220 - это по NoSQL-базе Cassandra, в книжке по ней очень хорошо описана теория и отличия NoSQL-баз от RDBMS
6. так же в процессе работы необходимо будет более глубоко изучать БД (select, insert, update мы ж умеем уже, да?) - т.е. как работает, ёё тюнинг, типовые проблемы при сбоях, достаточно на более менее поверхностном уровне (мы ж не dba, да?)
7. всё изучили, нагрузка уже не пугает, чувствуем, что кругозора нам нехватает и начинаем развиваться - для начала собираем генту, далее учимся пользоваться компиляторами, собираем программы из исходников, понимаем принцип зависимостей при сборке
8. по мере роста и изучения контейнеризации (пока только докер) рано или поздно (если всё хорошо) придет пора столкнуться с k8s, отличный курс показан на этом канале, а так же в документации к самому куберу https://www.youtube.com/watch?v=Amkkr4_nsyc&list=PL3SzV1_k2H1VDePbSWUqERqlBXIk02wCQ
ВАЖНО - если под рукой есть несколько виртуалок для экспериментов - лучше раскатать их через kubespray, чем ковыряться с minikube
8. мы изучили поверхностно k8s на опыте копипаста манифестов под свои нужны, появилась нагрузка - работаем некоторое время
9. научились сами с нуля писать манифесты, текстовые редакторы уже не радуют глаз (ноутпад/вим и т.д.) - у нас появляется IDE-шка - VSCode или IDEA Intellij например (это из тех, что мне понравились) - постепенно начинаем скучать - пробуем развернуть подобие схемы взаимодействия инфры у себя на виртуалках (например если это GitOps подход - то нужен harbor, gitlab, k8s и еще несколько вещей) - пробуем, тестируем, балуемся, познаём, как работает под капотом, не ломая продовую инфру на своей работе, параллельно изучаем языки python и/или (желательно И) go
10. вроде как привыкли, заскучали - идем дальше еще более сложным путём - помните, мы собирали генту? так вот можно собрать кубер (в первое время мы не будем особо ковыряться в ансибле кубспрея, как и понимать, что там и как происходит, ведь мы пока не строим инфраструктуру с нуля) - https://github.com/kelseyhightower/kubernetes-the-hard-way
для более широкого понимания работы etcd, containerd, кластеризации и работы основных сервисов k8s
11. если всё идет хорошо - вас допускают до редактирования пайплайнов выкатки софта, который поставляет ваша компания (мы же в ИТ компании работаем, да?), повышается уровень ваших компетенций на одном проекте, далее вам дают в нагрузку изучение еще одного проекта, после чего - его принятия в эксплуатацию/развитие
В общем то возможностей для роста - безгранично много, главное не останавливаться на достигнутом и важно то, (ВНИМАНИЕ!!!) курсы никогда не дадут ПОЛНОЙ информации по сабжу, надеяться, что после них вы будете знать всё - не нужно, важно продолжать изучать предмет самому, всегда будут нюансы, о которых вы можете не знать
Важно понимать еще один момент: строить инфраструктуру как код намного интереснее, чем просто пользоваться уже готовыми пайплайнами/плейбуками, написанными за вас
P.S. Моя статья не претендует на правильность профессионального роста
Всем кто осилил и дочитал мои "многа букаф" - большое спасибо :)