Kubernetes Hands-On - Deploy Microservices to the AWS Cloud
What you'll learn
- Deploy containers to a Kubernetes Cluster
- Run Kubernetes in AWS using either EKS or Kops
- Monitor a live Kubernetes cluster using Prometheus and Grafana
- Analyse system-wide logs using the ELK Stack (ElasticStack); Kibana and ElasticSearch
- Handle Alerts in a Kubernetes cluster by notifying Slack Channels
- Understand how Requests and Limits work in Kubernetes
- Use Kubernetes Horizontal Pod Autoscaling
- Configure Ingress Control on a live Kubernetes deployment
- Understand Kubernetes StatefulSets
- Integrate Kubernetes with a Continuous Deployment System (CD)
- Use Helm to Manage Charts and to Dynamically Update your Kubernetes YAML
- 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
- You will need a modern computer with at least 8Gb of RAM to run the practical sessions
Kubernetes is one of the hottest topics right now, and engineers with Kubernetes skills are in big demand.
Get those skills with this course! It's is a great chance to work on a real Kubernetes 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 analyzing 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.
The course now supports EKS, the AWS Elastic Kubernetes Service, but we also show how to use the alternative system, called Kops. The pros and cons of each are explained in detail.
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 a part of the course 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.
You can absolutely just watch the AWS videos if you'd prefer not to incur these costs - you will still learn plenty!
As always, I'm here to answer questions and I aim to respond within 48 hours.
Who this course is for:
- 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.
Richard has been developing software for the past 25 years and has a particular fondness for the JVM ecosystem. For the last 15 years he's delivered training courses to projects around the world, and was one of the founders of VirtualPairProgrammers.
His main field of interest is in the DevOps area, managing several large scale projects in the cloud.
Virtual Pair Programmers are here to help you take your programming skills to the next level. We're a group of enthusiastic software trainers who are all professional developers, and have a really practical approach to learning - our courses are full of real world case studies and hands on examples. We teach what you need to know to be productive in the workplace and to get the job done, rather than going through each feature turn by turn.
Prageeth is a Multi-skilled IT professional with a good all-round ability to deliver outcomes whilst at the same time comprehending complex and interdependent business processes.
Currently, Prageeth works for Australian telco giant Telstra, Prageeth provides expertise to architecture/design in IPTV (Telstra TV), and Box-office video teams. This includes building time to market, well designed and engineered, secured solutions meeting performance, scalability, and availability requirements. Prageeth designed many API-native and cloud-native solutions, container-based microservices APIs which are serving millions of Australians providing media contents across Australia.