概述

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 的项目
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 应用程序的最小框架

查看更多
查看更多