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