概覽
Go 助力企業自動化和規模化
開發運營 (DevOps) 團隊協助工程組織自動化任務並改進其持續整合和持續交付與部署 (CI/CD) 流程。DevOps 可以打破開發孤島,實施工具和自動化以增強軟體開發、部署和支援。
獨立 DevOps 顧問 Silvia Fressard 寫道,站點可靠性工程 (SRE) 誕生於 Google,旨在使公司的“大規模站點更加可靠、高效和可擴充套件”。她寫道:“他們開發的實踐非常符合 Google 的需求,以至於亞馬遜和 Netflix 等其他大型科技公司也採用了它們。”SRE 需要開發和運營技能的結合,並且“賦能軟體開發人員負責其應用程式在生產中的日常持續運營。”
Go 透過其快速的構建時間、簡潔的語法以及對安全性和可靠性的支援,服務於 DevOps 和 SRE 這兩個領域。Go 的併發和網路特性也使其成為管理雲部署工具的理想選擇——在開發基礎設施隨著時間增長時,它能夠輕鬆支援自動化,同時實現速度和程式碼可維護性的擴充套件。
DevOps/SRE 團隊編寫的軟體範圍從小型指令碼到命令列介面 (CLI),再到複雜的自動化和服務,Go 的特性集對每種情況都有益。
主要優點
使用 Go 強大的標準庫和靜態型別輕鬆構建小型指令碼
Go 的構建和啟動時間很快。Go 廣泛的標準庫——包括用於 HTTP、檔案 I/O、時間、正則表示式、exec 以及 JSON/CSV 格式等常見需求的包——讓 DevOps/SREs 可以直接進入他們的業務邏輯。此外,Go 的靜態型別系統和顯式錯誤處理使得即使是小型指令碼也更加健壯。
使用 Go 快速的構建時間快速部署 CLI
每個站點可靠性工程師都曾編寫過“一次性使用”的指令碼,這些指令碼後來變成了每天被數十名其他工程師使用的 CLI。小型部署自動化指令碼也會變成釋出管理服務。有了 Go,當軟體範圍不可避免地擴大時,DevOps/SREs 就能很好地取得成功。從 Go 開始,當這種情況發生時,你就能處於一個很好的成功位置。
使用 Go 的低記憶體佔用和文件生成器擴充套件和維護大型應用程式
Go 的垃圾收集器意味著 DevOps/SRE 團隊不必擔心記憶體管理。Go 的自動文件生成器 (godoc) 使程式碼實現自我文件化,從而降低了維護開銷,並從一開始就建立了最佳實踐。
特色使用者
客戶 | 簡介 | 使用 Go 的專案 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
開始使用
關於 DevOps 和 SRE 的 Go 書籍
監控和追蹤
-
open-telemetry/opentelemetry-go
用於監控和分散式追蹤的與供應商無關的 API 和儀器
-
jaegertracing/jaeger-client-go
Uber 開發的開源分散式追蹤系統格式
-
grafana/grafana
一個用於監控和可觀察性的開源平臺
-
istio/istio
一個開源服務網格和可整合平臺
CLI 庫
-
spf13/cobra
一個用於建立強大的現代 CLI 應用程式的庫,以及一個用於在 Go 中生成應用程式和 CLI 應用程式的程式
-
spf13/viper
Go 應用程式的完整配置解決方案,旨在在應用程式內部處理配置需求和格式
-
urfave/cli
一個用於建立和組織命令列 Go 應用程式的極簡框架