Go for DevOps

Gain insights into using Go for DevOps, exploring automation of servers, cloud, Kubernetes, and more. Learn about concurrency, filesystem interaction, observability, GitHub Actions integration, and custom Terraform providers.

Beginner

121 Lessons

38h

Certificate of Completion

Gain insights into using Go for DevOps, exploring automation of servers, cloud, Kubernetes, and more. Learn about concurrency, filesystem interaction, observability, GitHub Actions integration, and custom Terraform providers.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

169 Playgrounds
5 Challenges
14 Quizzes

This course includes

169 Playgrounds
5 Challenges
14 Quizzes

Course Overview

Go is a type-safe concurrent language. It is easy to develop and extremely performant. This course covers using the Go language to automate servers, cloud, Kubernetes, GitHub, Packer, and Terraform. You’ll start by learning the basics of the Go language, such as concurrency and the context package. You’ll learn to interact with the local and remote filesystem using methods such as REST and gRPC. Then, you’ll learn how to use OpenTelemetry for distribution application observability and automate application...Show More

What You'll Learn

The ability to automate servers, the cloud, Kubernetes, GitHub, Packer, and Terraform

Ability to communicate with remote data sources using methods such as REST and gRPC

The ability to use OpenTelemetry to enable observability across distributed applications

Hands-on experience in automating application release workflows using Go and GitHub Actions

Hands-on experience in automating the process of creating system images using Packer on the AWS platform

The ability to use Go with Terraform to create your own custom Terraform provider

The ability to program the Kubernetes API to extend its capabilities

A thorough understanding of designing resilient DevOps software

What You'll Learn

The ability to automate servers, the cloud, Kubernetes, GitHub, Packer, and Terraform

Show more

Course Content

1.

Introduction to the Course

Get familiar with Go's advantages in DevOps over Python for scalable cloud orchestration.
2.

Go Language Basics

Discover the logic behind Go's core concepts and practical programming structures.
3.

Go Language Essentials

Master Go's syntax, error handling, concurrency, and generics for efficient coding.
4.

Filesystem Interactions

Grasp the fundamentals of efficient filesystem interactions, cross-platform pathing, and I/O in Go.
5.

Using Common Data Formats

Dig into manipulating and streaming popular data formats: CSV, JSON, and YAML in Go.
6.

Interacting with Remote Data Sources

5 Lessons

Focus on accessing SQL databases, developing REST and gRPC services efficiently.
7.

Writing Command-Line Tooling

6 Lessons

Master the creation of command-line tools with Go, using flag, os, and Cobra packages.
8.

Automating Command-Line Tasks

6 Lessons

Step through automating command-line tasks, from local scripting to remote execution and system agents.
9.

Observability with OpenTelemetry

7 Lessons

Solve challenges with OpenTelemetry for comprehensive observability, logging, tracing, and metrics instrumentation.
10.

Automating Workflows with GitHub Actions

8 Lessons

Work your way through automating workflows with GitHub Actions for CI/CD, releases, and custom actions.
11.

Using ChatOps to Increase Efficiency

6 Lessons

Grasp the fundamentals of using ChatOps to streamline DevOps tasks and improve efficiency.
12.

Creating Immutable Infrastructure Using Packer

7 Lessons

Solve problems in creating immutable infrastructure with Packer, from setup to validation.
13.

Infrastructure as Code with Terraform

5 Lessons

Tackle automating infrastructure provisioning and management using Terraform's Infrastructure as Code (IaC) capabilities.
14.

Deploying and Building Applications in Kubernetes

6 Lessons

Piece together the parts of deploying and building applications in Kubernetes with Go.
15.

Programming the Cloud

6 Lessons

Sharpen your skills in managing cloud infrastructure using Azure APIs and SDK for Go.
16.

Designing for Chaos

7 Lessons

Discover the logic behind designing resilient software to endure chaotic real-world failures.
17.

Appendix

2 Lessons

Jump-start with installing Go, building code, managing modules, and running applications.
18.

Conclusion

1 Lesson

Apply your skills to streamline DevOps workflows using Go and related tools.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor