Python или Golang: что учить в 2023?

Python и Golang — одни из самых востребованных языков в мире DevOps. И когда нужно было выбрать только один из двух языков для изучения, сделать это может быть непросто. Рассказываем о преимуществах этих двух языков и о том, какие курсы есть в Слёрм.

Статья создана на основе рабочего (и жизненного) опыта экспертов, которым они поделились на этом митапе.

3192af064da904fd22ef3d5dc8773069.png

Golang

На Go легко начать писать большие сервисы, сложные консольные утилиты и при этом очень трудно что-то сломать. Поэтому если Ops никогда в жизни не писал код, то стоит поставить на Golang. Он также хорошо подойдет тем, для кого Python слишком медленный, а Java слишком объектно-ориентированная.

С машинным обучением Golang тоже дружит. Он медленно, но верно движется в сторону того, чтобы занять нишу ML в Data Science наравне с Пайтоном и поделить с ним все пространство возможностей.

Говоря о Кубере, можно назвать еще один плюс изучения Golang: он точно нужен инженеру, если компания нацелена на использование K8s в качестве основного средства оркестрации микросервисной архитектуры. Если инженеру нужно дописать оператор к Kubernetes, гораздо проще и удобнее реализовать это на Go: можно сделать все Kubernetes-подобным.

Что по поводу обучения? Ближайший поток по Golang стартует 6 февраля, обучение продлится 8 недель. Программа состоит из 9 модулей, к концу которой студенты разрабатывают систему, которая будет собирать состояние других сервисов, сохранять собранное состояние в базу данных и предоставлять WEB API для доступа к сохраненным данным. Посмотреть программу можно здесь.

Python

В Python довольно просто погрузиться, когда не знаешь ничего о разработке. При этом у языка предостаточно библиотек и фреймворков: DevOps Python Tools в GitHub-овских репозиториях, библиотека для работы с GitLab-ом, преобразователи (например, XML в Yaml) и прочее.

Пайтон — интерпретируемый язык, который позволяет писать скрипты. Это полезно, когда нужно иметь в кармане скрипт, который делает что нужно, но не применяется регулярно. Удобнее, чем все время таскать за собой бинарник. Язык отлично справляется, когда нужно автоматизировать 2 задачи друг за другом, но сделать чуть хитрее, чем может Bash.

С системами оркестрации Python тоже отлично справляется. Возьмем тот же Ansible: некоторые вещи сделать в нем сложнее, чем написать собственный модуль. Даже с Kubernetes, написанном на Go, можно работать на Пайтоне. Например, проверять статусы pod-ов и в случае чего алертить в Telegram или Slack.

Что по поводу обучения? Ближайший поток начнется 16 января, обучение займет 15 недель. На курсе будет разбор библиотек Python и 8 реальных devops-задач, которые студенты будут решать по мере прохождения курса. В конце обучения можно взять свой реальный кейс, оформить его в виде итогового проекта и получить подробный фидбэк от спикеров курса. Посмотреть программу.

Если же вам нужно изучить один из этих языков как можно быстрее, формат видеокурса доступен сразу же после оплаты. Из минусов: вам не будут доступны АМА-сессии, код-ревью, закрытый чат со спикерами и защита итоговых проектов.

© Habrahabr.ru