SlideShare a Scribd company logo
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Making sense of AWS Serverless
operations
Vadym Kazulkin, ip.labs , AWS User Group Nuremberg , February 11 2025
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Vadym Kazulkin
ip.labs GmbH Bonn, Germany
Co-Organizer of the Java User Group
Bonn
v.kazulkin@gmail.com
@VKazulkin
https://dev.to/vkazulkin
https://github.com/Vadym79/
https://de.slideshare.net/VadymKazulkin/
https://www.linkedin.com/in/
vadymkazulkin
https://www.iplabs.de/
Contact
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
About ip.labs
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Challenges and lessons learned
Architect with AWS Serverless quotas and technical concepts in
mind
General architectural decisions
SQS vs SNS vs Kinesis vs EventBridge
Aurora (Serverless) vs DynamoDB vs Aurora
DSQL
Challenging Serverless
observability
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Challenges and lessons learned
Architect with AWS Serverless quotas and technical concepts in
mind
General architectural decisions
SQS vs SNS vs Kinesis vs EventBridge
Aurora (Serverless) vs DynamoDB vs Aurora
DSQL
Challenging Serverless
observability
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless Application
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
account and current region limits
Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Service Quotas Request History
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless Application
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/de/blogs/compute/building-well-architected-serverless-applications-controlling-serverless-api-access-part-2/
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html
• The throttle rate then determines how
many requests are allowed per second
• The throttle burst determines how
many additional requests are allowed
per second
API Gateway throttling-related settings
are applied in the following order:
• Per-client or per-method throttling
limits that you set for an API stage in a
usage plan
• Per-method throttling limits that you
set for an API stage
• Account-level throttling per Region
• AWS Regional throttling
Token bucket algorithm
API Gateway Token Bucket Algorithm
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustable
Default
throughput /
Throttle rate
The maximum number of requests per
second that your APIs can receive
10.000
Throttle burst
rate
The maximum number of additional
requests per second that you can send
in one burst
5.000
API Gateway Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustabl
e
Mitigation
Max timeout The maximum integration
timeout in milliseconds
29 sec 1) Increase the limit
2) Lambda Function
URL with response
streaming
API Payload
size
Maximum payload size for
non WebSocket API
10 MB 1)The client makes an
HTTP GET request to
API Gateway, and the
Lambda function
generates and returns
a presigned S3 URL
2)The client uploads
the image to S3
API Gateway Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless Application
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html
Concurrency is the number of in-flight requests your AWS Lambda function is
handling at the same time
Lambda Concurrency
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adj
usta
ble
Mitigation
Concurrent
executions/
Concurrency
limit
The maximum number of
events that functions can
process simultaneously in
the current region
1.000 Rearchitect
Burst
Concurrency
Limit
After the initial burst,
concurrency scales by
1000 executions every 10
seconds up to your
account concurrency limit.
Each function within an
account now scales
independently from each
• US West (Oregon), US
East (N. Virginia), Europe
(Ireland)=3.000
• Asia Pacific (Tokyo),
Europe (Frankfurt), US
East (Ohio)=1000
• All other Regions=500
Use
provisioned
concurrency
Lambda Important Service Quotas New
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/
Lambda Concurrency
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/de/blogs/aws/aws-lambda-functions-now-scale-12-times-faster-when-handling-high-volume-requests/
Lambda Concurrency and throttling
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/
Lambda concurrency limit is a limit on the
simultaneous in-flight invocations allowed
at the same time
Transaction per second (TPS) =
concurrency / function duration in
seconds
Lambda Concurrency and TPS
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Descriptio
n
Value Adjust
able
Mitigation
TPS
(Transaction
per Second)
The
maximum
number of
TPS
TPS = min(10 x
concurrency,
concurrency /
function duration
in seconds)
• If the function duration is
exactly 100ms (or 1/10th of a
second), both terms in the min
function are equal
• If the function duration is over
100ms, the second term is
lower and TPS is limited as per
concurrency/function duration
• If the function duration is
under 100ms, the first term is
lower and TPS is limited as per
10 x concurrency
Lambda Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/ https://www.linkedin.com/pulse/how-aws-lambda-works-underneath-shwetabh-shekhar/
The TPS limit exists to protect the Invoke Data Plane from the high churn of
short-lived invocations. In case of short invocations of under 100ms, throughput
is capped as though the function duration is 100ms (at 10 x concurrency). This
implies that short lived invocations may be TPS limited, rather than concurrency
limited.
Lambda TPS Quota
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda Function level Concurrency
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Optimize for cost-performance
• Use AWS Lambda Power Tuning
• Reuse AWS Service clients/connections outside of the Lambda
handler
• Use a keep-alive directive to maintain persistent connections
• Use the newest version of AWS SDK of programming language of
your choice
• Import only dependencies that you need (especially from AWS SDK)
• Minimize dependencies and package size
• Implement (other) best practices to reduce cold starts
https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html
General Best Practices for using Lambda
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustable Mitigation
Function
timeout
The maximum timeout
that you can configure
for a function
15 min
Synchronous
payload
The maximum size of an
incoming synchronous
invocation request or
outgoing response
6 MB For the Request:
• use API Gateway
service proxy to S3
• use pre-signed S3 URL and
upload directly to S3
For the Response:
Use response streaming (with
AWS Lambda Web Adapter )
https://theburningmonk.com/2020/04/hit-the-6mb-lambda-payload-limit-heres-what-you-can-do/
Lambda Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/de/blogs/compute/introducing-aws-lambda-response-streaming/
You can use response streaming to send responses larger than Lambda’s 6 MB
response payload limit up to a soft limit of 20 MB.
• Response streaming currently supports the Node.js 14.x and subsequent
managed runtimes
• To indicate to the runtime that Lambda should stream your function’s
responses, you must wrap your function handler with the
streamifyResponse() decorator. This tells the runtime to use the correct
stream logic path, allowing the function to stream responses
exports.handler = awslambda.streamifyResponse(
async (event, responseStream, context) => {
responseStream.setContentType(“text/plain”);
responseStream.write(“Hello, world!”);
responseStream.end();});
Lambda Response Streaming
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless Application
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adju
stabl
e
Mitigation
Table-level
read/wrtie
throughput limit
The maximum number of
read/write throughput
allocated for a table or global
secondary index
40.000 RCU/
40.000 WCU
Ask for quote
increase
Table-Level burst
capacity for
provisioned
capacity mode
During an occasional burst of
read or write activity, these
extra capacity units can be
consumed quickly
up to 300
seconds of
unused RCUs
and WCUs
Partition-level
read/write
throughput
The maximum number of
read/write throughput
allocated for a partition
3000 RCU
/1000 WCU
Use best
practices to
avoid hot
partition
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html#bp-partition-key-throughput-bursting
DynamoDB Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
On-Demand Capacity Mode is ideal for:
• Unknown workloads
• Frequently idle workloads
• Staging and (individual) test environments
• Unpredictable application traffic
• Low management overhead (truly serverless mode) is preferable
DynamoDB Provisioned Throughput vs On-
Demand Capacity Mode
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustable
Initial throughput for
on-demand capacity
mode
Initial throughput for on-
demand capacity mode
See futher
details
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes
DynamoDB Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Newly created table with on-demand capacity mode:
• Enables newly created on-demand tables to serve up to 4,000 WCUs or
12,000 RCUs
• If you exceed double your previous traffic's peak within 30 minutes,
then you might experience throttling
• Solutions for pre-warming:
• Use pre-warming Amazon DynamoDB tables/indeces with warm
throughput
• Performing the load test on your own
• Creating table in provisioned mode with high enough WCUs/RCUs
and then switch to on-demand mode
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.InitialThroughput
https://aws.amazon.com/blogs/database/pre-warming-amazon-dynamodb-tables-with-warm-throughput/
Initial Throughput for DynamoDB On-Demand Capacity
Mode
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Use high-cardinality attributes
• These are attributes that have distinct values for each item, like email_id,
employee_no, customer_id, session_id, order_id, and so on
• Use composite attributes
• Try to combine more than one attribute to form a unique key, if that meets your
access pattern. For example, consider an orders table with
customerid#productid#countrycode as the partition key and order_date as the
sort key, where the symbol # is used to split different field
• Add random numbers or digits from a predetermined range for write-heavy
use cases
• Suppose that you expect a large volume of writes for a partition key (for
example, greater than 1000K writes per second). In this case, use an additional
prefix or suffix (a fixed number from predetermined range, say 0–9) and add it to
the partition key, like InvoiceNumber#Random(0-N)
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-uniform-load.html
https://aws.amazon.com/de/blogs/database/choosing-the-right-dynamodb-partition-key/
Recommendation for DynamoDB partition keys
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless Application with Aurora (Serverless) instead of
DynamoDB
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustable
Data API HTTP
request body size
The maximum size allowed for the
HTTP request body
4 Megabytes
Data API maximum
result set size
The maximum size of the
database result set that can be
returned by the Data API.
1 Megabytes
Data API maximum
size of JSON
response string
The maximum size of the
simplified JSON response string
returned by the RDS Data API.
10 Megabytes
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html
Aurora Serverless v2 Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustable
Data API
requests
per second
The maximum number of
requests to the Data API
per second allowed
The max_connections value for
Aurora Serverless v2DB
instances is based on the
memory size derived from the
maximum ACUs.
However, when you specify a
minimum capacity of 0.5 ACUs
on PostgreSQL-compatible DB
instances, the maximum value
of max_connections is capped
at 2,000.
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max-connections
Aurora Serverless v2 Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max-connections
Aurora Serverless v2 Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless Application
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustabl
e
Throughput
per Standard
Queue
Standard queues support a nearly unlimited
number of transactions per second (TPS) per
API action.
Nearly
unlimited
SQS (Standard) Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/about-aws/whats-new/2023/11/aws-lambda-polling-scale-rate-sqs-event-source/?nc1=h_ls
https://aws.amazon.com/blogs/compute/introducing-faster-polling-scale-up-for-aws-lambda-functions-configured-with-amazon-sqs/
• When a Lambda function subscribes to an SQS
queue, Lambda polls the queue as it waits for
messages to arrive. It consumes messages in
batches, starting with 5 functions at a time
• If there are more messages in the queue,
Lambda adds up to 300 functions/concurrent
executions per minute, up to 1,000 functions
(or up to your account concurrency limit), to
consume those messages from the SQS queue
• This scaling behavior is managed by AWS and
cannot be modified
• To process more messages, you can optimize
your Lambda configuration for higher
throughput
Lambda scaling with SQS standard queues
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/de/blogs/compute/understanding-how-aws-lambda-scales-when-subscribed-to-amazon-sqs-queues/
https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting
• Increase the allocated memory for your Lambda
function
• Optimize batching behavior:
• by default, Lambda batches up to
10 messages in a queue to process them
during a single Lambda execution. You can
increase this number up to 10,000
messages, or up to 6 MB of messages in a
single batch for standard SQS queues
• If each payload size is 256KB (the maximum
message size for SQS), Lambda can only
take 23 messages per batch, regardless of
the batch size setting
• Implement partial batch responses
Lambda scaling with SQS standard queues
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustabl
e
Throughput
per Standard
Queue
Standard queues support a nearly unlimited
number of transactions per second (TPS) per
API action.
Nearly
unlimited
Message size The size of a message 256KB
SQS (Standard) Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
The BatchWriteItem operation puts
or deletes multiple items in one or
more tables.
A single call to BatchWriteItem can
transmit up to 16MB of data over
the network, consisting of up to
25 item put or delete operations
use BatchWriteItem
https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html
Use BatchWriteItem request for storing to DynamoDB
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
https://aws.amazon.com/blogs/compute/solving-complex-ordering-challenges-with-amazon-sqs-fifo-queues/
https://jayendrapatil.com/aws-sqs-standard-vs-fifo-queue/
SQS Standard Queue SQS FIFO Queue
Ordering Best Effort Ordering First In First Out Ordering
within the Message Group
Delivery At Least Once Exactly once
SQS FIFO
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Quota Description Value Adjustable
Batched Message
Throughput for FIFO
Queues
The number of batched transactions
per second (TPS) for FIFO queues
3.000
In-Flight Messages
per FIFO Queue
The number of in-flight messages in a
FIFO queue
20.000
SQS (FIFO) Important Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Put DynamoDB Accelerator (DAX) or Momento in front of DynamoDB
• Requires putting Lambda behind VPC
• ElastiCache before Aurora Serverless
• Requires putting Lambda behind VPC
• No “pay as you go” pricing
• Enable API Gateway Caching
• Uses ElastiCache behind the scenes
• No “pay as you go” pricing for ElastiCache
• Use CloudFront (and its caching capabilities) in front of API Gateway
Other Optimizations: Caching
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Set meaningful timeouts
• For API Gateway, Lambda
• Retry with exponential backoff and jitter
• AWS SDK supports them out of the box
• Implement idempotency
• AWS Lambda Powertools (Java, Python, Typescript) supports
idempotency module
https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/
https://aws.amazon.com/de/blogs/architecture/exponential-backoff-and-jitter/
https://aws.amazon.com/blogs/compute/handling-lambda-functions-idempotency-with-aws-lambda-powertools/
Other Optimizations: Error Handling and Retries
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Virtual Waiting Room
https://aws.amazon.com/solutions/implementations/virtual-waiting-room-on-aws/
AWS “Virtual Waiting Room” Solution
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Open-source project written in
Python that can be integrated into
existing applications
• Source code available on GitHub
• Different CloudFormation
Templates to choose from (from
minimal to extended solutions)
• Estimated costs for a 50,000-user
and a 100,000-user waiting room with
an event duration ranging 2-4 hours
• Virtual Waiting Room on AWS has
been load tested with a tool called
Locust. The simulated event sizes
ranged from 10,000 to 100,000 client
https://docs.aws.amazon.com/solutions/latest/virtual-waiting-room-on-aws/architecture-overview.html
https://docs.aws.amazon.com/pdfs/solutions/latest/virtual-waiting-room-on-aws/virtual-waiting-room-on-aws.pdf
AWS “Virtual Waiting Room” Solution
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
More Serverless services, more service quotas 
• CloudFront
• EventBridge
• SNS
• Kinesis
• StepFunctions
Services Quotas of other Serveress services
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Understand the concepts of distributed systems
• Token Bucket Algorithm
• How polling from the queue works
• Retries with (exponential) backoff pattern and jitter
• Understand the concepts of NoSQL databases
• Defining partition (and sort) keys and all sort of indexes
• Efficient data access pattern
• Understand individual service specific terms
• Concurrency, transactions per second (TPS)
• Throttle/Concurrency limit, burst limit
• Hot partitions
Understand Technical Concepts
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Know, understand and observe the service quotas
• Architect with service quotas in mind
• AWS adjusts them from time to time
• In case I’d like to request the quota increase, provide a valid
justification for the new desired value
• Service quotas are valid per AWS account (per region)
• Use different AWS accounts for development and testing
• Use different AWS accounts for independent
(micro-)services
• Separate AWS accounts on the team level
• Use AWS Organizations
General best practices for Service Quotas
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Recent AWS Serverless Services Quota Increases
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Recent AWS Serverless Services Quota Increases
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Recent AWS Serverless Services Quota Increases
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
It’s also about latency
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
“Serverless latency is a Thing: Daniele Frasca (Seven.One Entertainment Group) & Luca Mezzalira (AWS)” https://www.youtube.com/watch?v=xQo9fb4p0eE
Serverless Latency
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Recent AWS Serverless Services Quota Increases
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Challenges and lessons learned
Architect with AWS Serverless quotas and technical concepts in
mind
General architectural decisions
SQS vs SNS vs Kinesis vs EventBridge
Aurora (Serverless) vs DynamoDB vs Aurora
DSQL
Challenging Serverless observability
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
When to use SQS, SNS, Kinesis and EventBridge
https://www.serverlessguru.com/tips/sqs-vs-sns-vs-kinesis-vs-eventbridge
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
DynamoDB DynamoDB + DAX
Investment in
Knowledge
• Understanding of
NoSQL databases
• Understanding of
single-table design
principles
Same
Requires to put
Lambda into the VPC
to access the
database
DynamoDB
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Aurora (Serverless v2)
+ RDS Proxy
Aurora (Serverless v2)
+ Data API
Investment in
Knowledge
Relational databases are
familiar to many
developers
Same
Engine Support MySQL and PostgreSQL MySQL and PostgreSQL
Code re-use Yes, only endpoint
changes
No, requires code re-write
Requires to put
Lambda into the
VPC to access the
database
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV2.html
https://dev.to/aws-builders/data-api-for-amazon-aurora-serverless-v2-with-aws-sdk-for-java-part-1-introduction-and-set-up-of-the-sample-application-3g71
Aurora (Serverless v2 )
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
• Amazon Aurora DSQL the fastest serverless distributed SQL database
• It offers virtually unlimited scale, highest availability, and zero infrastructure
management.
• It can scale to meet any workload demand without database sharding
operational burden of patching, upgrades, maintenance downtime, and more.
• With its active-active distributed architecture, Aurora DSQL is designed for 99.99%
availability in single-Region configuration and 99.999% in multi-Region
configuration, with an innovative active-active, distributed architecture
Adding Aurora DSQL into the mix
https://aws.amazon.com/blogs/database/introducing-amazon-aurora-dsql/
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Challenges and lessons learned
Architect with AWS Serverless quotas and technical concepts in
mind
General architectural decisions
SQS vs SNS vs Kinesis vs EventBridge
Aurora (Serverless) vs DynamoDB vs Aurora
DSQL
Challenging Serverless
observability
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Current architecture our image storage
solution
Firdaws Aboulaye & Vadym Kazulkin ip.labs
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless reduces the need for (readily
available) ops skills but increases the
demand for (less readily available)
distributed system design skills.
https://architectelevator.com/cloud/serverless-illusion/
Serverless challenges
Firdaws Aboulaye & Vadym Kazulkin ip.labs
79
Thank you
Amazon DevOps Guru for the Serverless Applications
Ad

More Related Content

Similar to Making sense of AWS Serverless operations- AWS User Group Nuremberg (20)

Adopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup ItalyAdopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup Italy
Vadym Kazulkin
 
Adopting Java for the Serverless world at IT Tage
Adopting Java for the Serverless world at IT TageAdopting Java for the Serverless world at IT Tage
Adopting Java for the Serverless world at IT Tage
Vadym Kazulkin
 
Adapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG BarcelonaAdapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG Barcelona
Vadym Kazulkin
 
Adopting Java for the Serverless world at JUG Hamburg
Adopting Java for the Serverless world at  JUG HamburgAdopting Java for the Serverless world at  JUG Hamburg
Adopting Java for the Serverless world at JUG Hamburg
Vadym Kazulkin
 
Adopting Java for the Serverless world at Serverless Meetup Singapore
Adopting Java for the Serverless world at Serverless Meetup SingaporeAdopting Java for the Serverless world at Serverless Meetup Singapore
Adopting Java for the Serverless world at Serverless Meetup Singapore
Vadym Kazulkin
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
Vadym Kazulkin
 
How to reduce cold starts for Java Serverless applications in AWS at InfoShar...
How to reduce cold starts for Java Serverless applications in AWS at InfoShar...How to reduce cold starts for Java Serverless applications in AWS at InfoShar...
How to reduce cold starts for Java Serverless applications in AWS at InfoShar...
Vadym Kazulkin
 
Adopting Java for the Serverless world at JUG London
Adopting Java for the Serverless world at  JUG LondonAdopting Java for the Serverless world at  JUG London
Adopting Java for the Serverless world at JUG London
Vadym Kazulkin
 
High performance Serverless Java on AWS at AWS Community Day Belfast 2024
High performance Serverless Java on AWS at AWS Community Day Belfast 2024High performance Serverless Java on AWS at AWS Community Day Belfast 2024
High performance Serverless Java on AWS at AWS Community Day Belfast 2024
Vadym Kazulkin
 
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and BostonAdopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Vadym Kazulkin
 
Adopting Java for the Serverless world at AWS User Group Pretoria
Adopting Java for the Serverless world at AWS User Group PretoriaAdopting Java for the Serverless world at AWS User Group Pretoria
Adopting Java for the Serverless world at AWS User Group Pretoria
Vadym Kazulkin
 
Adopting Java for the Serverless World at JAX 2022
Adopting Java for the Serverless World at JAX 2022Adopting Java for the Serverless World at JAX 2022
Adopting Java for the Serverless World at JAX 2022
Vadym Kazulkin
 
Adopting Java for the Serverless World at JUG Darmstadt 2022
Adopting Java for the Serverless World at JUG Darmstadt 2022Adopting Java for the Serverless World at JUG Darmstadt 2022
Adopting Java for the Serverless World at JUG Darmstadt 2022
Vadym Kazulkin
 
Adopting Java for the Serverless World at JUG Bonn 2022
Adopting Java for the Serverless World at JUG Bonn 2022Adopting Java for the Serverless World at JUG Bonn 2022
Adopting Java for the Serverless World at JUG Bonn 2022
Vadym Kazulkin
 
Adopting Java for the Serverless World at JUG Hessen 2022
Adopting Java for the Serverless World at JUG Hessen 2022Adopting Java for the Serverless World at JUG Hessen 2022
Adopting Java for the Serverless World at JUG Hessen 2022
Vadym Kazulkin
 
FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...
FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...
FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...
Vadym Kazulkin
 
How to reduce cold starts for Java Serverless applications in AWS at Serverle...
How to reduce cold starts for Java Serverless applications in AWS at Serverle...How to reduce cold starts for Java Serverless applications in AWS at Serverle...
How to reduce cold starts for Java Serverless applications in AWS at Serverle...
Vadym Kazulkin
 
Making sense of service quotas of AWS Serverless services and how to deal wit...
Making sense of service quotas of AWS Serverless services and how to deal wit...Making sense of service quotas of AWS Serverless services and how to deal wit...
Making sense of service quotas of AWS Serverless services and how to deal wit...
Vadym Kazulkin
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...
Vadym Kazulkin
 
Adopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup ItalyAdopting Java for the Serverless world at Serverless Meetup Italy
Adopting Java for the Serverless world at Serverless Meetup Italy
Vadym Kazulkin
 
Adopting Java for the Serverless world at IT Tage
Adopting Java for the Serverless world at IT TageAdopting Java for the Serverless world at IT Tage
Adopting Java for the Serverless world at IT Tage
Vadym Kazulkin
 
Adapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG BarcelonaAdapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG Barcelona
Vadym Kazulkin
 
Adopting Java for the Serverless world at JUG Hamburg
Adopting Java for the Serverless world at  JUG HamburgAdopting Java for the Serverless world at  JUG Hamburg
Adopting Java for the Serverless world at JUG Hamburg
Vadym Kazulkin
 
Adopting Java for the Serverless world at Serverless Meetup Singapore
Adopting Java for the Serverless world at Serverless Meetup SingaporeAdopting Java for the Serverless world at Serverless Meetup Singapore
Adopting Java for the Serverless world at Serverless Meetup Singapore
Vadym Kazulkin
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
Vadym Kazulkin
 
How to reduce cold starts for Java Serverless applications in AWS at InfoShar...
How to reduce cold starts for Java Serverless applications in AWS at InfoShar...How to reduce cold starts for Java Serverless applications in AWS at InfoShar...
How to reduce cold starts for Java Serverless applications in AWS at InfoShar...
Vadym Kazulkin
 
Adopting Java for the Serverless world at JUG London
Adopting Java for the Serverless world at  JUG LondonAdopting Java for the Serverless world at  JUG London
Adopting Java for the Serverless world at JUG London
Vadym Kazulkin
 
High performance Serverless Java on AWS at AWS Community Day Belfast 2024
High performance Serverless Java on AWS at AWS Community Day Belfast 2024High performance Serverless Java on AWS at AWS Community Day Belfast 2024
High performance Serverless Java on AWS at AWS Community Day Belfast 2024
Vadym Kazulkin
 
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and BostonAdopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Vadym Kazulkin
 
Adopting Java for the Serverless world at AWS User Group Pretoria
Adopting Java for the Serverless world at AWS User Group PretoriaAdopting Java for the Serverless world at AWS User Group Pretoria
Adopting Java for the Serverless world at AWS User Group Pretoria
Vadym Kazulkin
 
Adopting Java for the Serverless World at JAX 2022
Adopting Java for the Serverless World at JAX 2022Adopting Java for the Serverless World at JAX 2022
Adopting Java for the Serverless World at JAX 2022
Vadym Kazulkin
 
Adopting Java for the Serverless World at JUG Darmstadt 2022
Adopting Java for the Serverless World at JUG Darmstadt 2022Adopting Java for the Serverless World at JUG Darmstadt 2022
Adopting Java for the Serverless World at JUG Darmstadt 2022
Vadym Kazulkin
 
Adopting Java for the Serverless World at JUG Bonn 2022
Adopting Java for the Serverless World at JUG Bonn 2022Adopting Java for the Serverless World at JUG Bonn 2022
Adopting Java for the Serverless World at JUG Bonn 2022
Vadym Kazulkin
 
Adopting Java for the Serverless World at JUG Hessen 2022
Adopting Java for the Serverless World at JUG Hessen 2022Adopting Java for the Serverless World at JUG Hessen 2022
Adopting Java for the Serverless World at JUG Hessen 2022
Vadym Kazulkin
 
FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...
FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...
FaaS or not to FaaS. Visible and invsible benefits of the Serverless paradigm...
Vadym Kazulkin
 
How to reduce cold starts for Java Serverless applications in AWS at Serverle...
How to reduce cold starts for Java Serverless applications in AWS at Serverle...How to reduce cold starts for Java Serverless applications in AWS at Serverle...
How to reduce cold starts for Java Serverless applications in AWS at Serverle...
Vadym Kazulkin
 
Making sense of service quotas of AWS Serverless services and how to deal wit...
Making sense of service quotas of AWS Serverless services and how to deal wit...Making sense of service quotas of AWS Serverless services and how to deal wit...
Making sense of service quotas of AWS Serverless services and how to deal wit...
Vadym Kazulkin
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda-OBI ...
Vadym Kazulkin
 

More from Vadym Kazulkin (20)

How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...
Vadym Kazulkin
 
Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...
Vadym Kazulkin
 
High performance Serverless Java on AWS- Serverless Architecture Javaland 2025
High performance Serverless Java on AWS- Serverless Architecture Javaland 2025High performance Serverless Java on AWS- Serverless Architecture Javaland 2025
High performance Serverless Java on AWS- Serverless Architecture Javaland 2025
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...
Vadym Kazulkin
 
Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...
Vadym Kazulkin
 
High performance Serverless Java on AWS- Serverless Meetup Toronto
High performance Serverless Java on AWS- Serverless Meetup TorontoHigh performance Serverless Java on AWS- Serverless Meetup Toronto
High performance Serverless Java on AWS- Serverless Meetup Toronto
Vadym Kazulkin
 
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Vadym Kazulkin
 
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Vadym Kazulkin
 
High performance Serverless Java on AWS- AWS Community Day Budapest 2024
High performance Serverless Java on AWS- AWS Community Day Budapest 2024High performance Serverless Java on AWS- AWS Community Day Budapest 2024
High performance Serverless Java on AWS- AWS Community Day Budapest 2024
Vadym Kazulkin
 
Event-driven architecture patterns in highly scalable image storage solution ...
Event-driven architecture patterns in highly scalable image storage solution ...Event-driven architecture patterns in highly scalable image storage solution ...
Event-driven architecture patterns in highly scalable image storage solution ...
Vadym Kazulkin
 
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Vadym Kazulkin
 
Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024
Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024
Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
Vadym Kazulkin
 
High performance Serverless Java on AWS at Froscon 2024
High performance Serverless Java on AWS at Froscon 2024High performance Serverless Java on AWS at Froscon 2024
High performance Serverless Java on AWS at Froscon 2024
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda  at ...How to develop, run and optimize Spring Boot 3 application on AWS Lambda  at ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at ...
Vadym Kazulkin
 
Developing highly scalable image storage solution with AWS Serverless at GoTo...
Developing highly scalable image storage solution with AWS Serverless at GoTo...Developing highly scalable image storage solution with AWS Serverless at GoTo...
Developing highly scalable image storage solution with AWS Serverless at GoTo...
Vadym Kazulkin
 
High performance Serverless Java on AWS- JavaDays Lviv 2024
High performance Serverless Java on AWS- JavaDays Lviv 2024High performance Serverless Java on AWS- JavaDays Lviv 2024
High performance Serverless Java on AWS- JavaDays Lviv 2024
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda - Wa...
Vadym Kazulkin
 
Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...
Vadym Kazulkin
 
High performance Serverless Java on AWS- Serverless Architecture Javaland 2025
High performance Serverless Java on AWS- Serverless Architecture Javaland 2025High performance Serverless Java on AWS- Serverless Architecture Javaland 2025
High performance Serverless Java on AWS- Serverless Architecture Javaland 2025
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at V...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at I...
Vadym Kazulkin
 
Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...Event-driven architecture patterns in highly scalable image storage solution-...
Event-driven architecture patterns in highly scalable image storage solution-...
Vadym Kazulkin
 
High performance Serverless Java on AWS- Serverless Meetup Toronto
High performance Serverless Java on AWS- Serverless Meetup TorontoHigh performance Serverless Java on AWS- Serverless Meetup Toronto
High performance Serverless Java on AWS- Serverless Meetup Toronto
Vadym Kazulkin
 
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Vadym Kazulkin
 
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Vadym Kazulkin
 
High performance Serverless Java on AWS- AWS Community Day Budapest 2024
High performance Serverless Java on AWS- AWS Community Day Budapest 2024High performance Serverless Java on AWS- AWS Community Day Budapest 2024
High performance Serverless Java on AWS- AWS Community Day Budapest 2024
Vadym Kazulkin
 
Event-driven architecture patterns in highly scalable image storage solution ...
Event-driven architecture patterns in highly scalable image storage solution ...Event-driven architecture patterns in highly scalable image storage solution ...
Event-driven architecture patterns in highly scalable image storage solution ...
Vadym Kazulkin
 
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Detect operational anomalies in Serverless Applications with Amazon DevOps Gu...
Vadym Kazulkin
 
Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024
Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024
Amazon DevOps Guru for Serverless Applications at JAWS Pankration 2024
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
Vadym Kazulkin
 
High performance Serverless Java on AWS at Froscon 2024
High performance Serverless Java on AWS at Froscon 2024High performance Serverless Java on AWS at Froscon 2024
High performance Serverless Java on AWS at Froscon 2024
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at A...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at J...
Vadym Kazulkin
 
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda  at ...How to develop, run and optimize Spring Boot 3 application on AWS Lambda  at ...
How to develop, run and optimize Spring Boot 3 application on AWS Lambda at ...
Vadym Kazulkin
 
Developing highly scalable image storage solution with AWS Serverless at GoTo...
Developing highly scalable image storage solution with AWS Serverless at GoTo...Developing highly scalable image storage solution with AWS Serverless at GoTo...
Developing highly scalable image storage solution with AWS Serverless at GoTo...
Vadym Kazulkin
 
High performance Serverless Java on AWS- JavaDays Lviv 2024
High performance Serverless Java on AWS- JavaDays Lviv 2024High performance Serverless Java on AWS- JavaDays Lviv 2024
High performance Serverless Java on AWS- JavaDays Lviv 2024
Vadym Kazulkin
 
Ad

Recently uploaded (20)

What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Ad

Making sense of AWS Serverless operations- AWS User Group Nuremberg

  • 1. Firdaws Aboulaye & Vadym Kazulkin ip.labs Making sense of AWS Serverless operations Vadym Kazulkin, ip.labs , AWS User Group Nuremberg , February 11 2025
  • 2. Firdaws Aboulaye & Vadym Kazulkin ip.labs Vadym Kazulkin ip.labs GmbH Bonn, Germany Co-Organizer of the Java User Group Bonn [email protected] @VKazulkin https://dev.to/vkazulkin https://github.com/Vadym79/ https://de.slideshare.net/VadymKazulkin/ https://www.linkedin.com/in/ vadymkazulkin https://www.iplabs.de/ Contact
  • 3. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea About ip.labs
  • 4. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Challenges and lessons learned Architect with AWS Serverless quotas and technical concepts in mind General architectural decisions SQS vs SNS vs Kinesis vs EventBridge Aurora (Serverless) vs DynamoDB vs Aurora DSQL Challenging Serverless observability
  • 5. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Challenges and lessons learned Architect with AWS Serverless quotas and technical concepts in mind General architectural decisions SQS vs SNS vs Kinesis vs EventBridge Aurora (Serverless) vs DynamoDB vs Aurora DSQL Challenging Serverless observability
  • 6. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Serverless Application
  • 7. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Service Quotas
  • 8. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Service Quotas
  • 9. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea account and current region limits Service Quotas
  • 10. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Service Quotas
  • 11. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Service Quotas Request History
  • 12. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Serverless Application
  • 13. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/de/blogs/compute/building-well-architected-serverless-applications-controlling-serverless-api-access-part-2/ https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html • The throttle rate then determines how many requests are allowed per second • The throttle burst determines how many additional requests are allowed per second API Gateway throttling-related settings are applied in the following order: • Per-client or per-method throttling limits that you set for an API stage in a usage plan • Per-method throttling limits that you set for an API stage • Account-level throttling per Region • AWS Regional throttling Token bucket algorithm API Gateway Token Bucket Algorithm
  • 14. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustable Default throughput / Throttle rate The maximum number of requests per second that your APIs can receive 10.000 Throttle burst rate The maximum number of additional requests per second that you can send in one burst 5.000 API Gateway Important Service Quotas
  • 15. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustabl e Mitigation Max timeout The maximum integration timeout in milliseconds 29 sec 1) Increase the limit 2) Lambda Function URL with response streaming API Payload size Maximum payload size for non WebSocket API 10 MB 1)The client makes an HTTP GET request to API Gateway, and the Lambda function generates and returns a presigned S3 URL 2)The client uploads the image to S3 API Gateway Important Service Quotas
  • 16. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Serverless Application
  • 17. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html Concurrency is the number of in-flight requests your AWS Lambda function is handling at the same time Lambda Concurrency
  • 18. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adj usta ble Mitigation Concurrent executions/ Concurrency limit The maximum number of events that functions can process simultaneously in the current region 1.000 Rearchitect Burst Concurrency Limit After the initial burst, concurrency scales by 1000 executions every 10 seconds up to your account concurrency limit. Each function within an account now scales independently from each • US West (Oregon), US East (N. Virginia), Europe (Ireland)=3.000 • Asia Pacific (Tokyo), Europe (Frankfurt), US East (Ohio)=1000 • All other Regions=500 Use provisioned concurrency Lambda Important Service Quotas New
  • 19. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/ Lambda Concurrency
  • 20. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/de/blogs/aws/aws-lambda-functions-now-scale-12-times-faster-when-handling-high-volume-requests/ Lambda Concurrency and throttling
  • 21. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/ Lambda concurrency limit is a limit on the simultaneous in-flight invocations allowed at the same time Transaction per second (TPS) = concurrency / function duration in seconds Lambda Concurrency and TPS
  • 22. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Descriptio n Value Adjust able Mitigation TPS (Transaction per Second) The maximum number of TPS TPS = min(10 x concurrency, concurrency / function duration in seconds) • If the function duration is exactly 100ms (or 1/10th of a second), both terms in the min function are equal • If the function duration is over 100ms, the second term is lower and TPS is limited as per concurrency/function duration • If the function duration is under 100ms, the first term is lower and TPS is limited as per 10 x concurrency Lambda Important Service Quotas
  • 23. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/ https://www.linkedin.com/pulse/how-aws-lambda-works-underneath-shwetabh-shekhar/ The TPS limit exists to protect the Invoke Data Plane from the high churn of short-lived invocations. In case of short invocations of under 100ms, throughput is capped as though the function duration is 100ms (at 10 x concurrency). This implies that short lived invocations may be TPS limited, rather than concurrency limited. Lambda TPS Quota
  • 24. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Lambda Function level Concurrency
  • 25. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Optimize for cost-performance • Use AWS Lambda Power Tuning • Reuse AWS Service clients/connections outside of the Lambda handler • Use a keep-alive directive to maintain persistent connections • Use the newest version of AWS SDK of programming language of your choice • Import only dependencies that you need (especially from AWS SDK) • Minimize dependencies and package size • Implement (other) best practices to reduce cold starts https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html General Best Practices for using Lambda
  • 26. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustable Mitigation Function timeout The maximum timeout that you can configure for a function 15 min Synchronous payload The maximum size of an incoming synchronous invocation request or outgoing response 6 MB For the Request: • use API Gateway service proxy to S3 • use pre-signed S3 URL and upload directly to S3 For the Response: Use response streaming (with AWS Lambda Web Adapter ) https://theburningmonk.com/2020/04/hit-the-6mb-lambda-payload-limit-heres-what-you-can-do/ Lambda Important Service Quotas
  • 27. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/de/blogs/compute/introducing-aws-lambda-response-streaming/ You can use response streaming to send responses larger than Lambda’s 6 MB response payload limit up to a soft limit of 20 MB. • Response streaming currently supports the Node.js 14.x and subsequent managed runtimes • To indicate to the runtime that Lambda should stream your function’s responses, you must wrap your function handler with the streamifyResponse() decorator. This tells the runtime to use the correct stream logic path, allowing the function to stream responses exports.handler = awslambda.streamifyResponse( async (event, responseStream, context) => { responseStream.setContentType(“text/plain”); responseStream.write(“Hello, world!”); responseStream.end();}); Lambda Response Streaming
  • 28. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Serverless Application
  • 29. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adju stabl e Mitigation Table-level read/wrtie throughput limit The maximum number of read/write throughput allocated for a table or global secondary index 40.000 RCU/ 40.000 WCU Ask for quote increase Table-Level burst capacity for provisioned capacity mode During an occasional burst of read or write activity, these extra capacity units can be consumed quickly up to 300 seconds of unused RCUs and WCUs Partition-level read/write throughput The maximum number of read/write throughput allocated for a partition 3000 RCU /1000 WCU Use best practices to avoid hot partition https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html#bp-partition-key-throughput-bursting DynamoDB Important Service Quotas
  • 30. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea On-Demand Capacity Mode is ideal for: • Unknown workloads • Frequently idle workloads • Staging and (individual) test environments • Unpredictable application traffic • Low management overhead (truly serverless mode) is preferable DynamoDB Provisioned Throughput vs On- Demand Capacity Mode
  • 31. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustable Initial throughput for on-demand capacity mode Initial throughput for on- demand capacity mode See futher details https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes DynamoDB Important Service Quotas
  • 32. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Newly created table with on-demand capacity mode: • Enables newly created on-demand tables to serve up to 4,000 WCUs or 12,000 RCUs • If you exceed double your previous traffic's peak within 30 minutes, then you might experience throttling • Solutions for pre-warming: • Use pre-warming Amazon DynamoDB tables/indeces with warm throughput • Performing the load test on your own • Creating table in provisioned mode with high enough WCUs/RCUs and then switch to on-demand mode https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.InitialThroughput https://aws.amazon.com/blogs/database/pre-warming-amazon-dynamodb-tables-with-warm-throughput/ Initial Throughput for DynamoDB On-Demand Capacity Mode
  • 33. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Use high-cardinality attributes • These are attributes that have distinct values for each item, like email_id, employee_no, customer_id, session_id, order_id, and so on • Use composite attributes • Try to combine more than one attribute to form a unique key, if that meets your access pattern. For example, consider an orders table with customerid#productid#countrycode as the partition key and order_date as the sort key, where the symbol # is used to split different field • Add random numbers or digits from a predetermined range for write-heavy use cases • Suppose that you expect a large volume of writes for a partition key (for example, greater than 1000K writes per second). In this case, use an additional prefix or suffix (a fixed number from predetermined range, say 0–9) and add it to the partition key, like InvoiceNumber#Random(0-N) https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-uniform-load.html https://aws.amazon.com/de/blogs/database/choosing-the-right-dynamodb-partition-key/ Recommendation for DynamoDB partition keys
  • 34. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Serverless Application with Aurora (Serverless) instead of DynamoDB
  • 35. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustable Data API HTTP request body size The maximum size allowed for the HTTP request body 4 Megabytes Data API maximum result set size The maximum size of the database result set that can be returned by the Data API. 1 Megabytes Data API maximum size of JSON response string The maximum size of the simplified JSON response string returned by the RDS Data API. 10 Megabytes https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html Aurora Serverless v2 Important Service Quotas
  • 36. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustable Data API requests per second The maximum number of requests to the Data API per second allowed The max_connections value for Aurora Serverless v2DB instances is based on the memory size derived from the maximum ACUs. However, when you specify a minimum capacity of 0.5 ACUs on PostgreSQL-compatible DB instances, the maximum value of max_connections is capped at 2,000. https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max-connections Aurora Serverless v2 Important Service Quotas
  • 37. Firdaws Aboulaye & Vadym Kazulkin ip.labs https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max-connections Aurora Serverless v2 Important Service Quotas
  • 38. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Serverless Application
  • 39. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustabl e Throughput per Standard Queue Standard queues support a nearly unlimited number of transactions per second (TPS) per API action. Nearly unlimited SQS (Standard) Important Service Quotas
  • 40. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/about-aws/whats-new/2023/11/aws-lambda-polling-scale-rate-sqs-event-source/?nc1=h_ls https://aws.amazon.com/blogs/compute/introducing-faster-polling-scale-up-for-aws-lambda-functions-configured-with-amazon-sqs/ • When a Lambda function subscribes to an SQS queue, Lambda polls the queue as it waits for messages to arrive. It consumes messages in batches, starting with 5 functions at a time • If there are more messages in the queue, Lambda adds up to 300 functions/concurrent executions per minute, up to 1,000 functions (or up to your account concurrency limit), to consume those messages from the SQS queue • This scaling behavior is managed by AWS and cannot be modified • To process more messages, you can optimize your Lambda configuration for higher throughput Lambda scaling with SQS standard queues
  • 41. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/de/blogs/compute/understanding-how-aws-lambda-scales-when-subscribed-to-amazon-sqs-queues/ https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting • Increase the allocated memory for your Lambda function • Optimize batching behavior: • by default, Lambda batches up to 10 messages in a queue to process them during a single Lambda execution. You can increase this number up to 10,000 messages, or up to 6 MB of messages in a single batch for standard SQS queues • If each payload size is 256KB (the maximum message size for SQS), Lambda can only take 23 messages per batch, regardless of the batch size setting • Implement partial batch responses Lambda scaling with SQS standard queues
  • 42. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustabl e Throughput per Standard Queue Standard queues support a nearly unlimited number of transactions per second (TPS) per API action. Nearly unlimited Message size The size of a message 256KB SQS (Standard) Important Service Quotas
  • 43. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations use BatchWriteItem https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html Use BatchWriteItem request for storing to DynamoDB
  • 44. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea https://aws.amazon.com/blogs/compute/solving-complex-ordering-challenges-with-amazon-sqs-fifo-queues/ https://jayendrapatil.com/aws-sqs-standard-vs-fifo-queue/ SQS Standard Queue SQS FIFO Queue Ordering Best Effort Ordering First In First Out Ordering within the Message Group Delivery At Least Once Exactly once SQS FIFO
  • 45. Firdaws Aboulaye & Vadym Kazulkin ip.labs Quota Description Value Adjustable Batched Message Throughput for FIFO Queues The number of batched transactions per second (TPS) for FIFO queues 3.000 In-Flight Messages per FIFO Queue The number of in-flight messages in a FIFO queue 20.000 SQS (FIFO) Important Service Quotas
  • 46. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Put DynamoDB Accelerator (DAX) or Momento in front of DynamoDB • Requires putting Lambda behind VPC • ElastiCache before Aurora Serverless • Requires putting Lambda behind VPC • No “pay as you go” pricing • Enable API Gateway Caching • Uses ElastiCache behind the scenes • No “pay as you go” pricing for ElastiCache • Use CloudFront (and its caching capabilities) in front of API Gateway Other Optimizations: Caching
  • 47. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Set meaningful timeouts • For API Gateway, Lambda • Retry with exponential backoff and jitter • AWS SDK supports them out of the box • Implement idempotency • AWS Lambda Powertools (Java, Python, Typescript) supports idempotency module https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/ https://aws.amazon.com/de/blogs/architecture/exponential-backoff-and-jitter/ https://aws.amazon.com/blogs/compute/handling-lambda-functions-idempotency-with-aws-lambda-powertools/ Other Optimizations: Error Handling and Retries
  • 48. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Virtual Waiting Room https://aws.amazon.com/solutions/implementations/virtual-waiting-room-on-aws/ AWS “Virtual Waiting Room” Solution
  • 49. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Open-source project written in Python that can be integrated into existing applications • Source code available on GitHub • Different CloudFormation Templates to choose from (from minimal to extended solutions) • Estimated costs for a 50,000-user and a 100,000-user waiting room with an event duration ranging 2-4 hours • Virtual Waiting Room on AWS has been load tested with a tool called Locust. The simulated event sizes ranged from 10,000 to 100,000 client https://docs.aws.amazon.com/solutions/latest/virtual-waiting-room-on-aws/architecture-overview.html https://docs.aws.amazon.com/pdfs/solutions/latest/virtual-waiting-room-on-aws/virtual-waiting-room-on-aws.pdf AWS “Virtual Waiting Room” Solution
  • 50. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea More Serverless services, more service quotas  • CloudFront • EventBridge • SNS • Kinesis • StepFunctions Services Quotas of other Serveress services
  • 51. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Understand the concepts of distributed systems • Token Bucket Algorithm • How polling from the queue works • Retries with (exponential) backoff pattern and jitter • Understand the concepts of NoSQL databases • Defining partition (and sort) keys and all sort of indexes • Efficient data access pattern • Understand individual service specific terms • Concurrency, transactions per second (TPS) • Throttle/Concurrency limit, burst limit • Hot partitions Understand Technical Concepts
  • 52. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Know, understand and observe the service quotas • Architect with service quotas in mind • AWS adjusts them from time to time • In case I’d like to request the quota increase, provide a valid justification for the new desired value • Service quotas are valid per AWS account (per region) • Use different AWS accounts for development and testing • Use different AWS accounts for independent (micro-)services • Separate AWS accounts on the team level • Use AWS Organizations General best practices for Service Quotas
  • 53. Firdaws Aboulaye & Vadym Kazulkin ip.labs Recent AWS Serverless Services Quota Increases
  • 54. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Recent AWS Serverless Services Quota Increases
  • 55. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Recent AWS Serverless Services Quota Increases
  • 56. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea It’s also about latency
  • 57. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea “Serverless latency is a Thing: Daniele Frasca (Seven.One Entertainment Group) & Luca Mezzalira (AWS)” https://www.youtube.com/watch?v=xQo9fb4p0eE Serverless Latency
  • 58. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Recent AWS Serverless Services Quota Increases
  • 59. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Challenges and lessons learned Architect with AWS Serverless quotas and technical concepts in mind General architectural decisions SQS vs SNS vs Kinesis vs EventBridge Aurora (Serverless) vs DynamoDB vs Aurora DSQL Challenging Serverless observability
  • 60. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea When to use SQS, SNS, Kinesis and EventBridge https://www.serverlessguru.com/tips/sqs-vs-sns-vs-kinesis-vs-eventbridge
  • 61. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea DynamoDB DynamoDB + DAX Investment in Knowledge • Understanding of NoSQL databases • Understanding of single-table design principles Same Requires to put Lambda into the VPC to access the database DynamoDB
  • 62. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Aurora (Serverless v2) + RDS Proxy Aurora (Serverless v2) + Data API Investment in Knowledge Relational databases are familiar to many developers Same Engine Support MySQL and PostgreSQL MySQL and PostgreSQL Code re-use Yes, only endpoint changes No, requires code re-write Requires to put Lambda into the VPC to access the database https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV2.html https://dev.to/aws-builders/data-api-for-amazon-aurora-serverless-v2-with-aws-sdk-for-java-part-1-introduction-and-set-up-of-the-sample-application-3g71 Aurora (Serverless v2 )
  • 63. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea • Amazon Aurora DSQL the fastest serverless distributed SQL database • It offers virtually unlimited scale, highest availability, and zero infrastructure management. • It can scale to meet any workload demand without database sharding operational burden of patching, upgrades, maintenance downtime, and more. • With its active-active distributed architecture, Aurora DSQL is designed for 99.99% availability in single-Region configuration and 99.999% in multi-Region configuration, with an innovative active-active, distributed architecture Adding Aurora DSQL into the mix https://aws.amazon.com/blogs/database/introducing-amazon-aurora-dsql/
  • 64. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Challenges and lessons learned Architect with AWS Serverless quotas and technical concepts in mind General architectural decisions SQS vs SNS vs Kinesis vs EventBridge Aurora (Serverless) vs DynamoDB vs Aurora DSQL Challenging Serverless observability
  • 65. Firdaws Aboulaye & Vadym Kazulkin ip.labs Current architecture our image storage solution
  • 66. Firdaws Aboulaye & Vadym Kazulkin ip.labs Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea Serverless reduces the need for (readily available) ops skills but increases the demand for (less readily available) distributed system design skills. https://architectelevator.com/cloud/serverless-illusion/ Serverless challenges
  • 67. Firdaws Aboulaye & Vadym Kazulkin ip.labs 79 Thank you Amazon DevOps Guru for the Serverless Applications

Editor's Notes

  • #3: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #4: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #5: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #6: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #7: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #8: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #9: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #10: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #11: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #12: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #13: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #14: You don‘t need http client or netty
  • #15: You don‘t need http client or netty
  • #16: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #17: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #18: You don‘t need http client or netty
  • #19: You don‘t need http client or netty
  • #20: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #21: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #22: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #23: You don‘t need http client or netty
  • #24: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #25: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #26: You don‘t need http client or netty
  • #27: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #28: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #29: You don‘t need http client or netty
  • #30: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #31: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #32: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #33: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #34: You don‘t need http client or netty
  • #35: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #36: You don‘t need http client or netty
  • #37: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #38: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #39: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #40: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #41: You don‘t need http client or netty
  • #42: You don‘t need http client or netty
  • #43: You don‘t need http client or netty
  • #44: You don‘t need http client or netty
  • #45: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #46: You don‘t need http client or netty
  • #47: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #48: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #49: You don‘t need http client or netty
  • #50: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #51: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #52: You don‘t need http client or netty
  • #53: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #54: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #55: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #56: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #57: You don‘t need http client or netty
  • #58: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #59: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #60: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #61: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #62: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #65: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #66: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #67: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #68: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #69: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #70: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #71: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #73: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front
  • #74: Hast du Ideen, das was als Schlussfolgerung ------- Serverless is a perfect fit spannender darzustellen? Quickly validate hypotheses about what will deliver customer value Rapidly experiment by putting services out in front