Hands-On Project 3: Serverless Computing

In this project, you gain initial exposure to serverless functions on both Azure and Amazon Web Services.

Overview

The purpose of this project is to gain initial exposure to serverless functions on both Azure and Amazon Web Services. The principal benefits of working through this exercise are:

  1. You will gain hands-on familiarity with the serverless computing paradigms of both Azure and AWS, including what it actually takes to get a serverless function running.
  2. You will gain insight on the trade-offs between development in the portal versus development on a client computer.
  3. You will gain additional experience with object storage and NoSQL databases on the respective provider platforms.

There are two parts to the exercise – one for Azure and one for Amazon Web Services. The main task for each part is to implement one serverless function to a given specification. The main requirements in the specification are:

  1. The function must be written in Python.
  2. The AWS Lambda function must be triggered by a file upload to object storage. The Azure Function must be triggered by an HTTP request identifying a file previously uploaded to blob storage.
  3. The function must write information about the uploaded file to a NoSQL database.
  4. The function must write log outputs to an appropriate log for each file uploaded.

In each part, here is (generally) what you will need to do:

  1. Create all resources needed to meet the function’s requirements.
  2. Set up all resources or objects needed to authorize the function to run.
  3. Locate and use API documentation to choose and use appropriate Python SDK APIs.
  4. Implement the function and adequately test it using the tool specified for that part of the project.
  5. Run a specific test case provided with this post and capture appropriate screenshots.

The file containing the required test case is here.

Do the Project on Azure

Please follow these instructions to complete the Azure portion of the project:

Implement an Azure Function using Visual Studio Code

Do the Project on AWS

Please follow these instructions to complete the AWS portion of the project:

Implement an AWS Lambda Function using the Management Console