Book description
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 Description
Go 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 for
This 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.
Table of contents
- Go for DevOps
- Contributors
- About the authors
- About the reviewers
- Preface
- Section 1: Getting Up and Running with Go
- Chapter 1: Go Language Basics
- Chapter 2: Go Language Essentials
- Chapter 3: Setting Up Your Environment
- Chapter 4: Filesystem Interactions
- Chapter 5: Using Common Data Formats
- Chapter 6: Interacting with Remote Data Sources
- Chapter 7: Writing Command-Line Tooling
- Chapter 8: Automating Command-Line Tasks
- Section 2: Instrumenting, Observing, and Responding
- Chapter 9: Observability with OpenTelemetry
- Chapter 10: Automating Workflows with GitHub Actions
- Chapter 11: Using ChatOps to Increase Efficiency
- Section 3: Cloud ready Go
- Chapter 12: Creating Immutable Infrastructure Using Packer
- Chapter 13: Infrastructure as Code with Terraform
-
Chapter 14: Deploying and Building Applications in Kubernetes
- Technical requirements
- Interacting with the Kubernetes API
-
Deploying a load-balanced HTTP application using Go
- It all starts with main
- Creating a ClientSet
- Creating a namespace
- Deploying the application into the namespace
- Creating the NGINX deployment
- Waiting for ready replicas to match desired replicas
- Creating a Service to load-balance
- Creating an ingress to expose our application on a local host port
- Streaming pod logs for the NGINX application
- Extending Kubernetes with custom resources and operators
- Building a pet store operator
- Summary
- Chapter 15: Programming the Cloud
- Chapter 16: Designing for Chaos
- Index
- Other Books You May Enjoy
Product information
- Title: Go for DevOps
- Author(s):
- Release date: July 2022
- Publisher(s): Packt Publishing
- ISBN: 9781801818896
You might also like
book
DevOps for the Desperate
If you’re a software engineer, developer, or sys admin who needs to get up to speed …
book
Kubernetes: Up and Running, 2nd Edition
Kubernetes radically changes the way applications are built and deployed in the cloud. Since its introduction …
book
Kubernetes in Action
Kubernetes in Action is a comprehensive guide to effectively developing and running applications in a Kubernetes …
book
Model-Driven DevOps: Increasing agility and security in your physical network through DevOps
Using Model-Driven DevOps and the Infrastructure as Code (IaC) paradigm, IT teams can develop and operate …