Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Какие навыки нужны для DevOps-инженера?

Счего начать изучение DevOps?

Привет ребят!
Помогите с направлением я сисадмин уже как 10 лет опыт с юниксом есть (сквид, нжинкс и по мелочи)
с чего начать изучение DevOps направления?
1)незнаю как происходит доставка кода в продакшн (стеджинг и тд)
2)как производить деплой и чем его делают

Да и вообще с чего начать и куда двигаться
Прошу не пингать за нубовский вопрос а отнестись с пониманием
Спасибо
  • Вопрос задан
  • 7248 просмотров
Подписаться 29 Средний 1 комментарий
Решения вопроса 2
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
Saboteur неплохо ответил(что не отменяет того что все остальные ответившие тоже правы)
Девопс - это практики. Это не набор инструментов( инструменты используются на определенных этапах, реализация которых необходима для приближения к идеалу), однако определенные необходимые инструменты опять же есть.
Про девопс можно прочитать очень много информации, но я, как админ (win-админ :D) вижу ситуацию для вас, как и любого, с опсовой основой, примерно так:
  1. Жирным вы выделили вопросы который для вас вот конкретно сейчас не играют ни малейшей роли. Дмитрий Шицков и Saboteur написали почему: зависит от проекта.
  2. Завет любого ops-а: автоматизируй всё что можно
    Если выбор между configuration management (chef, ansible, puppet и тд) и скриптами - то лучше первое. Хотя и тут можно поспорить, у меня в проекте chef-ом автоматизированное не очень-то используется на последнем этапе доставки в прод, поскольку мы все равно запечатываем машину и запускаем в AWS с asg без пост-конфигурации. Тут можно до посинения спорить хорошо это или нет, но скрипты в идеальном мире проигрывают DSL
  3. Вы пишете код для автоматизации
    Вам понадобится git (который тянет за собой git-хостинг: bitbucket, github, gitlab и тп.) и навыки правильной работы с гитом. Для отслеживания и планирования изменений - понадобится какой-нибудь таск трекер (jira, таск трекер встроенный в gitlab, что-то другое).
  4. Инфраструктура как код
    Автоматизируй всё означает автоматизацию развертывания инфраструктуры
    Здесь уже вступают в силу особенности вашего окружения - в облаках вы скорее всего захочете использовать terraform или, например, CloudFormation в AWS - встроенное средство оркестрации, или же будете сразу все запускать в контейнерах - docker , kubernetes используя соответствующие инструменты.
  5. Мониторинг
    Без правильного и подходящего вашему продукту мониторинга(+логирования) жить нельзя. И это было еще до DevOps тренда - это классика администрирования. Здесь ничего не посоветую, с Zabbix-ом сам не ужился, переехал на influx и прилегающие (TICK stack). Для логирования - graylog, ELK. В некоторых частях используется prometheus который в том числе и для кубера удобен. В общем - с чем подружитесь.


Это только то, что вы уже должны знать и вам легче будет к ним приступить.
Будете хорошо ориентироваться (не только знать, но и выбрать правильные инструменты, уметь построить правильный пайплайн) - вас с руками оторвут, несмотря на то что вы можете быть слабы в других областях (тестирование, билд и проч.)

Для примерного осознания всего цикла можно посмотреть на (картинка относительно рандомная,таких много, два года назад я ориентировался по другой, с более подходящим мне списком инструментов, но найти не могу =( )
Slide1.jpeg

P.S. Еще раз хочу отметить что описанное выше основано на личном опыте и это - движение в devops со стороны ops. Есть те, кто сразу пытаются строить все по девопсу параллельно обучаясь опсовой части и девелоперской( видел таких, не у всех получалось ). Есть те, кто двигается в девопс со стороны Dev. Все будут иметь разные мнения что важно для того, чтобы начать
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Системное администрирование
software engineer
1. для начала git плюс какая-нибудь система управления (подойдет знакомство с github)

2. Во-вторых CI Инструмент - Jenkins или Teamcity.
Попробуйте для начала установить локальный дженкинс, и какие-нибудь задачи перенести из cron в Jenkins, посмотреть как это работает

3. Виртуальные машины не должны быть проблемой, vmware и virtualbox сейчас потихоньку замещаются облаками и контейнерами. То есть было бы неплохо иметь базовое представление о том, как работать с docker, aws, kubernetes. Этого будет достаточно, чтобы прийти помощником девопса.

4. Деплой это вопрос отдельный, зависит от проекта. Их множество.

5. Неплохо бы знать что примерно делает maven - это поможет в java проектах.
Ответ написан
Ответы на вопрос 6
neatsoft
@neatsoft
Life is too short for bad software
Базис:
The Twelve-Factor App (перевод)

Список необходимых инструментов и технологий:
DevOps Roadmap
Ответ написан
Continuous Integration and Delivery - GitLab TravisCI CircleCI
Docker -> docker-compose -> Kubernetes
Это базовое начало, которое доставит море хлопот .
Ответ написан
Так же понадобится знание bash (скрипты), большим плюсом будет знание какого либо ЯП, например python. Зачастую будет необходимо понимать суть чужого кода на незнакомых ЯП.
Знание Jenkins, и, например, GitlabCI.
Какой-либо системы оркестрирования: ansible, puppet, chief, solt...
Лично у нас деплой через capistrano, но деплой-систкм так же превиликое множество.
У каждой команды будет свой стек инструментов и методик. Нужно приходить в команду и прыгать в этот омут.
Ответ написан
@rustler2000
погромист сикраш
Sanes
@Sanes
Docker, Ansible, Puppet, Chief для начала. Про bash и Python наверное и так понятно.
Но стек у всех компаний разный.
Ответ написан
insiki
@insiki
broken pipe
Неплохо раскрыта тема здесь Как попасть в DevOps, как учиться и что читать
Ответ написан
Ваш ответ на вопрос

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

Потому что уже есть похожий вопрос.
Похожие вопросы
12 дек. 2024, в 22:26
1500 руб./за проект
12 дек. 2024, в 22:24
1000 руб./за проект
12 дек. 2024, в 21:16
15000 руб./за проект