Python і Golang - одні з найбільш затребуваних мов у світі DevOps.
Коли потрібно було вибрати лише одну з двох мов для вивчення, це може бути непросто. Розповідаємо про переваги цих двох мов Стаття створена на основі робочого (та життєвого) досвіду експертів
Golang
На Go легко почати писати великі сервіси, складні консольні утиліти і дуже важко щось зламати. Тому якщо Ops ніколи в житті не писав код, варто поставити на Golang. Він також добре підійде тим, для кого Python дуже повільний, а Java дуже об'єктно-орієнтована.
З машинним навчанням Golang також товаришує. Він повільно, але вірно рухається у бік того, щоб зайняти нішу ML в Data Science нарівні з Пайтон і поділити з ним весь простір можливостей.
Говорячи про Кубера, можна назвати ще один плюс вивчення Golang: він точно потрібен інженеру, якщо компанія націлена на використання K8s як основний засіб оркестрації мікросервісної архітектури. Якщо інженеру потрібно дописати оператор до Kubernetes, набагато простіше та зручніше реалізувати це на Go: можна зробити все Kubernetes-подібним.
Python
У Python досить просто поринути, коли не знаєш нічого про розробку. При цьому у мови достатньо бібліотек і фреймворків: DevOps Python Tools в GitHub-івських репозиторіях, бібліотека для роботи з GitLab-ом, перетворювачі (наприклад, XML в Yaml) та інше.
Пайтон - мова, що інтерпретується, що дозволяє писати скрипти. Це корисно, коли потрібно мати в кишені скрипт, який робить що потрібно, але не застосовується регулярно. Зручніше, ніж весь час тягати за собою бінарник. Мова відмінно справляється, коли потрібно автоматизувати 2 завдання один за одним, але зробити трохи хитрішим, ніж може Bash.
З системами оркестрації Python теж чудово справляється. Візьмемо той самий Ansible: деякі речі зробити в ньому складніше, ніж написати власний модуль. Навіть із Kubernetes, написаним на Go, можна працювати на Пайтоні. Наприклад, перевіряти статуси pod-ів і у разі чого алертити в Telegram або Slack.