![Page 1: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/1.jpg)
Serverless Architecture – Hochskalierbare Anwendungen ohne
Server
Sascha Möllering,
Solutions Architect
![Page 2: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/2.jpg)
Agenda
• Serverless Architecture
• AWS Lambda
• Amazon API Gateway
• Amazon DynamoDB
• Amazon S3
• Serverless Framework
• Q&A
![Page 3: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/3.jpg)
Background
How serverless architecture patterns with AWS Lambda are the next evolution of application design
![Page 4: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/4.jpg)
The Monolithic Architecture
![Page 5: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/5.jpg)
The Service-Oriented Architecture
Presentation Tier Logic Tier
Data Tier
![Page 6: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/6.jpg)
The Microservices Architecture
![Page 7: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/7.jpg)
Why serverless architectures?
• No servers to manage and scale
• Run at scale
• Respond quickly to events
• Only pay for compute time that you use
• Developer productivity
![Page 8: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/8.jpg)
Serverless microservice architecture
Amazon S3
Static Content
AWS Lambda
Backend Logic
Web client
End user
Amazon API Gateway
REST Interface
Amazon
DynamoDB
Messages Data Store
![Page 9: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/9.jpg)
AWS Lambda
![Page 10: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/10.jpg)
AWS compute offerings
Amazon EC2Resizable virtual
servers in the
cloud
Amazon ECSContainer management
service for running
Docker on EC2
AWS LambdaServerless compute, run
code in response to
events
![Page 11: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/11.jpg)
Benefits of using Lambda
Continuous ScalingNo Servers to Manage
Lambda automatically
scales your application by
running code in response
to each trigger. Your code
runs in parallel and
processes each trigger
individually, scaling
precisely with the size of
the workload.
Subsecond Metering
With Lambda, you are
charged for every
100 ms your code
executes and the number
of times your code is
triggered. You don’t pay
anything when your code
isn’t running.
Lambda automatically
runs your code without
requiring you to provision
or manage servers. Just
write the code and
upload it to Lambda.
![Page 12: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/12.jpg)
AWS Lambda – How it works
Bring your own code
• Node.js, Java, Python
• Java = Any JVM based
language such as Scala,
Clojure, etc.
• Bring your own libraries
Flexible invocation paths
• Event or RequestResponse
invoke options
• Existing integrations with
various AWS services
Simple resource model
• Select memory from 128MB
to 1.5GB in 64MB steps
• CPU & Network allocated
proportionately to RAM
• Reports actual usage
Fine grained permissions
• Uses IAM role for Lambda
execution permissions
• Uses Resource policy for
AWS event sources
![Page 13: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/13.jpg)
AWS Lambda – Use Cases
Data ProcessingExecute code in response
to changes in data, shifts in system state, or actions by
users
Control SystemsCustomize responses and
response workflows to state and data changes
within AWS
BackendsExecute backend logic to handle requests for web, mobile, IoT, and 3rd APIs
![Page 14: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/14.jpg)
Amazon API Gateway
![Page 15: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/15.jpg)
Benefits of Amazon API Gateway
Create a unified API
front end for
multiple
microservices
DDoS protection
and throttling for
back-end systems
Authenticate and
authorize requests
![Page 16: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/16.jpg)
Benefits of Amazon API Gateway
• Managed cache to store API responses
• Reduced latency and distributed denial of service (DDoS) protection
through Amazon CloudFront
• SDK generation for iOS, Android, and JavaScript
• Swagger support
• Request and response data transformation
![Page 17: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/17.jpg)
An API call flow
Internet
Mobile apps
Websites
Services
AWS Lambda
functions
AWS
API Gateway
cache
Endpoints on
Amazon
EC2/AWS
Elastic
Beanstalk
Any other publicly
accessible endpointAmazon
CloudWatch
monitoring
API Gateway
![Page 18: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/18.jpg)
Amazon DynamoDB
![Page 19: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/19.jpg)
Fast, Consistent Performance
• Single-digit millisecond latency
– At any scale
• Data stored on Solid State Drives (SSDs)
• Automatic partitioning means no need for
hotspot management
![Page 20: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/20.jpg)
Highly Scalable
• Simply specify each table’s read and
write
throughput capacity
• Increase and decrease capacity as
needed
– No upper limit
• DynamoDB manages all the scaling
behind the scenes
![Page 21: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/21.jpg)
Flexible
Key-value store model
• Each item in a DynamoDB
table is a list of attributes
(fields) and values
• No need for every item to have
the same attributes
• Add attributes at will
Document store
• Place JSON-formatted data
into DynamoDB items for
robust, nested data structures
![Page 22: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/22.jpg)
Amazon DynamoDB is a schemaless database
table items
Attributes (name/value pairs or JSON documents)
![Page 23: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/23.jpg)
Amazon S3
![Page 24: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/24.jpg)
Amazon S3 - Features
SecureData transfer over SSL,
bucket policies to manage object permissions
Available Designed for up to 99.99%
availability
DurableDurability of
99.999999999% of objects
![Page 25: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/25.jpg)
Amazon S3 - Website Hosting
• Host static websites on Amazon S3
• HTML + JS + CSS
• Use JS to communicate with Amazon API Gateway
![Page 26: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/26.jpg)
Amazon S3 - Website Hosting
![Page 27: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/27.jpg)
![Page 28: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/28.jpg)
Serverless Framework
• Open-source application framework
• Build serverless architectures
• Manages your code as well as your infrastructure (AWS
CloudFormation)
• Supports multiple languages (Node.js, Python, Java, Scala)
![Page 29: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/29.jpg)
Serverless Framework
• Functions: AWS Lambda function, independent unit of deployment
• Events: Anything that triggers an AWS Lambda Function
• Resources: AWS infrastructure components which your Functions use
• Service: Framework's unit of organization (project file)
• Plugin: overwrite or extend the functionality of the Framework
![Page 30: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/30.jpg)
Serverless Framework
• serverless.yml: Contains Resources
• src/*: Contains Functions
• package.json: Dependencies
• event.json: Test event (local testing)
![Page 31: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/31.jpg)
Demo
![Page 32: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/32.jpg)
Summary
• Serverless Architecture is cost effective and highly scalable
• Focus on business success
• Increased developer productivity
![Page 33: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/33.jpg)
A Call to Action
![Page 34: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/34.jpg)
Go build something!
Amazon API Gateway
AWS Lambda AmazonDynamoDB
![Page 35: Serverless Architecture Hochskalierbare Anwendungen ohne ...aws-de-media.s3.amazonaws.com/images/_Munich_Loft... · Serverless Architecture –Hochskalierbare Anwendungen ohne Server](https://reader034.vdocuments.mx/reader034/viewer/2022042220/5ec6555cc9bd9e3e7a09db9f/html5/thumbnails/35.jpg)
aws.amazon.com/de/activate/
Everything and Anything Startups
Need to Get Started on AWS