AWS Serverless Architecture
Genese Software Solution
Scope
● Introduction to AWS Serverless Architecture
● Core Concepts of AWS Serverless Architecture
● AWS Services for Serverless Architecture
○ AWS Lambda
○ AWS API Gateway
○ AWS Dynamodb
● Demo(Lab)
AWS Serverless: Introduction and Overview
● The Serverless Framework helps us to deploy and develop our AWS Lambda Functions, along with
the AWS infrastructure resources they requires.
● AWS Lambda is a compute service that lets us to run code without provisioning or managing
servers.
● Serverless Framework is different from other application frameworks because:
○ It manages our code as well as our infrastructure
○ It supports multiple languages (Node.js, python, java, Go, .NET, Ruby)
AWS Serverless: Core Concepts
● Functions:
○ It’s merely code, deployed in the cloud, that is most often written to perform a single job such as:
■ Saving an information in database
■ Performing a scheduled task
● Events:
○ Anything that triggers an AWS Lambda Function to execute is regarded by framework as an Event. Events
can be:
■ An AWS API Gateway HTTP endpoint request (e.g., for a REST API)
■ An AWS S3 bucket upload
● Resources
○ Resources are AWS infrastructure components which our Functions use such as:
■ An AWS DynamoDB Table (e.g., for saving Users data)
■ An AWS S3 Bucket (e.g., for saving images)
AWS Lambda
● Run code without provisioning or managing servers.
● Executes our code only when needed and scales automatically.
● Currently supports six languages ( Python, Node.js, .NET, Go, Java and Ruby).
● Runs based on scheduled as well as real time events in AWS environment.
● By using versioning, we can manage our in-production function code in AWS Lambda better. When
we use versioning in AWS Lambda, we can publish one or more versions of our lambda function.
AWS API Gateway
● Create, publish, maintain, monitor and secure our own APIs at any scale.
● Benefits:
○ Supports for stateful(websocket) and stateless(REST) APIs.
○ Integration with AWS Services such as Lambda, Amazon Kinesis.
○ Ability to authorize access to our APIs by using IAM role/policies, Cognito Pools.
● Using API Gateway to create REST APIs:
○ An API Gateway REST API is made up of resource and methods.
○ A resource is a logical entity that an app can access thorugh a resource path.
○ A method corresponds to a REST API request that is submitted by the user of our API and the response
returned to the user.
AWS DynamoDB
● Amazon DynamoDB is a managed NoSQL database service that provides fast and predictable
performance with seamless scalability.
● DynamoDB lets us offload the administrative burdens of operating and scaling a distributed
database, so that we don’t have to worry about hardware setup, configuration, patching etc.
● With DynamoDB, we can create database tables that can store and retrieve any amount of data,
and serve any level of request traffic.
● We can scale up or scale down our tables' throughput capacity without downtime or performance
degradation.
Demo: Integrating Lambda with API
Gateway

Aws serverless architecture

  • 1.
  • 2.
    Scope ● Introduction toAWS Serverless Architecture ● Core Concepts of AWS Serverless Architecture ● AWS Services for Serverless Architecture ○ AWS Lambda ○ AWS API Gateway ○ AWS Dynamodb ● Demo(Lab)
  • 3.
    AWS Serverless: Introductionand Overview ● The Serverless Framework helps us to deploy and develop our AWS Lambda Functions, along with the AWS infrastructure resources they requires. ● AWS Lambda is a compute service that lets us to run code without provisioning or managing servers. ● Serverless Framework is different from other application frameworks because: ○ It manages our code as well as our infrastructure ○ It supports multiple languages (Node.js, python, java, Go, .NET, Ruby)
  • 4.
    AWS Serverless: CoreConcepts ● Functions: ○ It’s merely code, deployed in the cloud, that is most often written to perform a single job such as: ■ Saving an information in database ■ Performing a scheduled task ● Events: ○ Anything that triggers an AWS Lambda Function to execute is regarded by framework as an Event. Events can be: ■ An AWS API Gateway HTTP endpoint request (e.g., for a REST API) ■ An AWS S3 bucket upload ● Resources ○ Resources are AWS infrastructure components which our Functions use such as: ■ An AWS DynamoDB Table (e.g., for saving Users data) ■ An AWS S3 Bucket (e.g., for saving images)
  • 5.
    AWS Lambda ● Runcode without provisioning or managing servers. ● Executes our code only when needed and scales automatically. ● Currently supports six languages ( Python, Node.js, .NET, Go, Java and Ruby). ● Runs based on scheduled as well as real time events in AWS environment. ● By using versioning, we can manage our in-production function code in AWS Lambda better. When we use versioning in AWS Lambda, we can publish one or more versions of our lambda function.
  • 6.
    AWS API Gateway ●Create, publish, maintain, monitor and secure our own APIs at any scale. ● Benefits: ○ Supports for stateful(websocket) and stateless(REST) APIs. ○ Integration with AWS Services such as Lambda, Amazon Kinesis. ○ Ability to authorize access to our APIs by using IAM role/policies, Cognito Pools. ● Using API Gateway to create REST APIs: ○ An API Gateway REST API is made up of resource and methods. ○ A resource is a logical entity that an app can access thorugh a resource path. ○ A method corresponds to a REST API request that is submitted by the user of our API and the response returned to the user.
  • 7.
    AWS DynamoDB ● AmazonDynamoDB is a managed NoSQL database service that provides fast and predictable performance with seamless scalability. ● DynamoDB lets us offload the administrative burdens of operating and scaling a distributed database, so that we don’t have to worry about hardware setup, configuration, patching etc. ● With DynamoDB, we can create database tables that can store and retrieve any amount of data, and serve any level of request traffic. ● We can scale up or scale down our tables' throughput capacity without downtime or performance degradation.
  • 8.
    Demo: Integrating Lambdawith API Gateway