Get hands-on experience of deploying and monitoring production quality Microservice architectures to the AWS cloud
What you’ll learn
- Deploy containers to a Kubenetes Cluster
Run Kubernetes in AWS using the Kops management tool
Monitor a live cluster using Prometheus and Grafana
- Analyse system-wide logs using the ELK Stack (ElasticStack); Kibana and ElasticSearch
- Handle Alerts by notifying Slack Channels
- Understand how Requests and Limits work
- Use Horizontal Pod Autoscaling
- Use RBAC to restrict access to a cluster
- Configure Ingress Control
- Understand StatefulSets
- Integrate Kubernetes with a Continuous Deployment System (CD)
- Some previous knowledge of Docker is useful, but an overview is provided as part of the course
- Previous knowledge of AWS is useful for the later sections of the course; however all the concepts are explained in detail and this would serve as a great first project on AWS
- We’ll be using the terminal throughout the course so some (basic) familiarity of terminal operations is assumed
Kubernetes (also known as “K8S”) is one of the hottest topics right now, and engineers with K8S skills are in big demand.
Get those skills with this course! It’s is a great chance to work on a real K8S project, and to get yourself to a high professional standard on real projects.
All the way through the course you’ll be working on realistic requirements – but you don’t need to be a coder or know any particular programming language – I’ve prepared for you a set of Docker images, and your job is to use Kubernetes to get these images running.
The system is a Microservice based architecture, and along the way we’ll look at design decisions and trade-offs you need to make when managing these complex systems. Note the course isn’t about how to design Microservices (although we’ll certainly be talking about that); the development work is done and we need to get the system running on a production cluster.
We’ll also discover that the developers have made some bad mistakes in their code, by analysing the run time performance of the cluster!
You can do the first part of the course on your local development computer (PC/Mac/Laptop). The second part (from Chapter 13 onwards) moves to the cloud. You’ll use a real AWS account, and we go ahead to set up monitoring with the ELK/Elastic Stack and monitor with Prometheus and Grafana.
I’ve designed this course for a wide audience – whether you’re a DevOps engineer, a developer or if you’re quite new to the whole field, I’ll explain everything along the way. Just some basic knowledge of working with computers, and maybe a bit of command line experience will suffice.
You will need an AWS account for chapters 13-17 if you want to work on the system yourself. If you’re new to AWS then don’t worry, I’ve got you covered -but Amazon will charge you for running the system (as with all/most cloud providers). Expect to pay no more than around 10USD for this (this is a safe overestimate), but you are expected to manage this spend yourself and you must delete your Kubernetes cluster at the end of your session. Don’t let that put you off, it’s a great investment.
As always, I’m here to answer questions and I aim to respond within 48 hours.
- Anyone wanting to use Kubernetes on live production projects
- We will be using AWS in the later sections of the course (optional); all AWS concepts are explained so this is a great start if you’re new to the cloud, but be aware that AWS do charge for usage.
Created by Richard Chesterwood, Virtual Pair Programmers
Last updated 5/2019
Size: 10.17 GB