Serverless Architectures with Kubernetes
With this course, you’ll get familiar with the Kubernetes serverless frameworks and develop the skill to create serverless applications. You’ll build out example applications and tackle intellectually stimulating programming challenges that will help prepare you for technical screenings and large, complex engineering problems.
Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. By learning Kubernetes, you’ll be able to design your own serverless architecture by implementing the function-as-a-service (FaaS) model.
After an accelerated, hands-on overview of the serverless architecture and various Kubernetes concepts, you’ll cover a wide range of real-world development challenges faced by real-world developers and explore various techniques to overcome them. You’ll learn how to create production-ready Kubernetes clusters and run serverless applications on them. You'll see how Kubernetes platforms and serverless frameworks such as Kubeless, Apache OpenWhisk, and OpenFaaS provide the tooling to help you develop serverless applications on Kubernetes. You'll also learn ways to select the appropriate framework for your upcoming project.
By the end of this course, you’ll have the skills and confidence to design your own serverless applications using the power and flexibility of Kubernetes.
After completing this course, you will be able to:
- Deploy a Kubernetes cluster locally with Minikube
- Get familiar with AWS Lambda and Google Cloud Functions
- Create, build, and deploy a webpage generated by the serverless functions in the cloud
- Create a Kubernetes cluster running on the virtual kubelet hardware abstraction
- Create, test, troubleshoot, and delete an OpenFaaS function
- Create a sample Slackbot with Apache OpenWhisk actions
We also recommend that you have the following software installed in advance:
- Sublime Text (latest version), Atom IDE (latest version), or another similar text editor application
- Git
For the optimal student experience, we recommend the following hardware configuration:
- Processor: Intel Core i5 or equivalent
- Memory: 8 GB RAM (16 GB preferred)
- Hard disk: 10 GB available space
- Internet connection
Additional Requirements:
- Azure account
- Google cloud account
- AWS account
- Docker Hub account
- Slack account
Lesson 1. Introduction to Serverless
Microservices, Containers and Functions
Serverless Architecture
Lesson 2. Introduction to Serverless in Cloud
Overview of Serverless Cloud Providers
Google Cloud Functions
AWS Lambda Functions
Lesson 3. Introduction to Serverless Frameworks
Overview of Serverless Frameworks
FN Framework
The Serverless Framework
Lesson 4. Kubernetes Deep Dive
Kubernetes Architecture
Kubernetes Resources
Lesson 5. Production-Ready Kubernetes Clusters
Kubernetes Setup Options
Kubernetes Platforms
Administering Kubernetes Clusters
Lesson 6. Upcoming Serverless Features in Kubernetes
Concepts of virtual kubelet
Kubernetes cluster running on the virtual kubelet hardware
abstraction
Deployment of stateless containers on top of google cloud
run on GKE
Lesson 7. Kubernetes Serverless with Kubeless
Introduction to Kubeless
Kubeless Cluster
Kubeless Functions
Lesson 8. Introduction to Apache OpenWhisk
Introduction to OpenWhisk
Getting Started with OpenWhisk
OpenWhisk Actions
OpenWhisk Triggers
Lesson 9. Going Serverless with OpenFaaS
Introduction to OpenFaaS
Installing OpenFaaS
OpenFaaS Functions