Что учить, чтобы расти в сторону DevOps?

Всем привет. Я являюсь студентом, сейчас изучаю Linux на базовом уровне. Вроде того: основные команды, мониторинг системы (top, htop, ps), bash, awk, sed, vim. Заметил, что сейчас очень популярна следующая профессия, и называется она: DevOps. Что нужно изучать, чтобы претендовать на этот пост? Особые трудности сейчас у меня вызывают сети (модель OSI, VLAN, NAT, Route) и SQL. Но вроде python дается не так сложно. Так что, можно стать DevOps'ом вовсе не зная сетей и SQL? Или это крайне необходимо?
  • Вопрос задан
  • 9422 просмотра
Решения вопроса 1
zoonman
@zoonman
⋆⋆⋆⋆⋆
DevOps расшифровывается как Development Operations.
В повседневные задачи DevOps инженера входит управление инфраструктурой приложений (в основном веб).
Что должен знать и уметь такой инженер - например по клику кнопкой в нужном датацентре произошел деплой приложения. DevOps должен суметь создать этот интерфейс с кнопкой и автоматизировать процесс приобретения инстанса (например в AWS), установки операционной системы и необходимых пакетов, доставки приложения на этот инстанс, прописывания всех настроек в приложении и приведение приложения в полную боевую готовность, т.е. состояние, в котором к приложению можно пускать пользователей.

По пунктам, что нужно знать и уметь:
  • неистово учиться и гуглить
  • сетевые технологии, на уровне маршрутизации, TCP/IP, DNS, SMTP и остальных протоколов начиная с 3 уровня модели OSI
  • сетевые операционные системы (преимущественно семейства Linux) на уровне автоматизирования установки, обновления, настройки безопасности и мониторинга
  • системы виртуализации (Xen, OpenVZ) и контейнеризации (Docker, Vagrant)
  • настраивать сервера и мигрировать конфигурации, например перейти с Apache на Nginx, или с PHP на HHVM
  • Chef
  • Puppet
  • Ansible
  • Capistrano
  • VCS
  • AWS/OpWorks/CloudFormation/CodeDeploy, OpenStack
  • Munin/Logstash/Kibana и другие связки для мониторинга
  • Continuous delivery
  • Программировать на Bash, Ruby, Python, Go, Perl, уметь понимать конфиги на самых экзотических языках, например YAML
  • TDD
  • продукты hashicorp
  • автоматизировать создание и восстановление бэкапов баз данных
  • масштабировать приложения по горизонтали (настраивать балансировщики, реверс-проксирование, шардинг и репликацию в базах)
  • рассчитывать и оптимизировать издержки на поддержание инфраструктуры приложений
  • видеть будущее инфраструктуры приложения и компании, двигать инфраструктуру в это будущее


DevOps - это хипстерный вариант программирующего сисадмина. Нужно уметь очень быстро учиться и непрерывно осваивать новые технологии. Если какая-то технология только в альфе, вы уже должны учиться уметь ею пользоваться. В момент беты вы ее уже должны обкатывать в пилотных проектах, а релиз должен автоматизированно устанавливаться в продакшене.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Sanes
@Sanes
А вы и не сможете всё знать. DevOps это, как эникей. Куда ветер подул, то и учит.
Ответ написан
redsabien
@redsabien
Слушай, можешь еще lisp выучить если хочешь быть DevOps, где большие данные там lisp,
где DevOps, там часто работа с данными и ее анализ, ну или тесная работа с аналитиками.

По поводу сетей наверное не стоит беспокоится, это пару лабороторок выполнить и все поймется.
Ответ написан
@Polina_G_23
Постоянный автор журнала «Системный администратор»,
технический эксперт – Игорь Штомпель предложил дискуссию в журнале «Системном
администраторе» не только о преимуществах и востребованности DevOps-инженеров,
но и какой проектный опыт, технические навыки сейчас необходимы для новой
вакансии в компаниях.
Сотрудничество разработчиков и системных администраторов помогает сократить
количество проблем при внедрении больших распределённых систем. Теперь
ИТ-процессы происходят уже за меньшее количество времени. Бизнесу проще
успевать и за конкурентами, и за рынком. Не остались без внимания задачи
клиентов и конечных пользователей. Этот технический союз повлиял на методологию
триединства: люди, процессы и инструменты, а именно – DevOps. То есть
оптимизированы ресурсы и возможности не только в команде ИТ-специалистов, но
также и всей технической среды компании.
При правильном внедрении и построении DevOps-культуры быстрее находятся
проблемы и ошибки, и соответственно, их решение происходит уже более
оперативно. Приложения становятся более надёжными, соблюдается CLA.
DevOps-инженеры имеют достаточно опыта в обеих областях: это и хорошие
сисадмины, и замечательные разработчики. Поэтому крайне востребованы на рынке
труда. В вузах, на данном этапе, такой специализации пока нет.
А хороших DevOps-специалистов мало. Поэтому постоянный автор журнала «Системный
администратор», технический эксперт – Игорь Штомпель начинает новую рубрику в журнале «Системный администратор» о DevOps направлении в ИТ-проектах. Более подробно в группе ВКонтакте журнала «Системный администратор» https://vk.com/samag?w=wall-26064343_870 Свои предложения, участие в будущем разделе в качестве автора, интервьюера можно оставлять в комментариях группы VK или на сайте издания.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы