DevOps — это профессия, которая объединяет разработку, операции и безопасность и требует умения быть одновременно энергичным лидером, отличным коммуникатором и технически подкованным, готовым к экспериментам инноватором. Это одно из самых увлекательных направлений в и подойдет людям с любым темпераментом, поскольку дает неограниченные возможности для профессионального развития и креатива.
Как сделать первые шаги в мире автоматизации и интеграции? Советами с новичками делится Алексей Евтушенко, системный инженер в EPAM, DevOps-евангелист и один из ключевых специалистов проекта по внедрению искусственного интеллекта. Талантливый свитчер с многолетним опытом работы в других отраслях, Олексей прошел образовательные программы EPAM и считает, что вера в собственные силы — это половина успеха, а остальное зависит от навыков, настойчивости и желания учиться новому.
Кроме определенного технического минимума, начинающий DevOps должен иметь хорошо развитые коммуникационные навыки и владеть английским языком на уровне не ниже Intermediate, ведь английский де-факто является языком общения в индустрии информационных технологий. Уделяйте внимание развитию языковых навыков и практикуйтесь как можно больше.
Переходим к техническому «стартовому набору».
Работу современных DevOps-инженеров невозможно представить без облачных технологий. Поэтому будущим коллегам я рекомендую начинать с изучения одной из 3 основных облачных платформ: AWS (Amazon Web Services), Azure (Microsoft Azure) или GCP (Google Cloud Platform). Важно учитывать, что интеграция и использование уникальных возможностей каждой из них может значительно повысить эффективность вашей работы. Исходя из своего опыта, я советую изучать их в такой последовательности:
- Начинайте с AWS: ознакомьтесь с основами облачных технологий используя сервисы AWS и попрактикуйтесь в создании простых проектов.
- Переходите на GCP: расширяйте свои знания, изучая GCP, с акцентом на контейнеризации и Kubernetes.
- Прокачивайте навыки с Azure, чтобы увеличить свой опыт работы с разными облачными платформами.
После базового знакомства с облачными платформами можете переходить к инструментам CI/CD, в частности:
- Jenkins, GitLab CI для автоматизации разработки и развертывания приложений.
- Docker и Kubernetes для контейнеризации и оркестрации.
- Ansible и Terraform для управления конфигурацией.
- Prometheus и Grafana для мониторинга, высокой доступности и безопасности приложений.
В современном мире искусственный интеллект становится незаменимым помощником системных инженеров. Инструменты на основе ИИ, например GCP Duet AI, дают ощутимые преимущества, в частности, помогают в решении нестандартных задач в рамках проекта. Иногда, ШИ работает, как менторская поддержка, предлагая решения, которые могут помочь специалистам расти и развиваться. Это очень важно, учитывая что DevOps-инженеры часто работают сами или в небольшой команде.
Рекомендованная литература:
- Дженнифер Дэвис, Кэтрин Дэниелс «Философия DevOps. Искусство управления IT». Эта книга знакомит читателя с техническими, культурными и управленческими аспектами DevOps и помогает организовать работу таким образом, чтобы разработка, поддержка и использование программного обеспечение приносило удовольствие.
- Эви Немет, Гарт Снайдер, Трент Хейн, Бэн Уэйли, Дэн Макин «UNIX и LINUX. Руководство системного администратора» (UNIX AND LINUX SYSTEM ADMINISTRATION HANDBOOK). Здесь вы найдете детальную информацию об основах администрирования и работы в сетях.
- Эрик Чоу «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-инженерам крайне важно сформировать собственный алгоритм решения сложных и нетипичных задач в рамках проекта. На мой взгляд, лучше всего это делать, придерживаясь такой последовательности:
- Понимание проблемы — четко определите с чем вы имеете дело.
- Изучение информации — соберите все доступные данные и знания о проблеме.
- Формулирование гипотезы — предложите все возможные решения на основе собранной информации.
- Тестирование гипотезы — проверьте, будут ли работать ваши предположения на практике.
- Выбор лучшего решения — из всех протестированных вариантов выберите самый эффективный.
- Внедрение решения — реализуйте выбранное решение в проекте.
- Тестирование и оптимизация — после внедрения протейстируйте и, при необходимости, оптимизируйте решение.
И последнее, научитесь учиться, постоянно и неутомимо. Это даст возможность успешно справляться с вызовами, которые часто возникают в работе DevOps-инженера. Помните, решение сложных задач приносит огромное моральное удовольствие и вдохновение, открывая путь к новым достижениям.