article-spots
article-carousel-spots
programs
Технологии
Как освоить DevOps: путеводитель для новичков в мире автоматизации и интеграции
22 февр.

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


Как сделать первые шаги в мире автоматизации и интеграции? Советами с новичками делится Алексей Евтушенко, системный инженер в EPAM, DevOps-евангелист и один из ключевых специалистов проекта по внедрению искусственного интеллекта. Талантливый свитчер с многолетним опытом работы в других отраслях, Олексей прошел образовательные программы EPAM и считает, что вера в собственные силы — это половина успеха, а остальное зависит от навыков, настойчивости и желания учиться новому. 

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

Переходим к техническому «стартовому набору».

Работу современных DevOps-инженеров невозможно представить без облачных технологий. Поэтому будущим коллегам я рекомендую начинать с изучения одной из 3 основных облачных платформ: AWS (Amazon Web Services), Azure (Microsoft Azure) или GCP (Google Cloud Platform). Важно учитывать, что интеграция и использование уникальных возможностей каждой из них может значительно повысить эффективность вашей работы. Исходя из своего опыта, я советую изучать их в такой последовательности:

  1. Начинайте с AWS: ознакомьтесь с основами облачных технологий используя сервисы AWS и попрактикуйтесь в создании простых проектов.
  2. Переходите на GCP: расширяйте свои знания, изучая GCP, с акцентом на контейнеризации и Kubernetes.
  3. Прокачивайте навыки с Azure, чтобы увеличить свой опыт работы с разными облачными платформами.

После базового знакомства с облачными платформами можете переходить к инструментам CI/CD, в частности:

  • Jenkins, GitLab CI для автоматизации разработки и развертывания приложений.
  • Docker и Kubernetes для контейнеризации и оркестрации.
  • Ansible и Terraform для управления конфигурацией.
  • Prometheus и Grafana для мониторинга, высокой доступности и безопасности приложений.

В современном мире искусственный интеллект становится незаменимым помощником системных инженеров. Инструменты на основе ИИ, например GCP Duet AI, дают ощутимые преимущества, в частности, помогают в решении нестандартных задач в рамках проекта. Иногда, ШИ работает, как менторская поддержка, предлагая решения, которые могут помочь специалистам расти и развиваться. Это очень важно, учитывая что DevOps-инженеры часто работают сами или в небольшой команде.

Рекомендованная литература:

  1. Дженнифер Дэвис, Кэтрин Дэниелс «Философия DevOps. Искусство управления IT». Эта книга знакомит читателя с техническими, культурными и управленческими аспектами DevOps и помогает организовать работу таким образом, чтобы разработка, поддержка и использование программного обеспечение приносило удовольствие.
  2. Эви Немет, Гарт Снайдер, Трент Хейн, Бэн Уэйли, Дэн Макин «UNIX и LINUX. Руководство системного администратора» (UNIX AND LINUX SYSTEM ADMINISTRATION HANDBOOK). Здесь вы найдете детальную информацию об основах администрирования и работы в сетях.
  3. Эрик Чоу «Python для сетевых инженеров. Автоматизация сети, программирования и DevOps». Путеводитель по Python, идеальному языку для сетевых инженеров. Третье издание книги обновлено под использование Python 3. В него включена информация об анализе сетевых данных с помощью стека ELK (Elasticsearch, Logstash, Kibana и Beats) и Azure Cloud Networking, а также применении Ansible и фреймворков pyATS и Nornir.

Рекомендую к просмотру YouTube-канал TechWorld with Nana (на английском), где вы найдете учебные материалы для начинающих DevOps-инженеров в простом, интересном и понятном формате.

Обратите внимание на эти онлайн-курсы:

А также следите за открытыми наборами и мероприятиями EPAM University по направлению Cloud&DevOps.

О чем вы НЕ узнаете из книг и пособий?

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

  1. Понимание проблемы — четко определите с чем вы имеете дело.
  2. Изучение информации — соберите все доступные данные и знания о проблеме.
  3. Формулирование гипотезы — предложите все возможные решения на основе собранной информации.
  4. Тестирование гипотезы — проверьте, будут ли работать ваши предположения на практике.
  5. Выбор лучшего решения — из всех протестированных вариантов выберите самый эффективный.
  6. Внедрение решения — реализуйте выбранное решение в проекте.
  7. Тестирование и оптимизация — после внедрения протейстируйте и, при необходимости, оптимизируйте решение.


И последнее, научитесь учиться, постоянно и неутомимо. Это даст возможность успешно справляться с вызовами, которые часто возникают в работе DevOps-инженера. Помните, решение сложных задач приносит огромное моральное удовольствие и вдохновение, открывая путь к новым достижениям.