This repository contains a collection of workshops and other hands on content that will guide you through building various serverless applications using Amazon S3, AWS Lambda, Amazon API Gateway, Amazon DynamoDB, Amazon Cognito and others.
If you're new to serverless, please refer to Serverless Computing on AWS to learn more before jumping in on hands-on labs.
To get hands dirty, we'll need to make sure to have all the environment tooling required for theses hands-labs are installed on your computer.
This workshop assumes you're using your local computer to walk-through the hands-on labs. If you prefer you can spin up your own IDE in the cloud, using AWS Cloud9. And skip this warm-up section.
-
Install AWS CLI
-
Configure a new profile on AWS CLI
As we're using a temporary account for this workshop we'll need to add a new profile instead of your default profile, while working with AWS CLI.
IAM Access Keys detailed creation for awsstudent
- Under your Console Home, find IAM:
- Get into
Users
:
- Find
awsstudent
user as it's the default user used by Qwiklabs platform we'll be using during the workshop.
- Generate a new 'Access Key' to be used by AWS CLI:
-
With AWS CLI installed, open your terminal of choice and type
aws configure --profile {a new profile name besides default}
-
Add the Access Key generated from IAM. This would be something like
AKIAJ72VFA7DKQ462Y6Q
, for example. -
Add your Secret Key -- if you don't have your Secret Key previously downloaded, you'll need to generate another Access Key. Please refer to IAM Access Keys detailed creation for awsstudent section above.
-
Check if you can perform an action like list all S3 buckets on this recently added profile. Type:
aws s3 ls --profile {your-profile-name}
You should see a response like the following:
2018-08-15 09:23:30 qltrail-lab-2456-1534335809
-
Install AWS SAM CLI for a local Lambda runtime experience while coding.
-
AWS SAM CLI runs on top of Docker. The easiest way to get Docker installed is by downloading their official bundles:
-
Install
sam
directly from PyPI:pip install --user aws-sam-cli
Refer to the complete installation guide if needed
-
-
Web Application - This hands-on labs collection shows you how to build a dynamic, serverless web application. You'll learn how to host static web resources with Amazon S3, how to use Amazon Cognito to manage users and authentication, and how to build a RESTful API for backend processing using Amazon API Gateway, AWS Lambda and Amazon DynamoDB.
-
Start with Static Web Site Hosting basics first;
-
Later you'll have enough time to complete the subsequent labs and add user management, fulfill backend requests with Lambda, produce a RESTful API using API Gateway -- and optionally enable OAuth-based authentication.
-
-
Image Processing - This module shows you how to build a serverless image processing application using workflow orchestration in the backend. You'll learn the basics of using AWS Step Functions to orchestrate multiple AWS Lambda functions while leveraging the deep learning-based facial recognition features of Amazon Rekogntion.
-
DevOps - This lab shows you how to use the Serverless Application Model (SAM) to build a serverless application using Amazon API Gateway, AWS Lambda, and Amazon DynamoDB -- all using AWS SAM.
Please be sure to add your feedback as a pull request to this repository.
This workshop is part of Wild Rydes Workshop initiative. You can follow the upstream repo at https://github.com/aws-samples/aws-serverless-workshops to learn more.