概覽
Go 協助企業實現自動化與規模化
開發維運(DevOps)團隊協助工程組織自動化任務,並改善其持續整合與持續交付/部署(CI/CD)流程。DevOps 可以打破開發孤島,並導入工具與自動化,以增強軟體開發、部署與支援。
網站可靠性工程(SRE)誕生於 Google,旨在使該公司的「大規模網站更加可靠、高效且具備擴充性」,獨立 DevOps 顧問 Silvia Fressard 寫道。「他們所開發的實踐方法非常符合 Google 的需求,因此其他大型科技公司,例如 Amazon 和 Netflix,也紛紛採用。」SRE 需要開發與維運技能的結合,並且「賦予軟體開發人員權力,讓他們能自主負責其應用程式在生產環境中的日常運作。」
從快速的建置時間與簡潔的語法,到對安全性與可靠性的支援,Go 同時服務了 DevOps 與 SRE 這兩位兄弟。Go 的併發與網路功能也使其成為管理雲端部署工具的理想選擇——在開發基礎架構隨時間成長的同時,能輕鬆支援自動化,並兼顧速度與程式碼的可維護性。
DevOps/SRE 團隊撰寫的軟體涵蓋範圍廣泛,從小型指令碼、命令列介面(CLI)到複雜的自動化與服務,而 Go 的功能集在各種情況下都能提供助益。
主要優勢
透過 Go 強大的標準函式庫與靜態型別,輕鬆建置小型指令碼
Go 擁有快速的建置與啟動時間。Go 豐富的標準函式庫——包含 HTTP、檔案 I/O、時間、正規表達式、exec 以及 JSON/CSV 格式等常見需求套件——讓 DevOps/SRE 工程師能直接投入業務邏輯的開發。此外,Go 的靜態型別系統與明確的錯誤處理機制,即使是小型的指令碼也能變得更加穩健。
利用 Go 快速的建置時間,迅速部署 CLI 工具
每位網站可靠性工程師都曾寫過「一次性使用」的指令碼,結果演變成每天被數十位工程師使用的 CLI 工具。而小型部署自動化指令碼也會演變成上線管理服務。透過 Go,當軟體範疇不可避免地擴張時,DevOps/SRE 工程師能處於絕佳的成功位置。從 Go 開始起步,讓您在這種情況發生時佔據優勢。
透過 Go 低記憶體佔用與文件產生器,擴充並維護大型應用程式
Go 的垃圾回收機制(Garbage Collector)意味著 DevOps/SRE 團隊不必擔心記憶體管理問題。而 Go 的自動文件產生器(godoc)能讓程式碼實現自我說明,降低維護成本,並從一開始就建立最佳實務。
精選使用者
| 客戶 | 簡介 | 使用 Go 的專案 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
開始使用
關於 DevOps 與 SRE 的 Go 相關書籍
-
Go Programming for Network Operations (網路維運的 Go 程式設計)
-
Go Programming Blueprints (Go 程式設計藍圖)
-
Go in Action (Go 實戰)
-
The Go Programming Language (Go 程式語言)
監控與追蹤
-
open-telemetry/opentelemetry-go
用於監控與分散式追蹤的供應商中立 API 與檢測工具
-
jaegertracing/jaeger-client-go
由 Uber 開發的開源分散式追蹤系統
-
grafana/grafana
一個用於監控與可觀察性的開源平台
-
istio/istio
一個開源的服務網格(Service Mesh)與可整合平台
CLI 函式庫
-
spf13/cobra
用於建立強大現代化 CLI 應用程式的函式庫,以及用於產生 Go 應用程式與 CLI 應用程式的工具
-
spf13/viper
針對 Go 應用程式的完整設定解決方案,設計用於在應用程式內處理各種設定需求與格式
-
urfave/cli
一個用於建立與組織命令列 Go 應用程式的極簡框架