开发运维与站点可靠性工程

概述

Go 语言助力企业实现自动化与规模化

开发运维团队帮助工程组织自动化任务,并改进其持续集成、持续交付和部署的流程。开发运维能够打破开发壁垒,通过实施工具和自动化来提升软件开发、部署和支持的效率。

站点可靠性工程诞生于谷歌,旨在使公司的“大型网站更可靠、高效和可扩展”,独立开发运维顾问西尔维娅·弗雷萨德写道。“他们开发的实践非常契合谷歌的需求,以至于亚马逊和 Netflix 等其他大型科技公司也采纳了这些做法。”站点可靠性工程需要兼具开发和运维技能,并且“赋予软件开发者权力,让他们能够负责其应用在生产环境中的日常持续运营。”

Go 语言服务其孪生领域——开发运维与站点可靠性工程,从其快速的编译速度、精简的语法到其安全性和可靠性支持。Go 语言的并发和网络特性也使其成为管理云部署工具的理想选择——轻松支持自动化,同时能随着开发基础设施的增长,为速度和代码可维护性提供良好的扩展性。

开发运维/站点可靠性工程团队编写的软件范围广泛,从小型脚本,到命令行界面,再到复杂的自动化和服务,而 Go 语言的功能集对每种情况都有益处。

主要优势

利用 Go 强大的标准库和静态类型,轻松构建小型脚本

Go 语言拥有快速的编译和启动时间。Go 丰富的标准库——包含用于常见需求(如 HTTP、文件 I/O、时间、正则表达式、exec 和 JSON/CSV 格式)的包——让开发运维/站点可靠性工程师能够直接专注于业务逻辑。此外,Go 的静态类型系统和显式错误处理使得即使是小型脚本也更加健壮。

凭借 Go 快速的编译时间,快速部署命令行界面

每位站点可靠性工程师都写过“一次性使用”的脚本,这些脚本最终变成了每天被数十位其他工程师使用的命令行工具。而小型的部署自动化脚本也会演变成发布管理服务。使用 Go 语言,开发运维/站点可靠性工程师在软件范围不可避免地扩大时,将处于非常有利的位置来取得成功。从 Go 开始,能让您在这种情况发生时游刃有余。

利用 Go 的低内存占用和文档生成器,扩展和维护大型应用

Go 语言的垃圾回收器意味着开发运维/站点可靠性工程团队无需担心内存管理问题。而 Go 的自动文档生成器(godoc)使代码具有自文档性——降低了维护开销,并从一开始就建立了最佳实践。

Customer Brief introduction Projects using go
Docker Docker Docker Docker 是一个用 Go 编写的服务即用 (SaaS) 产品,开发运维/站点可靠性工程师团队利用它“在海量规模上推动安全的自动化与部署”,以支持其 CI/CD 工作。
Drone Drone Drone Drone 是一个构建在容器技术之上的持续交付系统,用 Go 编写,使用简单的 YAML 配置文件(docker-compose 的超集)来定义和在 Docker 容器内执行流水线。
etcd etcd etcd etcd 是一个强一致性的分布式键值存储,它为分布式系统或机器集群需要访问的数据提供了一种可靠的存储方式,且它是用 Go 编写的。

快速开始

关于开发运维和站点可靠性工程的 Go 书籍

View More
  • spf13/cobra

    用于创建强大现代CLI应用程序的库,并提供生成Go应用程序和CLI应用程序的工具

  • spf13/viper

    Go应用程序的完整配置解决方案,设计用于在应用内部处理配置需求与格式

  • urfave/cli

    用于创建和组织Go命令行应用程序的极简框架

View More
View More