aws-serverless-workshops
Code and walkthrough labs to set up serverless applications for Wild Rydes workshops
Top Related Projects
Example projects using the AWS CDK
Airline Booking is a sample web application that provides Flight Search, Flight Payment, Flight Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until end of August in 2019.
Serverless Ecommerce Platform is a sample implementation of a serverless backend for an e-commerce website. This sample is not meant to be used as an e-commerce platform as-is, but as an inspiration on how to build event-driven serverless microservices on AWS.
Quick Overview
The aws-samples/aws-serverless-workshops repository is a collection of hands-on workshops and tutorials for learning about AWS serverless technologies. It covers various aspects of serverless architecture, including AWS Lambda, API Gateway, DynamoDB, and more. These workshops are designed to help developers and architects gain practical experience with AWS serverless services.
Pros
- Comprehensive coverage of AWS serverless technologies
- Hands-on, practical approach to learning
- Well-structured and easy-to-follow tutorials
- Regularly updated to reflect the latest AWS features and best practices
Cons
- Requires an AWS account for hands-on practice, which may incur costs
- Some workshops may become outdated as AWS services evolve
- Limited coverage of advanced serverless concepts
- May not be suitable for complete beginners to cloud computing
Getting Started
To get started with the AWS Serverless Workshops:
-
Clone the repository:
git clone https://github.com/aws-samples/aws-serverless-workshops.git
-
Choose a workshop from the available options (e.g., WebApplication, DataProcessing, MachineLearning).
-
Follow the README.md file in the chosen workshop directory for specific setup instructions and prerequisites.
-
Set up an AWS account if you don't have one already.
-
Configure your AWS CLI with appropriate credentials:
aws configure
-
Follow the step-by-step instructions provided in the workshop guide to complete the exercises and build your serverless application.
Competitor Comparisons
Example projects using the AWS CDK
Pros of aws-cdk-examples
- Focuses on CDK implementations, providing a wide range of infrastructure-as-code examples
- Covers various AWS services beyond serverless, offering broader learning opportunities
- Regularly updated with new examples and best practices for CDK usage
Cons of aws-cdk-examples
- May be overwhelming for beginners due to the large number of examples
- Lacks structured tutorials or step-by-step guides found in aws-serverless-workshops
- Primarily code-focused, with less explanatory content compared to aws-serverless-workshops
Code Comparison
aws-cdk-examples:
const bucket = new s3.Bucket(this, 'MyBucket', {
versioned: true,
encryption: s3.BucketEncryption.S3_MANAGED,
removalPolicy: cdk.RemovalPolicy.DESTROY,
});
aws-serverless-workshops:
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
The aws-cdk-examples repository uses TypeScript with the AWS CDK, providing a more programmatic approach to infrastructure definition. In contrast, aws-serverless-workshops often uses CloudFormation templates or SAM, which are more declarative in nature. The CDK example offers more flexibility and reusability, while the CloudFormation approach may be simpler for those familiar with YAML-based configurations.
Airline Booking is a sample web application that provides Flight Search, Flight Payment, Flight Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until end of August in 2019.
Pros of aws-serverless-airline-booking
- More comprehensive, real-world application scenario
- Includes frontend implementation with Vue.js
- Demonstrates integration with external services like Stripe for payments
Cons of aws-serverless-airline-booking
- More complex, potentially overwhelming for beginners
- Requires understanding of multiple AWS services and frontend development
- Less focus on individual serverless concepts
Code Comparison
aws-serverless-workshops:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Serverless web application example
Resources:
GetHelloWorld:
Type: AWS::Serverless::Function
aws-serverless-airline-booking:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Serverless Airline Booking Application
Resources:
FlightTable:
Type: AWS::DynamoDB::Table
The aws-serverless-workshops repository focuses on individual serverless concepts with simpler examples, making it more suitable for beginners. It provides step-by-step tutorials for various AWS serverless services.
The aws-serverless-airline-booking repository offers a more complex, production-like application scenario. It demonstrates how multiple AWS services can work together in a real-world application, including frontend integration and third-party service connections.
While aws-serverless-workshops is better for learning individual concepts, aws-serverless-airline-booking provides a more holistic view of serverless application development on AWS.
Serverless Ecommerce Platform is a sample implementation of a serverless backend for an e-commerce website. This sample is not meant to be used as an e-commerce platform as-is, but as an inspiration on how to build event-driven serverless microservices on AWS.
Pros of aws-serverless-ecommerce-platform
- More comprehensive, real-world e-commerce application
- Includes advanced features like payment processing and order management
- Demonstrates integration with external services (e.g., Stripe for payments)
Cons of aws-serverless-ecommerce-platform
- Higher complexity, potentially steeper learning curve
- Less focused on individual AWS services, more on overall architecture
- May be overwhelming for beginners in serverless development
Code Comparison
aws-serverless-workshops:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs14.x
aws-serverless-ecommerce-platform:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
ProductsFunction:
Type: AWS::Serverless::Function
Properties:
Handler: src/products/handler.lambda_handler
Runtime: python3.8
Events:
ApiEvent:
Type: Api
Properties:
Path: /products
Method: get
The aws-serverless-ecommerce-platform example shows a more complex function definition with API Gateway integration, reflecting its focus on building a complete e-commerce solution. The aws-serverless-workshops example is simpler, emphasizing individual service concepts.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
These workshops have been deprecated. For current serverless workshops, please visit: https://serverlessland.com/learn?type=Workshops
Wild Rydes Serverless Workshops
This repository contains a collection of workshops and other hands on content that will guide you through building various serverless applications using AWS Lambda, Amazon API Gateway, Amazon DynamoDB, AWS Step Functions, Amazon Kinesis, and other services.
Workshops
-
Web Application - This workshop 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.
-
Auth - This workshop shows you how to build in security at multiple layers of your application, starting with sign-up and sign-in functionality for your application, how to secure serverless microservices, and how to leverage AWS's identity and access management (IAM) to provide fine-grained access control to your application's users. You'll learn how AWS Amplify integrates with Amazon Cognito, Amazon API Gateway, AWS Lambda, and IAM to provide an integrated authentication and authorization experience.
-
Data Processing - This workshop demonstrates how to collect, store, and process data with a serverless application. In this workshop you'll learn how to build real-time streaming applications using Amazon Kinesis Data Streams and Amazon Kinesis Data Analytics, how to archive data streams using Amazon Kinesis Data Firehose and Amazon S3, and how to run ad-hoc queries on those files using Amazon Athena.
-
DevOps - In this workshop, you will learn how to start a new Serverless application from scratch using the Serverless Application Model (SAM) and how to fully automate builds and deployments by building a continous delivery pipeline using AWS CodeCommit, AWS CodeBuild and AWS CodePipeline. You will also learn how to test a Serverless application locally using the SAM CLI.
-
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.
-
Multi Region - This workshop shows you how to build a serverless ticketing system that is replicated across two regions and provides automatic failover in the event of a disaster. You will learn the basics of deploying AWS Lambda functions, exposing them via API Gateway, and configuring replication using Route53 and DynamoDB streams.
-
Security - This workshop shows you techniques to secure a serverless application built with AWS Lambda, Amazon API Gateway and RDS Aurora. We will cover AWS services and features you can leverage to improve the security of a serverless applications in 5 domains: identity & access management, infrastructure, data, code, and logging & monitoring.
-
Machine Learning - This workshop shows you how to collect, process, and join disparate data sources using AWS Lambda and Amazon Athena. This data can be used to train a machine learning model using Amazon SageMaker. With the trained model hosted on Amazon S3, you will build a serverless API using Amazon API Gateway and AWS Lambda to predict the probability that a unicorn will request service after completing a ride.
-
Decoupled Microservices - This workshop demonstrates the use of asynchronous messaging patterns to build micro-services based architecture. It applies the well known enterprise integration patterns using AWS services like SQS and SNS to implement various use cases for wild rydes business. All the labs are self contained and users can choose to go on their own adventure based on their requirements.
-
Document Processing - This workshop demonstrates the use of AWS Lambda and Amazon Textract to extract text and data from large scale documents. It shows both asynchronous and synchronous architectural patterns to build an efficient document processing engine.
-
Go Serverless - In this workshop, you will learn by using Go and the AWS Serverless Application Model (SAM), how to create a simple web service using AWS Lambda functions. It will also cover testing and debugging your web service locally with SAM monitoring and also troubleshooting your web service with distributed tracing using AWS X-Ray.
-
Application Catalog - In this workshop, we will explore some of the ways you can implement a CI/CD pipeline on AWS for Serverless workloads in a standardized way across an entire organization, allowing Software Engineers to develop and test Serverless workloads as they would in a more traditional environment while DevOps teams can focus on building one single pipeline that satisfies multiple environments and can be distributed as a âproductâ across multiple development teams.
-
Event Driven Architecture - In this workshop weâll cover the basics of event-driven design, using examples that involve Amazon EventBridge, Amazon SNS, Amazon SQS, AWS Lambda and more. You will learn how to choose the right AWS service for the job, as well as how to optimize for both cost and performance. Through hands on practice, this workshop will give you the skills bring event-driven design patterns into your own applications.
-
Innovator Island - Innovator Island is a popular theme park thatâs rolling out a mobile app for thousands of visitors. The app provides wait times, photo opportunities, notification alerts, and language translation for visitors who need it. However, the lead developer has disappeared, and in this workshop, youâre part of a development team thatâs assembling the pieces left behind. Learn and practice building a scalable serverless web app with limited development resources.
-
Serverlespresso - Serverlesspresso is a pop-up coffee shop that provides premium espresso drinks at conferences and events. The organizers have brought an elite team of the worldâs best baristas to brew 1,000 drinks a day for customers. Your job today is to help build a serverless application to help them accept orders and notify customers when their drinks are ready. You must build a robust solution that scales to meet demand, handles the workflow of individual drinks, and authenticates the coffee drinkers. The coffee bar opens in 2 hours! Good luck!
Third Party Workshops
The following workshops are created and maintained by third parties and explore a variety of other topics and tools related to serverless development on AWS.
- HERE Geocoding and Routing Extensions - These extensions to the Web Application and Data Processing workshops walk through how to enhance the base applications with geocoding and advanced routing features. You'll see how to launch applications from the AWS Serverless Application Repository and integrate these components into the existing architectures. You'll need to complete the primary Web Application or Data Processing workshop from this repository before starting the extensions.
Top Related Projects
Example projects using the AWS CDK
Airline Booking is a sample web application that provides Flight Search, Flight Payment, Flight Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until end of August in 2019.
Serverless Ecommerce Platform is a sample implementation of a serverless backend for an e-commerce website. This sample is not meant to be used as an e-commerce platform as-is, but as an inspiration on how to build event-driven serverless microservices on AWS.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot