Go for DevOps - John Doak, David Justice

Go for DevOps

Learn how to use the Go language to automate servers, the cloud, Kubernetes, GitHub, Packer, and Terraform
Buch | Softcover
634 Seiten
2022
Packt Publishing Limited (Verlag)
978-1-80181-889-6 (ISBN)
59,80 inkl. MwSt
Achieve reliable release automation and get zero troublesome notifications on your release day.

Purchase of the print or Kindle book includes a free eBook in the PDF format.

Key Features

Develop the skills to build command-line tools to control thousands of nodes
Use Go to create Terraform providers and GitHub actions and extend Kubernetes
Gain the knowledge to build DevOps workflows that are understandable, scalable, and safe

Book DescriptionGo is the go-to language for DevOps libraries and services, and without it, achieving fast and safe automation is a challenge. With the help of Go for DevOps, you'll learn how to deliver services with ease and safety, becoming a better DevOps engineer in the process.
Some of the key things this book will teach you are how to write Go software to automate configuration management, update remote machines, author custom automation in GitHub Actions, and interact with Kubernetes. As you advance through the chapters, you'll explore how to automate the cloud using software development kits (SDKs), extend HashiCorp's Terraform and Packer using Go, develop your own DevOps services with gRPC and REST, design system agents, and build robust workflow systems.
By the end of this Go for DevOps book, you'll understand how to apply development principles to automate operations and provide operational insights using Go, which will allow you to react quickly to resolve system failures before your customers realize something has gone wrong.What you will learn

Understand the basic structure of the Go language to begin your DevOps journey
Interact with filesystems to read or stream data
Communicate with remote services via REST and gRPC
Explore writing tools that can be used in the DevOps environment
Develop command-line operational software in Go
Work with popular frameworks to deploy production software
Create GitHub actions that streamline your CI/CD process
Write a ChatOps application with Slack to simplify production visibility

Who this book is forThis book is for Ops and DevOps engineers who would like to use Go to develop their own DevOps tooling or integrate custom features with DevOps tools such as Kubernetes, GitHub Actions, HashiCorp Packer, and Terraform. Experience with some type of programming language, but not necessarily Go, is necessary to get started with this book.

John Doak is the principal manager of Layer 1 Reliability Engineering at Microsoft. John led the development of the Azure Data Explorer and Microsoft Authentication Library Go SDKs. Previously, he was a Staff Site Reliability Engineer at Google. As part of network engineering, he created many of their first network automation systems. John led the migration of that group from Python to Go, developing Go training classes that have been taught around the world. He was a pivotal figure in transforming the network team to a network/systems group that integrated with SRE. Prior to that, he worked for Lucasfilm in video games and film. You can find his musings on Go/SRE topics and his Go classes on the web. David Justice is the Principal Software Engineer Lead for the Azure K8s Infrastructure and Steel Thread teams that maintain a variety of CNCF and Byte Code Alliance projects. He is a maintainer of Cluster API Provider Azure and contributor to Cluster API. Prior to that, David was the technical assistant to the Azure CTO where he was responsible for Azure cross-group technical strategy and architecture. Early on at Microsoft, he was a Program Manager leading Azure SDKs and CLIs where he transitioned all Azure services to describe themselves using OpenAPI specifications in GitHub, and established automations to generate Azure reference docs, SDKs, and CLIs. Prior to Microsoft, David was the CTO of a mobile CI/CD SaaS called CISimple

Table of Contents

Go Language Basics
Go Language Essentials
Setting Up Your Environment
Filesystem Interactions
Using Common Data Formats
Interacting with Remote Data Sources
Writing Command-Line Tooling
Automating Command-Line Tasks
Observability with OpenTelemetry
Automating Workflows with GitHub Actions
Using ChatOps to Increase Efficiency
Creating Immutable Infrastructure Using Packer
Infrastructure as Code with Terraform
Deploying and Building Applications in Kubernetes
Programming the Cloud
Designing for Chaos

Erscheinungsdatum
Verlagsort Birmingham
Sprache englisch
Maße 191 x 235 mm
Themenwelt Mathematik / Informatik Informatik
ISBN-10 1-80181-889-4 / 1801818894
ISBN-13 978-1-80181-889-6 / 9781801818896
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
den digitalen Office-Notizblock effizient nutzen für PC, Tablet und …

von Philip Kiefer

Buch | Softcover (2023)
Markt + Technik Verlag
9,95
ein Bericht aus Digitalien

von Peter Reichl

Buch (2023)
Muery Salzmann (Verlag)
19,00