开发运营和网站可靠性工程

概述

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

查看更多
查看更多