ћерион Ќетворкс

10 минут

»так, вы хотите стать DevOps-инженером? Ёто впечатл€ющий, сложный и высокооплачиваемый вариант карьеры, но така€ ключева€ роль объедин€ет разработку программного обеспечени€ и его эксплуатацию. ћы составили дорожную карту DevOps, котора€ включает в себ€ все шаги, которые необходимы дл€ того, чтобы зан€ть место эксперта DevOps.

ƒорожна€ карта DevOps

 ак вы знаете, DevOps – это набор практик и инструментов дл€ интеграции и автоматизации процессов между IT-командами и командами разработчиков программного обеспечени€. ѕоэтому он фокусируетс€ на общении и сотрудничестве между командами, использу€ лучшие инструменты автоматизации, доступные дл€ повышени€ эффективности.

—ледующий акцент делаетс€ на объединении тех, кто работает в области разработки программного обеспечени€ с развертыванием ѕќ, а также на обеспечении высокого уровн€ структурной и технической поддержки.

Ёто все означает, что DevOps-инженеры должны знать свое дело, чтобы справитьс€ с этой неподъемной задачей. ј что же тогда такое «их дело»? ќказываетс€, что это не просто их дело, но и дело всех остальных.

 онечно, это может звучать, как что-то неверо€тное, что мало кто может преодолеть. DevOps-инженеры действительно €вл€ютс€ экспертами высокого уровн€, и стать одним из них также практически невозможно. ¬месте с тем, данное руководство поможет вам четко пон€ть, какие шаги необходимо предприн€ть, прежде чем начать свое путешествие по DevOps.

ƒавайте посмотрим.


«ачем вам нужна дорожна€ карта DevOps?

¬ нашей статье о DevOps рассказываетс€ о том, почему стать DevOps-инженером так сложно, ведь DevOps-команды включают в себ€ разработчиков и IT-специалистов, работающих рука об руку на прот€жении всего жизненного цикла проекта.

» поэтому, дорожна€ карта DevOps предполагает высокие навыки и необходимые шаги, которые помогают повысить скорость и качество разработки и развертывани€ и предотвратить организационную разрозненность. »ногда команды объедин€ютс€, чтобы максимизировать эффективность, при этом инженеры работают на прот€жении всего жизненного цикла продукта или приложени€.

»так, каковы же эти требовани€? ¬от этот исчерпывающий список дл€ того, чтобы получить эту дорожную карту, котора€ направит вас на верный путь.


 ак стать DevOps-инженером за 14 шагов

1. »зучайте €зыки программировани€

ѕервый шаг к тому, чтобы стать DevOps-инженером, - это владение одним или несколькими €зыками программировани€.  онечно, вы не будете интегрировать базы данных или автоматизировать процессы разработки и развертывани€, отлаживать базы данных, отлаживать код и исправл€ть возникающие проблемы, но в результате вы должны внести свой вклад в поддержание конвейера непрерывной интеграции/поставки в рабочем состо€нии.

≈сли вы читаете эту статью, то мы можем предположить, что вы владеете хот€ бы одним из «больших» €зыков программировани€, таких как Java, JavaScript или Python. Ќо если все же нет, то мы рекомендуем вам повысить уровень знани€ до высокого как минимум двух или трех €зыков программировани€ из списка ниже:

  • Python
  • Perl
  • Java
  • JavaScript
  • Go
  • Ruby
  • Rust
  • C
  • C++

2. Ќаучитесь работать с разными ќ—

DevOps-инженеру необходимо знать, как работают разные операционные системы, а также различи€ между ними, в основном потому, что вы будете запускать приложени€ на серверах. ¬ св€зи с этим, оптимальным решением дл€ такого рода вещей, как правило, €вл€етс€ Linux – ее используют большинство компаний и поставщиков серверов. ≈сли вы используете веб-приложение, то оно, веро€тнее всего, находитс€ на сервере Linux.

≈сть и другие операционные системы, которые не помешает знать:

  • Windows
  • Unix
  • Debian
  • SUSE Linux
  • Fedora
  • Ubuntu
  • CentOS
  • RHEL
  • macOS
  • FreeBSD
  • OpenBSD
  • NetBSD

3.  онцепци€ ќ—

“ак вот, операционные системы – это лишь часть дорожной карты DevOps. “акже вы должны быть в состо€нии углубитьс€, понима€ базовую инфраструктуру ќ—, котора€ позвол€ет вам запускать приложение. Ёто называетс€ «концепцией операционной системы», и вы должны быть знакомы с:

  • ”правлением запуском
  • ”правлением процессом
  • —окетами
  • Front-end разработкой
  • ѕотоками и параллелизмом
  • ”правлением вводом/выводом
  • ќсновами POSIX
  • ¬иртуализацией
  • ‘айловыми системами
  • ѕам€тью и хранилищем
  • ”правлением службами
  • —етью

4. —етева€ безопасность и протоколы

 ак DevOps-инженер, вы должны быть всегда спокойны. —етева€ безопасность и протоколы помогут вам обеспечить целостность и безопасность ваших данных. ќни определ€ют процессы и методологии, которые вы будете использовать дл€ защиты вашей сети от попыток несанкционированного доступа.

¬от протоколы, о которых вам следует знать:

  • HTTP
  • HTTPS
  • FTP
  • ћежсетевые экраны
  • SSH
  • SSL/TTS
  • IPsec и VPN
  • ѕереадресаци€ портов
  • AT-TLS
  • SNMP
  • јутентификаци€ OSFP
  • ѕрокси-доступ

5. “ерминалы – ваш новый дом

 онсоль позвол€ет разработчикам автоматизировать, создавать сценарии и выполн€ть системные задачи без использовани€ графического пользовательского интерфейса.

¬ следствие чего, вы должны уметь работать с текстом, создавать bash-сценарии, отслеживать процессы, производительность системы, работать в сети, компилировать приложени€ из исходника, Vim, Nano, Emacs и Powershell.

ћы готовы поспорить, что, если вы уже привыкли, и вам удобно, создавать файлы .cfg в выбранной вами FPS, то здесь вы будете как дома. » вам в любом случае нужно будет это делать.

6.¬еб-серверы

 огда пользователь запрашивает информацию, сервер выполн€ет запрос. Ќа веб-сервере может размещатьс€ один или несколько веб-сайтов с использованием одного и того же оборудовани€ и ресурсов. ќн взаимодействует с веб-браузером через HTTP/HTTPS. Ѕыть DevOps-инженером означает знать, как контролировать сервер.

¬от некоторые распространенные веб-серверы, о который вам стоит узнать:

  • Apache
  • Nginx
  • IIS
  • Tomcat
  • Caddy
  • Istio
  • Envoy
  • Consul
  • Linkerd

7. »нструменты непрерывной интеграции/непрерывной поставки

 онвейер непрерывной интеграции/поставки (CI/CD) необходим дл€ разработки программного обеспечени€ в рамках DevOps.  ак было сказано в предыдущей статье, непрерывна€ интеграци€ – это методика разработки программного обеспечени€, при которой разработчики объедин€ют все изменени€ кода, которые они внос€т, в единый репозиторий.

¬ то врем€ как, непрерывна€ поставка реализует изменени€ кода, которые автоматически создаютс€, тестируютс€ и подготавливаютс€ в производственному выпуску. ≈е можно рассматривать как расширение непрерывной интеграции.

¬от некоторые из инструментов, которые вы можете использовать дл€ этой цели:

  • TravisCI
  • GitHub
  • GitLab
  • Bamboo
  • Jenkins
  • TeamCity
  • Azure DevOps

8. »зучите инфраструктуру как код (IaC)

ѕожалуй, это одно из основных направлений работы DevOps-инженеров. ѕоэтому неудивительно, что эта тема довольно обширна€ и разнообразна€. «нание таких контейнеров, как Kubernetes и Docker, а также различных инструментов управлени€ конфигурацией имеет жизненно важное значение дл€ вашего собственного развити€ и успеха проектов, которые вы возглавл€ете.

¬от некоторые DevOps-инструменты, о которых вам следует знать:

  • Docker
  • Containers
  • LXC
  • Ansible
  • Salt
  • Chef
  • Puppet
  • Mesos
  • Kubernetes
  • Docker Swarm
  • Nomad
  • Istio
  • Service Mesh
  • Linkerd
  • Consul Connet
  • Maesh
  • Kuma
  • Terraform

9. ”правление приложени€ми

”правление приложени€ми относитс€ к процессу измерени€ доступности, возможностей и производительности приложени€. ƒанные, собираемые в процессе, позвол€ют вы€вл€ть и устран€ть баги и ошибки до того, как у пользователей возникнут проблемы. ќбычно используетс€ такое программное обеспечение, как:

  • AppDynamic
  • Instana
  • New Relic
  • Jaeger
  • OpenTracing

10. ”правление инфраструктурой

Ёта часть дорожной карты DevOps влечет за собой процесс получени€ как можно большего количества данных о вашей инфраструктуре с целью прин€ти€ обоснованных оперативных решений.

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

¬от некоторые хорошие инструменты дл€ управлени€ инфраструктурой:

  • Grafana
  • Prometheus
  • Zabbix
  • Nagios
  • Datadog

11. Ўаблон облачного проектировани€

Ётот шаблон помогает создавать масштабируемые, надежные и безопасные приложени€ в облаке. ќднако дл€ этого необходимо быть знакомым с одним ли несколькими шаблонами облачного проектировани€. Ќа наш взгл€д, одними из самыми важными €вл€ютс€ следующие:

  • »сточники событий
  • ѕосредник
  • CQRS
  • јгрегирование на шлюзе
  •  онсолидаци€ вычислительных ресурсов
  • ¬нешнее хранилище конфигурации
  • ”ровень защиты от повреждений
  •  аналы и фильтры
  • ѕеренесение в шлюз
  • ћаршрутизаци€ шлюза
  • –асширение за счет внешних устройств

12. ”правление логами

Ћоги помогают составл€ть список событий, происход€щих в системе, и изучать их детали. Ѕлагодар€ этому, управление журналами поможет вам, то есть начинающему DevOps-инженеру, улучшить службы и процессы, предотвратить у€звимости и вы€вить узкие места.

¬от некоторые из инструментов, которые вы так или иначе будете использовать:

  • Splunk
  • Elastic stack
  • Graylog
  • Papertrail

13. ѕоставщики облачных услуг и пакеты услуг

 ак мы уже пон€ли, облачные услуги – это то, с чем об€зательно нужно быть знакомым DevOps-инженеру.  роме того, вам необходимо понимать преимущества и особенности каждого поставщика облачных услуг дл€ того, чтобы ваша организаци€ могла сделать верный осознанный выбор. Ќекоторые из попул€рных заслуживают того, чтобы их изучили, например:

  • Google Cloud
  • AWS
  • Azure
  • Digital Ocean
  • Linode
  • Alibaba

 онечно, стоит отметить, что эти провайдеры редко работают по фиксированной стоимости.  ак правило, цены на эти услуги завис€т от необходимого количества доменов и пам€ти и SSL-сертификатов, требуемых ÷ѕ.

14. ƒругие технологии

Ёто лишь краткий список того, что вам нужно сделать, чтобы получить знани€ на пути к тому, чтобы стать DevOps-инженером.

  • “аблица кэша
  • ќбратный прокси-сервер
  • ѕрокси-сервер переадресации
  • ћежсетевой экран
  • Ѕалансировка нагрузки
  • —ервер кэшировани€

«аключение

ƒорожна€ карта DevOps предназначена дл€ того, чтобы направить вас на правильный путь к профессиональным навыкам DevOps.  онечно, это не означает, что он уже усто€вшийс€ и не подлежит изменению. “ехнологии мен€ютс€ ежедневно, и вы должны посто€нно быть в курсе новых инструментов и решений. ≈ще один пункт на пути к становлению DevOps-инженером – это обучение и адаптаци€, и, пожалуй, самое важное – хорошо выполн€ть свою работу.

≈сли вы следуете этой дорожной карте и у вас уже есть солидна€ база знаний в области компьютерных наук, то вам потребуетс€ всего каких-то шесть мес€цев дл€ того, чтобы сдвинутьс€ с той точки, в которой вы сейчас, и дойти до начала своей карьеры DevOps-инженера.

Ќе забудьте добавить следующие пункты в список того, что нужно выучить:

  • языки программировани€
  •  онцепции ќ—
  • “ерминалы
  • —еть и безопасность
  • »нструменты CI/CD
  • ¬еб-сервер
  • »нфраструктура как код
  • ”правление приложением
  • ”правление инфраструктурой
  • Ўаблон облачного проектировани€
  • ”правление журналом
  • ѕоставщики облачных услуг и управление службами
  • ƒругие технологии

„асто задаваемые вопросы

„ем занимаетс€ DevOps-инженер?

DevOps-инженер использует инструменты, процессы и методологии, чтобы удовлетворить все потребности в процессе разработки программного обеспечени€, разработки оболочки пользовательского интерфейса и кодировани€ дл€ развертывани€, обслуживани€ и обновлений.

—колько времени нужно, чтобы стать DevOps-инженером?

≈сли у вас уже есть опыт работы с Linux и сет€ми, и вы следуете дорожной карте DevOps-инженера, то это займет примерно шесть мес€цев.

„то такое CI/CD в DevOps?

Ёто передова€ методологи€ DevOps, котора€ использует автоматизацию разработки приложений, позвол€€ увеличить скорость разработки и развертывани€ приложений. CI/CD относитс€ к непрерывной интеграции, поставке и развертыванию.


—кидки 50% в Merion Academy

¬ыбрать курс