We may earn an affiliate commission when you visit our partners.
Course image
Alex Ellis and Eric Egan

With the advent of systems like AWS Lambda, the term serverless gained much popularity. However, many people are still unsure what it is for, and how it can help them build applications faster than traditional approaches. Other potential users are turned off by the arbitrary limits and lock-in of cloud-based serverless products.

This course will teach you what “serverless” means and how it can be made portable with open source frameworks. You will get a good overview of the CNCF serverless landscape, and a first-hand experience in building and deploying code, directly to a Kubernetes cluster.

Read more

With the advent of systems like AWS Lambda, the term serverless gained much popularity. However, many people are still unsure what it is for, and how it can help them build applications faster than traditional approaches. Other potential users are turned off by the arbitrary limits and lock-in of cloud-based serverless products.

This course will teach you what “serverless” means and how it can be made portable with open source frameworks. You will get a good overview of the CNCF serverless landscape, and a first-hand experience in building and deploying code, directly to a Kubernetes cluster.

You will build functions using Python and learn how to configure them, manage secrets, add dependencies via pip, learn how to work with binary data, and add authentication. In the second part of the course you will explore the operational side of functions with Kubernetes. This will introduce auto-scaling, metrics, dashboards and how to expose them securely on the Internet with TLS.

If you are a developer or an IT operator interested in exploring new approaches for building software, and prefer to be able to set your own limits when it comes to things like timeouts and choice of programming language, this is the course for you!

What you'll learn

  • Understand what serverless is.

  • Get an overview of the CNCF landscape around serverless technologies.

  • Learn how serverless can be made portable through the use of the Serverless 2.0 definition and Kubernetes.

  • Explore the OpenFaaS toolchain, including: UI, CLI and REST API.

  • Explore the OpenFaaS ecosystem, including the template store and function store for sharing functions and code templates.

  • Build functions using Python, configure them, and use secrets.

  • Add dependencies via pip, and learn how to build native extensions.

  • Explore how to operate OpenFaaS with: autoscaling, metrics, dashboards, upgrades, custom URLs, and versioning.

  • Expose functions securely on the Internet with TLS, and secure them with authentication.

What's inside

Syllabus

Welcome!
Chapter 1. Introduction to Serverless
Chapter 2. State of Serverless in CNCF
Chapter 3. OpenFaaS
Read more
Chapter 4. Setting Up Kubernetes and OpenFaaS
Chapter 5. OpenFaaS Features
Chapter 6. Create Your First Function with Python
Chapter 7. Configuring a Function
Chapter 8. Operating Serverless
Chapter 9. Taking It Further
Final Exam (verified track only)

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines serverless applications and the CNCF landscape, exploring contemporary practices
Leverages OpenFaaS and Kubernetes, empowering learners to build, deploy, and manage serverless functions
Taught by Alex Ellis and Eric Egan, recognized experts in serverless and Kubernetes technologies
Suitable for developers and IT operators seeking alternative approaches to building software, with customizable limits and language options
Covers foundational concepts and practical skills in serverless computing, from building functions to managing operations
Requires learners to have a foundational understanding of Python and Kubernetes

Save this course

Save Introduction to Serverless on Kubernetes to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Serverless on Kubernetes with these activities:
Review Python Basics
Sharpen your Python skills to lay a solid foundation for understanding serverless concepts.
Browse courses on Python
Show steps
  • Revisit data types, variables, and basic operators.
  • Practice writing simple functions and control flow statements.
Explore OpenFaaS Hands-On Tutorial
Reinforce serverless concepts by following a practical tutorial that guides you through building and deploying functions.
Browse courses on OpenFaaS
Show steps
  • Set up your development environment.
  • Create and test a simple HTTP function.
  • Deploy the function to Kubernetes.
Participate in Study Group Discussions
Engage with fellow learners by participating in online or in-person study group discussions to exchange ideas and reinforce serverless concepts.
Browse courses on Serverless
Show steps
  • Find a study group or create your own.
  • Prepare for discussions by reviewing course materials.
  • Actively participate in discussions, sharing your insights and asking questions.
Eight other activities
Expand to see all activities and additional details
Show all 11 activities
Write Serverless Functions
Writing serverless functions will reinforce and help you synthesize what you've learned in the course.
Browse courses on Serverless Functions
Show steps
  • Set up your coding environment
  • Create a new function
  • Deploy your function
  • Test your function
Build a serverless app with Python and Kubernetes
Build a serverless app with Python and Kubernetes to reinforce your understanding of serverless principles and practical implementation with Kubernetes.
Browse courses on Serverless
Show steps
  • Set up a Kubernetes cluster
  • Install OpenFaaS
  • Create a Python function
  • Deploy the function to Kubernetes
  • Test the function
Volunteer to Mentor Junior Learners
Solidify your understanding of serverless concepts by sharing your knowledge and mentoring junior learners who are eager to explore this technology.
Browse courses on Serverless
Show steps
  • Identify opportunities to mentor junior learners in your community or online.
  • Prepare materials and resources to support your mentees' learning.
  • Provide guidance, answer questions, and encourage your mentees throughout their learning journey.
Kubernetes Configuration Exercises
Solidify your understanding of Kubernetes configuration by completing hands-on exercises that involve deploying and managing functions.
Browse courses on Kubernetes
Show steps
  • Create a custom Kubernetes manifest for a function.
  • Configure autoscaling for a function.
  • Set up TLS for secure function access.
Attend a Serverless Workshop
Accelerate your learning by attending a workshop focused on serverless technologies where you can gain hands-on experience and engage with experts.
Browse courses on Serverless
Show steps
  • Research and identify relevant serverless workshops.
  • Register for a workshop that aligns with your interests and learning goals.
  • Attend the workshop and actively participate in discussions and exercises.
Build a Serverless Project
Apply serverless principles by designing, building, and deploying a custom serverless application.
Browse courses on Serverless Applications
Show steps
  • Identify a problem or opportunity that can be addressed with a serverless application.
  • Design the application architecture and choose appropriate serverless technologies.
  • Develop and test the serverless functions.
  • Deploy the application to a cloud platform.
Serverless Resources Compilation
Enhance your knowledge base by gathering and organizing valuable resources related to serverless technologies, including articles, tutorials, and documentation.
Browse courses on Serverless
Show steps
  • Search for high-quality resources on serverless topics.
  • Use a tool like Notion or OneNote to organize the resources.
  • Categorize and tag the resources for easy retrieval.
Contribute to an Open Source Serverless Project
Expand your knowledge and make a meaningful contribution to the serverless community by participating in open source projects that align with your interests.
Browse courses on Serverless
Show steps
  • Identify open source serverless projects that interest you.
  • Review the project documentation and issue tracker.
  • Identify an area where you can contribute, such as bug fixing or feature development.
  • Submit a pull request with your contributions.

Career center

Learners who complete Introduction to Serverless on Kubernetes will develop knowledge and skills that may be useful to these careers:
Cloud Engineer
Cloud Engineers design, build, and manage cloud computing systems. They work with a variety of cloud technologies, such as AWS, Azure, and Google Cloud. This course may be useful for Cloud Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Security Engineer
Security Engineers design, build, and maintain security systems. They work with a variety of security technologies, such as firewalls, intrusion detection systems, and access control systems. This course may be useful for Security Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Full-Stack Developer
Full Stack Developers design, build, and maintain both the front-end and back-end of software systems. They work with a variety of technologies, such as HTML, CSS, JavaScript, and Python. This course may be useful for Full Stack Developers who want to learn about serverless computing and how it can be used to build cloud-native applications.
DevOps Engineer
DevOps Engineers work to bridge the gap between development and operations teams. They help to ensure that software is deployed and maintained in a reliable and efficient manner. This course may be useful for DevOps Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Back-End Developer
Back-End Developers design and build the back-end of software systems. They work with a variety of technologies, such as Python, Java, and C++. This course may be useful for Back-End Developers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Systems Engineer
Systems Engineers design, build, and maintain complex systems, such as networks, servers, and storage systems. They work with a variety of technologies, such as hardware, software, and networking. This course may be useful for Systems Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Front-End Developer
Front-End Developers design and build the user interface of software systems. They work with a variety of technologies, such as HTML, CSS, and JavaScript. This course may be useful for Front-End Developers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, build, and maintain artificial intelligence systems. They work with a variety of artificial intelligence techniques, such as natural language processing, computer vision, and robotics. This course may be useful for Artificial Intelligence Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Machine Learning Engineer
Machine Learning Engineers design, build, and maintain machine learning models. They work with a variety of machine learning techniques, such as supervised learning, unsupervised learning, and reinforcement learning. This course may be useful for Machine Learning Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Software Engineer
Software Engineers design, develop, and maintain software systems. They work on a variety of projects, from small personal projects to large enterprise systems. This course may be useful for Software Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Data Engineer
Data Engineers design, build, and maintain data pipelines. They work with a variety of data technologies, such as databases, data warehouses, and big data tools. This course may be useful for Data Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Network Engineer
Network Engineers design, build, and maintain computer networks. They work with a variety of networking technologies, such as routers, switches, and firewalls. This course may be useful for Network Engineers who want to learn about serverless computing and how it can be used to build cloud-native applications.
Systems Administrator
Systems Administrators manage and maintain computer systems. They work with a variety of technologies, such as operating systems, networks, and servers. This course may be useful for Systems Administrators who want to learn about serverless computing and how it can be used to build cloud-native applications.
Software Architect
Software Architects design and build the blueprints for complex software systems. They work closely with engineering teams to ensure that systems are scalable, efficient, and secure. This course may be useful for Software Architects who want to learn about serverless computing and how it can be used to build cloud-native applications.
Data Scientist
Data Scientists use data to solve business problems. They work with a variety of data science techniques, such as machine learning, artificial intelligence, and statistical analysis. This course may be useful for Data Scientists who want to learn about serverless computing and how it can be used to build cloud-native applications.

Reading list

We've selected five books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Serverless on Kubernetes.
Provides a detailed overview of serverless computing principles and patterns. It covers topics such as serverless architectures, event-driven programming, and best practices for designing and implementing serverless applications.
Provides a comprehensive guide to implementing DevOps practices in organizations. It covers topics such as DevOps principles, tools, and best practices for improving software development and delivery processes.
Provides a good overview of the Serverless Framework, a popular tool for building and deploying serverless applications.
Provides a comprehensive overview of serverless architectures. It is particularly useful for those who are new to serverless or who want to learn more about the different approaches to building and deploying serverless applications.
Provides a concise overview of serverless computing concepts and technologies. Discusses topics such as the benefits of serverless, different serverless offerings, and best practices. Suitable for beginners looking to understand the basics of serverless computing.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Serverless on Kubernetes.
Deploying Serverless Applications in AWS Using the...
Most relevant
Serverless Programming with Fn Project
Most relevant
Microsoft Azure Developer: Create Serverless Functions
Most relevant
Getting Started with Knative
Building Modern Node.js Applications on AWS
Building Modern Java Applications on AWS
Building Modern .NET Applications on AWS
Building Modern Python Applications on AWS
Develop a Serverless Computing App with Azure Static Web...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser