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

概觀

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 的垃圾收集器表示 DevOps/SRE 團隊不必擔心記憶體管理。而 Go 的自動文件產生器 (godoc) 會讓程式碼自我記錄,降低維護成本,並從一開始就建立最佳實務。

客戶 簡介 使用 go 的專案
Docker Docker Docker Docker 是一種軟體即服務 (SaaS) 產品,使用 Go 編寫,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 應用程式的最小框架

查看更多
查看更多