Golang для DevOps
Почему имеет смысл освоить Golang хотя бы на базовом уровне:
В различных материалах вы можете найти отсылки на Python в качестве языка для автоматизации задач администирования. В целом это так, но у Go есть ряд преимуществ, именно поэтому большинство современных devops инструментов написаны на нем.
✅ Удобство развертывания
Вам не нужно зависеть от наличия python интерпретатора и зависимых библиотек на целевой системе, чтобы ваша программа заработала. Все что вам нужно - это собрать под целевую архитектуру и ОС исполняемый файл через go build.
✅ Статическая типизация
Множество ошибок может быть поймано еще на этапе сборки, что сильно повышает надежность программы. В python тоже можно задавать типы, но можно и не задавать =)
✅ Эффективность
Go тупо быстрее чем интерпретируемые языки вроде Python или Ruby. Это факт. И памяти он ест меньше. Благодаря встроенной поддержки с первого релиза конкурентности, писать асинхронный код и запускать задачи в несколько потоков довольно просто и быстро.
✅ Стандартная библиотека
Под большинство ваших задач найдется решение в стандартной библиотеке Go. Она первоклассная. Но всегда есть возможность подключить сторонние решения, которых тоже очень много.
В целом экосистема и количество носителей языка Go хоть и уступает по размерам Python, но все же очень масштабная. Не даром эти известные проекты написаны на Go: Kubernetes, terraform (и большинство продуктов HashiCorp), docker, minio, hugo, restic, grafana, prometheus и многие другие.