概述
Go 帮助企业自动化和扩展
开发运维 (DevOps) 团队帮助工程组织自动执行任务并改进其持续集成以及持续交付和部署 (CI/CD) 流程。DevOps 可以打破开发孤岛并实施工具和自动化,以增强软件开发、部署和支持.
独立 DevOps 顾问Silvia Fressard写道,站点可靠性工程 (SRE) 诞生于 Google,旨在使该公司的“大型站点更加可靠、高效和可扩展” 。“他们开发的实践很好地响应了谷歌的需求,以至于亚马逊和 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。小型部署自动化脚本变成了rollout管理服务。使用 Go,当软件范围不可避免地蔓延时,DevOps/SRE 处于成功的有利位置。当这种情况发生时,从Go开始会让你处于成功的有利位置.
使用 Go 的低内存占用和文档生成器扩展和维护更大的应用程序
Go 的垃圾收集器意味着 DevOps/SRE 团队不必担心内存管理。Go 的自动文档生成器 (godoc) 使代码自文档化——降低维护开销并从一开始就建立最佳实践.
精选用户
客户 | 简单介绍 | 使用 go 的项目 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
开始
有关 DevOps 和 SRE 的Go书籍
监控和追踪
-
opentracing/opentracing-go
供应商中立的 API 和用于分布式跟踪的工具
-
jaegertracing/jaeger-client-go
优步格式开发的开源分布式追踪系统
-
grafana/grafana
用于监控和可观察性的开源平台
-
istio/istio
开源服务网格和可集成平台
CLI 库
-
spf13/cobra
一个用于创建强大的现代 CLI 应用程序的库和一个在 Go 中生成应用程序和 CLI 应用程序的程序
-
spf13/viper
Go 应用程序的完整配置解决方案,旨在在应用程序中工作以处理配置需求和格式
-
urfave/cli
用于创建和组织命令行 Go 应用程序的最小框架