title: “Development Operations & Site reliability Engineering” linkTitle: “Development Operations & Site reliability Engineering” description: “With fast build times, lean syntax, an automatic formatter and doc generator, Go is built to support both DevOps and SRE.” date: 2019-10-03T17:16:43-04:00 layout: solution series: Use Cases books: icon: file: devops-green.svg alt: ops icon icon-white: file: devops-white.svg alt: ops icon

Overview {#overview .sectionHeading}

Go helps enterprises automate and scale

Development Operations (DevOps) teams help engineering organizations automate tasks and improve their continuous integration and continuous delivery and deployment (CI/CD) process. DevOps can topple developmental silos and implement tooling and automation to enhance software development, deployment, and support.

Site Reliability Engineering (SRE) was born at Google to make the company’s “large-scale sites more reliable, efficient, and scalable,” writes Silvia Fressard, an independent DevOps consultant. “And the practices they developed responded so well to Google’s needs that other big tech companies, such as Amazon and Netflix, also adopted them.” SRE requires a mix of development and operations skills, and “empowers software developers to own the ongoing daily operation of their applications in production.”

Go serves both siblings, DevOps and SRE, from its fast build times and lean syntax to its security and reliability support. Go's concurrency and networking features also make it ideal for tools that manage cloud deployment—readily supporting automation while scaling for speed and code maintainability as development infrastructure grows over time.

DevOps/SRE teams write software ranging from small scripts, to command-line interfaces (CLI), to complex automation and services, and Go’s feature set has benefits for every situation.

Key Benefits {#key-benefits .sectionHeading}

Easily build small scripts with Go’s robust standard library and static typing

Go’s fast build and startup times. Go’s extensive standard library—including packages for common needs like HTTP, file I/O, time, regular expressions, exec, and JSON/CSV formats—lets DevOps/SREs get right into their business logic. Plus, Go’s static type system and explicit error handling make even small scripts more robust.

Quickly deploy CLIs with Go’s fast build times

Every site reliability engineer has written “one-time use” scripts that turned into CLIs used by dozens of other engineers every day. And small deployment automation scripts turn into rollout management services. With Go, DevOps/SREs are in a great position to be successful when software scope inevitably creeps. Starting with Go puts you in a great position to be successful when that happens.

Scale and maintain larger applications with Go’s low memory footprint and doc generator

Go’s garbage collector means DevOps/SRE teams don’t have to worry about memory management. And Go’s automatic documentation generator (godoc) makes code self-documenting–lowering maintenance overhead and establishing best practices from the get-go.

{{projects `

Get Started {#get-started .sectionHeading}

Go books on DevOps & SRE

{{books `

{{libraries `