CloudAcademy

Build RESTful Microservices with AWS Lambda and API Gateway

The hands-on lab is part of these learning paths

Refactoring a Monolithic .Net Application to use Cloud Services

course-steps 4 certification 2 lab-steps 6

Developer – Associate Certification Preparation for AWS - June 2018

course-steps 25 certification 4 lab-steps 22 description 2

Serverless Computing on AWS for Developers

course-steps 11 certification 1 lab-steps 8

Get Started Building Cloud Solutions

course-steps 14 certification 3 lab-steps 1 quiz-steps 1

Getting Started with Serverless Computing on AWS

course-steps 7 certification 1 lab-steps 9

Lab Steps

keyboard_tab
lock
Logging in to the Amazon Web Services Console
lock
Understanding RESTful APIs
lock
Defining New API Gateway Resources
lock
Creating an AWS Lambda Function Backend
lock
Versioning and Aliasing the Lambda Function
lock
Configuring the API Gateway Backend
lock
Following Best Practices for Versions, Aliases, and Stages
lock
Creating API Keys and Usage Plans
lock
Enabling CORS on API Gateway Resources
lock
Enabling API Gateway Caching and Throttling
lock
Cleaning up API Resources and Lambda Functions

Ready for the real environment experience?

DifficultyIntermediate
Duration1h 30m
Students694

Description

Lab Overview

Amazon API Gateway allows you to design RESTful interfaces and connect them to your favorite backend. You can design your own resources structure, add dynamic routing parameters, and develop custom authorizations logic. Each API resource can be configured independently, while each stage can have specific cache, throttling, and logging configurations.

This approach is particularly useful when you consider that each request and response can be attached to a custom mapping template, in order to perform custom data manipulation or improve API backward compatibility.

In this Lab, you will see how to define a simple API and how to connect it to AWS Lambda. This provides a nice way to obtain a scalable backend for modern web applications or mobile apps. You will configure custom stages, protect resources with an API key, and explain how to best connect API Gateway stages with AWS Lambda versions and aliases. You will learn about AWS Lambda's basic configuration, monitoring, and versioning as you progress through the Lab.

Lab Objectives

Upon completion of this Lab, you will be able to:

  • Understand the basics of RESTful APIs
  • Implement REST APIs using Amazon API Gateway
  • Enable desirable API features in API Gateway including caching, throttling, CORS, usage plans, and API key access
  • Create serverless API backends using AWS Lambda functions
  • Implement best practices for integrating Lambda backends in API Gateway

Lab Prerequisites

You should be familiar with:

  • Serverless computing fundamentals, particularly AWS Lambda, is beneficial
  • Prior experience using or implementing REST APIs is beneficial, but not required

Updates

September 5, 2018 - Improved Lab instructions format and clarity. Updated instructions and screenshots to match the new API Gateway interface

Environment before
PREVIEW
arrow_forward
Environment after
PREVIEW

About the Author

Alex is an Italian Software Engineer with a great passion for web technologies and music.

He spent the last 5 years building web products and deepening his knowledge on full stack web development and software design, with a main focus on frontend and UX.

Despite being a passionate coder, Alex worked hard on his software and sound engineering background, which provides him the tools to deal with multimedia, signal processing, machine learning, AI and many interesting topics related to math and data science.

Indeed, he had the opportunity to study and live in a very young and motivating environment in Bologna and Milan, two of the biggest and oldest Italian Universities. These experiences lead him to work on several projects involving robotics, machine intelligence, music semantic analysis and modern web development.

Alex is currently a Senior Software Engineer at Cloud Academy, a position that gave him the possibility to discover the Cloud world and exploit its potential as a web developer and data scientist.