Ответ
Да, активно использовал оба языка в контексте DevOps для создания инструментов и автоматизации.
Go — мой основной язык для написания высокопроизводительных утилит и микросервисов в DevOps-стеке:
- CLI-инструменты: Писал утилиты для внутренних нужд, например, для агрегации логов из разных источников или массового применения тегов к ресурсам в облаке. Использовал библиотеку
cobraдля создания структурированных CLI. - Интеграции: Разрабатывал небольшие сервисы на Go, которые выступали как webhook-обработчики для GitLab CI или как экспортеры метрик для Prometheus (custom exporters).
- Пример (простой HTTP-сервер для health-check):
package main import ( "fmt" "net/http" ) func healthHandler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) fmt.Fprintf(w, "{"status": "OK"}") } func main() { http.HandleFunc("/health", healthHandler) http.ListenAndServe(":8080", nil) }
Java: Использовал для поддержки и доработки существующих enterprise-сервисов, связанных с оркестрацией или биллингом. Например, дорабатывал Spring Boot-сервис, который управлял очередями сборок в Jenkins, добавляя в него метрики для Micrometer/Prometheus и улучшая логирование через structured logging (Logback).