Course Overview

In this lesson, we give an overview of this course's content, intended audience, and learning outcomes.

About this course

This course introduces the basics of serverless computing for data science applications using the AWS Lambda service. Serverless computing enables us to run our code (single-purpose stateless functions) in response to events. Underlying compute resources are not visible to us.

Some examples of serverless applications include:

  • Netflix’s serverless architecture for video delivery, which uses AWS Lambda.
  • E-commerce websites that process transactions on online shopping carts using a serverless model.
  • Business logic handling at Coca-Cola’s vending machines, which uses AWS Lambda.

The good thing about serverless computing is that it offers automatic scaling, high availability, and a pay-as-you-use billing model to optimize costs.

Press + to interact
Coca-Cola's serverless architecture
Coca-Cola's serverless architecture

We can also use serverless computing to implement data science applications. As machine learning algorithms graduate from labs to industry, many data science applications are finding their way into the industry. In particular, model serving is one special data science use case that can be efficiently implemented using serverless computing. In this course, we’ll introduce machine learning (ML) model serving using AWS Lambda, the Serverless Framework, and Python based ML implementation.

Some knowledge of machine learning and Python is required for this course.

This course introduces serverless ML application development using four hands-on exercises and gradually builds the requisite knowledge.

During the course, we will:

  • Go through the deployment of serverless applications using the Serverless dashboard.
  • Discuss basic components and syntax of the serverless.yml file.
  • Learn about special helper functions.
  • See how to handle environment configuration through parameters and config files.
  • Learn to isolate function dependencies in multifunction deployments.
  • Learn to deploy large dependencies through Lambda layers.

All this will be done in custom Docker images. Eventually, we’ll deploy a machine learning model to AWS Lambda and integrate it with services, such as EventBridge and Step Functions.

At the end of this course, you will be able to program serverless applications for data science in AWS Lambda using Python. However, the Serverless Framework is quite generic and is flexible enough to be implemented using other programming languages and development frameworks too. Therefore, after going through this course, you can easily apply this knowledge to other frameworks and languages.

How the content and code are structured

This course consists of four hands-on exercises. These exercises are organized to gradually build your knowledge and intuition for how serverless applications work. The main goal is to gain this intuition—not to write sophisticated code.

All the code in these examples is completely generic, which means that provided the AWS user has enough privileges to deploy, they should be able to deploy those applications. To do this, we just need to swap the SERVERLESS_ORG and AWS_BUCKET_NAME variables.

Code files

Here are the four exercises that we will cover in this course. You can take a look at their files below. We’ll go over the details later.

org: educativeuser
app: serverless-101
service: sls-aws-python-starter

frameworkVersion: '3' # I would recommend to go directly for the latest major release, if you're not in a need of migrating

provider:
  name: aws
  region: eu-west-1 # Added this
  runtime: python3.9

functions:
  hello:
    handler: handler.hello
The code files