Duration
21 hours (usually 3 days including breaks)
Requirements
- Proficiency in Python programming experience
- Intermediate experience with Kubernetes concepts and principles
- An understanding of containerization and cloud technologies
- Experience with Linux distributions and CLI
Audience
- Developers
- DevOps Engineers
Overview
Serverless is a DevOps architecture that allows the creation and deployment of highly-scalable enterprise applications without the provisioning of any server. Kubernetes is an open-source platform for building container-based and cloud-native projects. A serverless framework can be integrated with Kubernetes to provide the automated hosting infrastructure necessary to run CaaS and FaaS implementations.
This instructor-led, live training (online or onsite) is aimed at developers and DevOps engineers who wish to utilize a serverless approach for building enterprise applications in Kubernetes.
By the end of this training, participants will be able to:
- Setup and configure the Kubernetes system to start developing with a serverless architecture.
- Understand the concepts and principles foundational to serverless environments.
- Operate toolchains necessary to serverless development and integrate it with Kubernetes components.
- Practice their skill in Python programming language and apply it to implement serverless systems.
- Secure enterprise applications that are deployed through a serverless framework on Kubernetes.
- Utilize modern cloud computing methods in optimizing DevOps task processing workflows.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Course Outline
Introduction
Overview of Serverless Features and Architecture
- How does serverless development work?
- What are requisites to a serverless approach?
Overview of CNCF Ecosystem and Serverless Environments
- Serverless Container as a Service v.s. Serverless Function as a Service
Getting Started with Serverless on Kubernetes
- Choosing the right serverless framework for Kubernetes
- Fission v.s. Kubeless v.s. Knative
- Knative v.s. OpenFaaS
Overview of Additional FaaS Providers for Serverless Frameworks
Overview of OpenFaaS Toolchain and Features
- Why should you get started with OpenFaaS?
- What tools can be integrated with OpenFaaS
Setting Up the Kubernetes System for Serverless Development
- Installing and configuring the necessary frameworks and tools
Operating the Core Serverless Framework Tools and Utilizing the API
- Navigating the dashboard and working with the UI or CLI
Overview of FaaS Implementations and Kubernetes Serverless Applications
- Cold start v.s. warm start
Creating a Python Function in Kubernetes Using a Serverless Framework
Storing Code Templates and Sharing Functions in Repositories
- Versioning serverless Kubernetes projects
Testing Python Functions and Optimizing Performance Metrics
- Working with invocation metrics
Implementing Automatic Scaling for Management of Resources Response
- Applying changes to functions
Adding Dependencies to Functions and Creating Native Extensions
Storing Kubernetes Secrets in Serverless Functions
- Leveraging container images and pod definitions
Securing Kubernetes Serverless Functions and Building Authentication Functionalities
- Working with TLS protocol
Deploying Python Functions with Serverless on Kubernetes
- Employing Serverless CI/CD pipelines for deployment
- Customizing component URLs
Monitoring Function Lifecycle and Reviewing Request Logs
Troubleshooting
Summary and Conclusion