Container and Kubernetes Essentials
Containers are becoming a fundamental technology skill to master for any job: DevOps Engineer, Software Engineer, Data Engineer or Data Scientist.
This course will start by answering the questions of why and how the container revolution came about by providing a short history of container technologies, from bare metal servers to virtual machines, to cloud-native microservices running in Docker.
The course will continue with a hands-on introduction to Docker and docker-compose. We will show why the portability of containers is so important in running the same application in multiple environments.
The last section of the course will consist of a hands-on demonstration of the most popular container orchestration technology today, Kubernetes. We will show how to run our application in a Kubernetes cluster, both locally and in the AWS cloud.
What you'll learn-and how you can apply it
There have been many mini-revolutions in technology: Moore’s Law, Cloud Computing, Deep Learning, scripting languages, etc. Containers are one of those mini-revolutions that changes everything. Ten years ago the cloud was a hard sell, but now it seems foolish to not have a cloud strategy. Likewise, containers are reaching a tipping point, where it soon may be silly to not have a container strategy.
This training explains the container revolution in plain language and takes a user through the background necessary to understand containers as well as the technical basics to become competent. If you work in technology, you need to take this course so you can hitch a ride on the container revolution train.
- Determine what problems containers solve
- Create, use and update your own container images
- Witness the portability of containers by running the same images locally and on a remote server
- Use a container orchestration technology such as Kubernetes both locally and in the cloud
This training course is for you because...
- You a developer who wants to stay current with the latest technology
- You are a manager who needs to understand how containers work so you can manage teams that use them
- You work as a data scientist and are realizing you need to master containers to perform at the highest level
- You are in DevOps and want to solidify your knowledge of core container concepts
Familiarity with Docker Guide: https://docs.docker.com/get-started/
- Docker Installed. Instructors will cover the install during the training if you aren't sure how to get started. They will also show a cloud-based alternative if your machine doesn't support Docker.
About your instructor
Noah Gift is lecturer and consultant at both UC Davis Graduate School of Management MSBA program and the Graduate Data Science program, MSDS, at Northwestern. He is teaching and designing graduate machine learning, AI, Data Science courses and consulting on Machine Learning and Cloud Architecture for students and faculty. These responsibilities including leading a multi-cloud certification initiative for students. He has published close to 100 technical publications including two books on subjects ranging from Cloud Machine Learning to DevOps. Gift received an MBA from UC Davis, a M.S. in Computer Information Systems from Cal State Los Angeles, and a B.S. in Nutritional Science from Cal Poly San Luis Obispo.
Professionally, Noah has approximately 20 years’ experience programming in Python. He is a Python Software Foundation Fellow, AWS Subject Matter Expert (SME) on Machine Learning, AWS Certified Solutions Architect and AWS Academy Accredited Instructor, Google Certified Professional Cloud Architect, Microsoft MTA on Python. He has worked in roles ranging from CTO, General Manager, Consulting CTO and Cloud Architect. This experience has been with a wide variety of companies including ABC, Caltech, Sony Imageworks, Disney Feature Animation, Weta Digital, AT&T, Turner Studios and Linden Lab. In the last ten years, he has been responsible for shipping many new products at multiple companies that generated millions of dollars of revenue and had global scale. Currently he is consulting startups and other companies.
Grig Gheorghiu works as the DevOps Lead at Reaction Commerce in Santa Monica. Grig has 25+ years of industry experience working in diverse roles such as programmer, test engineer, research lab manager, system/network/security/cloud architect, and DevOps lead. For the past 20 years Grig has been architecting and building the infrastructure for large consumer-facing and e-commerce websites such as Evite and NastyGal, as well as leading technical operations and engineering teams. Grig has a B.Sc. degree in CS from the University of Bucharest, Romania, and a M.Sc. degree in CS from USC in Los Angeles.
The timeframes are only estimates and may vary according to how the class is progressing
Part 1: Overview of Containers Length (60 min)
- What is a container and why do I care?
- What is the container revolution and how is it uniquely relevant today?
- Q&A (20 min)
- Break (15 min)
Part 2: Running Docker containers with docker-compose Length (60 min)
- Install Docker for Mac
- Write a Dockerfile
- Build and run a standalone Docker container
- Push Docker image to DockerHub
- Install docker-compose
- Write a docker-compose.yaml file for installing a more complex application (nginx + Flask + redis)
- Run application locally, then take the same docker-compose.yaml file and run it on an EC2 instance to show portability
- Q&A (20 min)
- Break (15 min)
Part 3: Introduction to Kubernetes (locally and in AWS EKS) Length (60 min)
- Show Kubernetes as part of Docker for Mac
- For non-Mac users, install minikube and use it for the rest of the demo
- Take the docker-compose.yaml file from the previous demo and turn it into Kubernetes manifest
- Run the Flask app inside Kubernetes
- Turn it into a Helm chart
- Provision an AWS EKS cluster
- Install the same Helm chart in the cluster
- Q&A (20 min)