開發運營與站點可靠性工程

概覽

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 的專案
Docker Docker Docker Docker 是一款用 Go 編寫的軟體即服務 (SaaS) 產品,DevOps/SRE 團隊利用它來“在大規模下推動安全的自動化和部署”,支援他們的 CI/CD 工作。
Drone Drone Drone Drone 是一個基於容器技術構建的持續交付系統,用 Go 編寫,它使用一個簡單的 YAML 配置檔案(docker-compose 的超集)來定義和執行 Docker 容器內的管道。
etcd etcd etcd etcd 是一個強一致性、分散式鍵值儲存,提供了一種可靠的方式來儲存需要由分散式系統或機器叢集訪問的資料,並且它使用 Go 編寫。

開始使用

關於 DevOps 和 SRE 的 Go 書籍

檢視更多
  • spf13/cobra

    一個用於建立強大的現代 CLI 應用程式的庫,以及一個用於在 Go 中生成應用程式和 CLI 應用程式的程式

  • spf13/viper

    Go 應用程式的完整配置解決方案,旨在在應用程式內部處理配置需求和格式

  • urfave/cli

    一個用於建立和組織命令列 Go 應用程式的極簡框架

檢視更多
檢視更多