Как можно сис. Навыки администратора, чтобы работать инженером DevOps?

10

Я ищу рекомендации о том, как стать квалифицированным инженером DevOps.

Я всегда хотел работать над проектами, связанными с разработкой, так как я люблю программировать, но, к сожалению, у меня никогда не было шанса. Ранее я работал над внештатными проектами, использующими .Net и PHP, и я сертифицирован в Java SE, но никогда не использовал его.

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

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

Мой текущий набор навыков:

Sys. Администратор

  • Администрирование Unix (HP-UX, Solaris) и Linux (Ubuntu, Red hat, CentOS)
  • Администрирование Middleware Technologies (WebLogic, Apache-Tomcat, WebSphere, MQ)
  • Bash / Shell Scripting

  • Настройка и администрирование веб-сервера

  • Отличное знание общих систем баз данных (SQL Server, Oracle, MySQL и т. Д.)
  • Веб-сервисы и интеграции SOAP / REST / API
  • Oracle Business Intelligence Suite (OBIEE, DAC, Informatica)
  • ITSM Remedy Разработка и администрирование.
  • SAP Business Object (Аналитика).
  • Splunk
  • Сервисный центр - Управление ИТ-услугами с поддержкой ITIL
  • Сильное понимание технологий веб-приложений.

разработчик

  • Экспертные навыки разработки в Microsoft Visual Basic.
  • Отличные навыки разработки в Java SE.
  • Microsoft .Net Development
  • Разработка MS SharePoint.
  • Эксперт в MS Office с экспертными знаниями в области макросов и автоматизации во всех приложениях MS Office.
  • Промежуточная разработка PHP (CakePHP)
user3561596
источник

Ответы:

8

Посмотрите на роли инженера DevOps и ознакомьтесь со списком технологий, которые они ищут. Как правило, вам потребуются навыки написания сценариев автоматизации (например, Bash, Python или PowerShell), навыки управления конфигурацией (например, Chef, Puppet или Ansible) и некоторый фундаментальный опыт поддержки и настройки конвейера сборки / выпуска. Для этого обратите внимание на опыт работы с инструментами CI / CD, такими как AppVeyor (.NET), Jenkins, Travis CI и т. Д. Вы также должны быть знакомы с Git и системами контроля версий в целом, такими как BitBucket или TFS. Вам также будет полезно ознакомиться с методами автоматического тестирования.

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

Для более общего понимания философии DevOps (будьте осторожны с тем, что это культура, а также набор технологий), прочитайте как можно больше по этой теме и начните следить (например, через Twitter) за такими людьми, как Джин Ким, Джез Хамбл и Патрик Дебуа. Также я рекомендую вам прочитать Руководство DevOps, которое они написали. Это очень подробное объяснение того, что такое DevOps, а также того, как организации могут его принять.

Вы также можете проверить связанные с DevOps встречи и конференции (такие как Velocity , DevOpsDays и Config Management Camp ). Возможности, конечно, будут зависеть от того, где вы находитесь.

Марк Рэгг
источник
хорошо сказано ... из моего опыта перехода от разработки в DevOps и работы с системными администраторами им, как правило, не хватает навыков, наиболее востребованных в форме контроля версий (Git), базовых навыков написания сценариев (bash или Python) и способности создавать конвейеры используя что-то похожее на Jenkins Pipeline DSL .. Я бы также порекомендовал terraform в дополнение к знанию одного из основных инструментов CM (puppet, chef, ansible, salt)
TechDawg270
2

Составьте список инструментов DevOps, которые кажутся популярными, скачайте, следуйте инструкциям и просто сделайте это.

  • бродяга
  • анзибль
  • докер
  • Kubernetes / OpenShift

Это даст вам хороший старт с инструментами, находящимися ближе к стороне «Ops», и - если вам удастся также понять, почему и для чего используются эти инструменты - сделает вас достойным членом большинства команд. Вы можете взять больше Dev-sided-битов и кусков по мере продвижения (например, конвейеры CI / CD и т. Д.).

Anoe
источник