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

概覽

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

開始使用

關於 DevOps 與 SRE 的 Go 相關書籍

查看更多
  • spf13/cobra

    用於建立強大現代化 CLI 應用程式的函式庫,以及用於產生 Go 應用程式與 CLI 應用程式的工具

  • spf13/viper

    針對 Go 應用程式的完整設定解決方案,設計用於在應用程式內處理各種設定需求與格式

  • urfave/cli

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

查看更多
查看更多