In the beginning there was the monolith. It was easy to deploy and easy to keep it running, we had only one thing (or a few) to keep an eye on.
But it was not perfect.
It was hard to scale individual components, changes in one tiny part of the application required a whole redeployment and the lack of clear boundaries could lead to a design that was not-so-great.
The industry started converging to microservice-based architectures. What was before a single application became dozens of services that could be more easily scaled and deployed individually.
But it was not perfect.
Having dozens, hundreds, or thousands of services running reliably is no easy task. It was clear we needed a way to orchestrate these applications and services that are now running in containers. That's where Kubernetes comes into play.
Kubernetes was created to solve Google's needs, was later open-sourced and donated to CNCF and is now used by more companies than I'd be able to list here. It is solving a very hard problem, so let's not be naive and think it's a simple tool. Kubernetes is complex, but getting started should be easier.
You start studying Kubernetes. They start talking about cgroups, pid namespaces and overlay networks and you have no idea why you should care. You just want to learn how to run your applications and what Kubernetes brings to the table.
It doesn't need to be this hard.
Kubernetes is, no doubt, a very complex tool, but it does an amazing job at abstracting that complexity from us so we can start using it and learning about what is really important: How do I run my applications reliably?
We will have plenty of time to get down to the nitty-gritty of Kubernetes, but that shouldn't be the focus when you are starting out.
This book is practical, we will run applications with Kubernetes from chapter one. You will learn everything you need to know to reliably run your own applications, both locally and with a cloud provider. We will see how to scale our applications, different ways to expose them to the outside world, how to deal with configs and secrets our apps need, handle rollouts with zero downtime and more!
The book was written for beginners that want to learn Kubernetes quickly and it focuses on what is really important. It's practical and for every topic we discuss there will be examples you can follow along.
We will not focus on how to operate a Kubernetes cluster, or go super deep in the details of how Docker and Kubernetes are implemented. There are better resources out there covering this.
If you are not sure, take a look at the free sample to see the format that is followed. If you decide to buy it and are not happy, just send me an email and I'll refund you, no hard feelings.
Hi! I'm Brian (@brianstorti) and I've been writing software professionally since 2007. I currently work as a Principal Infrastructure Engineer at AlphaSights, and was a Senior Consultant at ThoughtWorks before that. I also have a blog.
These days I spend most of my time working with Kubernetes and helping engineering teams, so I was able to experience very closely the pains of learning Kubernetes and all the noise that is in the way, and that's why I decided to write this book.