Scaling Go Applications Horizontally

Go allows applications to run extremely quickly and efficiently. However, eventually, a single instance of your application isn't enough. This course will teach you how to refactor your application to prepare it to scale across multiple servers.
Course info
Rating
(29)
Level
Intermediate
Updated
Jun 9, 2016
Duration
3h 42m
Table of contents
Description
Course info
Rating
(29)
Level
Intermediate
Updated
Jun 9, 2016
Duration
3h 42m
Description

Go allows highly performant applications to be built easily due to its focus on simplicity and speed. However, there comes a point where an application simply can't keep up when operating in a single process. This course, Scaling Go Applications Horizontally, will offer a series of techniques that will teach you how to spread the load out amongst many different processes. You'll also learn how to create distributed applications that can scale dynamically to meet changing demands. And, in order to gain the best possible understanding of the challenges and potential solutions, you'll learn how to write everything in pure Go, relying only on the standard library and no third party libraries for assistance. Armed with this knowledge, you'll be better equipped to understand what a third-party library can do to help you, or if you can get by with a custom solution. By the end of this course, you'll be able to refactor and scale your Go applications across multiple servers so that your apps can run faster and simpler than ever.

About the author
About the author

Michael Van Sickle is an application architect in Akron, Ohio. He is a mechanical engineer by training and a software engineer by choice. He is passionate about learning new programming languages and user experience design.

More from the author
Go: Getting Started
Beginner
3h 29m
Jan 27, 2020
Exploring Go Modules
Intermediate
1h 52m
Aug 26, 2019
Deep Dive into Go Packages
Intermediate
1h 34m
Jul 29, 2019
More courses by Mike Van Sickle
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Michael Van Sickle, and welcome to my course, Scaling Go Applications Horizontally. I'm a software engineer at SitePen. Go allows applications to run extremely quickly and efficiently; however, there comes a point when a single instance of your application isn't enough. In this course, we're going to learn how to refactor your application to prepare it to scale across multiple servers. Some of the major topics that we'll cover include how to server multiple application instances with a load balancer, how to add caching in a scalable manner, and how to manage logs in a distributed application. By the end of this course, you'll know the fundamentals of what it means to scale an application horizontally and how you can implement your own scalable services. Before beginning the course, you should be familiar with the Go language and how to work with Docker containers. I hope you'll join me on this journey to learn how to scale Go applications horizontally with this course at Pluralsight.