SlideShare a Scribd company logo
1 of 34
Download to read offline
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
O K , N O M O R E S E R V E R S – N O W W H A T ?
Serverless Architectures
Gregor Hohpe
Sr. Principal Evangelist
AWS
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How modern is your cloud application?
VM Container Serverless
“Modern”
APIs?
“Traditional”
Granularity?
CI/CD?
Progr. Languages?
Managed services?
Automation?
Observability?
State management?
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless – Not just a run-time
AWS
Lambda
AWS
Fargate
COMPUTE
DATA STORES
Amazon Aurora
Serverless
Amazon
S3
Amazon
DynamoDB
AWS
AppSync
Amazon
API Gateway
Amazon
SNS
Amazon
SQS
AWS
Step Functions
INTEGRATION
Amazon
EventBridge
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sr. Principal Evangelist, Serverless
ArchitectElevator.com
www.linkedin.com/in/ghohpe/
Gregor Hohpe
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless Architectures:
Under the Lambda covers
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Lambda – Launched Nov 2014
• Provide your code or image; we run it as
an event when things happen
• Pay by the millisecond, up to 15mins
• Package as .zip file (250 MB) or
container image (10 GB)
• Java, Go, Node.js, .NET, Python, and
Ruby, or bring-your own
• No provisioning or managing servers
• Scale up in milliseconds in response to
traffic
Lambda is the
compression algorithm
for experience
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda Architecture – High-level View
Dev Tools
Event Sources
Async. Invocation
Events
Front-End
Pollers
Queue
Synchronous Invocation
Assignment
Service
Placement
Worker
Requests
Front-end
AWS X-Ray
Amazon CloudWatch
Capacity
Manager
Data
Science
Control Plane
Configuration Code
Lambda API
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Our experience: Implementation considerations
• Placement (Assignment Service)
• Fault tolerant, leader-follower model
• Worker manager
• Isolation levels
• Firecracker micro-VMs
• Tenant de-correlation
• Initialization / cold starts
• SnapStart
• Chunks, read-ahead
https://www.infoq.com/news/2023/10/aws-lambda-under-the-hood/
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless Architectures:
Of boxes and lines
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless applications are
distributed and fine-grained.
Distribute responsibly!
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Friends don’t let friends use synchronous integration
Customer
Fraud detection
service
https://...
Synchronous
response
External payment
service provider
https://...
Synchronous
response
Ride booking
service
Resource management
service
Customer loyalty
service
Ride payment
service
https://...
Synchronous
response
https://...
https://...
Synchronous
response
Synchronous
response
12
3
9
6
12
3
9
6
12
3
9
6
12
3
9
6
12
3
9
6
12
3
9
6
?
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Event-driven architectures
• Lambda has synchronous and asynchronous invocation models
• Push models, pull models, streaming
• Serverless integration provides orchestration, event routing, and
message queues
Reduced
Dependencies
Failure
Isolation
Evolvable
Architecture
Independent
Scalability
Distributed, event-driven architecture
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Behold the lines!
A
B
C
D
A B
C D
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Connecting two systems. How hard can it be?
A B
Sync/async?
Interaction model?
Data format?
Pub-sub or point-to-point?
Conversation State?
Error handling?
Distributed?
Partial failures? Retries?
Idempotency?
Back-off?
Data or control flow?
Polling?
Systems or instances?
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Control flow vs. data flow
Data Flow
A B
Control Flow:
RPC
A B
Control Flow:
Polling
A B
Control Flow:
Messaging
A B
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Control Flow
Message Transformation
Enterprise Integration Patterns
Message Routing
Content-based
Router
Message
Filter
Splitter
Message
Translator
Content
Enricher
Claim
Check
Source: EnterpriseIntegrationPatterns.com
?
Data (Message) Flow
Puller
Pusher
Driver
Queue
Event
Source
Polling
Source
Event
Target
Pulling
Target
Active
Passive
Scatter
Gather
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon SNS
Translator
API Destination
Filter
Amazon EventBridge Bus
EventBridge with Rate Limited Target
Driver
Invocation
Rate: 10
Control Flow
Visualizing control flow: EventBridge Bus
Source: EnterpriseIntegrationPatterns.com
Puller
Pusher
Driver
Queue
Event
Source
Polling
Source
Event
Target
Pulling
Target
Active
Passive
Queue
TTL: 24h
Amazon SNS
Translator
Filter
Amazon SQS
Amazon EventBridge Bus
EventBridge with Event Target
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Control flow is essential to
understanding dynamic system
behavior such as latency,
scaling, batching, time-outs
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Queues invert flow control, shape traffic
Arrival Rate Consumption Rate
Arrival Rate Consumption Rate
Queue empty
Queue fills up
Producer Consumer
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Queues require flow control
Back Pressure:
Slow down arrival rate
Time-to-live (TTL):
Shed old messages
TTL is an SQS setting,
backpressure has to be built.
Even valuable messages have a
meaningful time to live.
Fast
Producer
Slow
Consumer
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Queues decouple control flow
but require flow control.
Hard-earned experience from an integration architect
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless Architectures:
Coordination
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Choreography vs. Orchestration
 Centralized business logic in Orchestrator
 Transaction management across services
 End-to-end monitoring and error handling easier
 Tightly coupled
 Orchestrator can become single point of failure / limitation
 Single point of maintenance (can be good or bad)
 Business logic can evolve easily (add, update services)
 Services can scale independently
 Transactional consistency across services is difficult
 End-to-end monitoring ,handling errors, and timeout
is difficult
Original Design
 Lambda must publish events
Refactored Design
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless Architectures:
Automation
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Cloud
− Automation
= Just another data center
An opinionated architect
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Automation focused on infrastructure (“IaC”)
Development
teams
Infra / Ops
teams
- Functionality, UX
- Application architecture
- Write code
- Non-functional “-ilities”
- Sizing, procurement
- Click-Ops -> Write scripts
Automation
Application
“Build”
“Run”
• Resource-oriented
• Prefer simple syntax (YAML)
• Strings and integers
• Text editor
• Object-oriented or functional
• Powerful languages
• Type systems
• Automated testing, TDD, IDE
https://architectelevator.com/cloud/iac-ifc-trends/
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
As application architecture changes,
so does the role of cloud automation.
Limiting cloud automation to
infrastructure is no longer adequate.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Composition with cloud automation
Data change triggers workflow
Type: AWS::Pipes::Pipe
Properties:
Description: String
Name: String
RoleArn: String
Source: String
SourceParameters:
PipeSourceParameters
YAML (CloudFormation)
Amazon DynamoDB AWS Step Functions
Source
this.sourceArn = table.tableStreamArn;
this.sourceParameters = {
dynamoDbStreamParameters: {
startingPosition: LATEST,
maximumBatchingWindowInSeconds: 5,
maximumRetryAttempts: 10
},
};
Object-Oriented (CDK)
Target
Amazon EventBridge
Pipes
Architecture
Implementation
(Services)
Automation
Code
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
From IaC to AaC: Architecture as Code
Classic IaC (incl. CDK):
Resource hierarchy
Serverless Application Architecture:
Data and control flow
Well suited for
infrastructure resources
Well suited for fine-grained and
loosely coupled applications
Source: architectelevator.com/cloud/iac-ifc-trends/
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Coding in 202x: Fluent APIs, Pipes-and-Filters
const pipeline = new PipelineBuilder<IPipelineSource, Filter, Channel, IPipelineTarget>()
.fromSource(new DynamoDBStreamSource(ordersTable))
.with(new MessageSplitter('$.tickets', ['$.id', '$.userId'], 'common_'))
.with(new ContentEnricher(lookupTable, { "id": "id" }, "detail"))
.toTarget(new StepFunctionsTarget(…);
deployPipe(this, "myPipeline", pipeline, LogLevel.ALL);
Implementation with CDK (Experimental )
Amazon DynamoDB AWS Step Functions
Amazon DynamoDB
Message
Splitter
Content
Enricher
Architecture
Automation
Code
Implementation Icons: EnterpriseIntegrationPatterns.com
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Program to your architecture, not cloud services
Manual
Translation
Manual
Translation
Automatic
Translation
Direct
Mapping
Architecture
Automation
Code
Implementation
Traditional Model
Architecture
Automation
Code
Implementation
Cloud Compiler Approach
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
as Code
Actual
Next-gen Serverless Automation:
Application Architecture
Infrastructure
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Want more?
Gregor Hohpe
@ghohpe
www.linkedin.com/in/ghohpe
ArchitectElevator.com
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Please complete the session
survey in the mobile app
Thank you!
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Please complete the session
survey in the mobile app
Gregor Hohpe
@ghohpe
Linkedin.com/in/ghohpe
ArchitectElevator.com

More Related Content

Similar to Keynote Gregor Hohpe - Serverless Architectures

SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWSAmazon Web Services
 
Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...
Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...
Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...Amazon Web Services
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...
Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...
Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...HostedbyConfluent
 
Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...
Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...
Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...HostedbyConfluent
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessAmazon Web Services
 
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdfGetting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdfAmazon Web Services
 
利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統Amazon Web Services
 
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...Amazon Web Services
 
Coordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfCoordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfAmazon Web Services
 
Migrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertMigrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertInjae Kwak
 
Lock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS AccountLock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS AccountAmazon Web Services
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Boaz Ziniman
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Amazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesVladimir Simek
 
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018Amazon Web Services
 
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Amazon Web Services
 

Similar to Keynote Gregor Hohpe - Serverless Architectures (20)

SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 
Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...
Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...
Build a Hybrid Cloud Architecture Using AWS Landing Zones (ENT304-R1) - AWS r...
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...
Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...
Building Real-Time Serverless Data Applications With Joseph Morais and Adam W...
 
Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...
Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...
Get More from your Data: Accelerate Time-to-Value and Reduce TCO with Conflue...
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and Serverless
 
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdfGetting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
Getting Started with AWS Lambda & Serverless Computing - Kashif Imran.pdf
 
AWS Outposts Update
AWS Outposts UpdateAWS Outposts Update
AWS Outposts Update
 
利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統利用 Fargate - 無伺服器的容器環境建置高可用的系統
利用 Fargate - 無伺服器的容器環境建置高可用的系統
 
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
Nuvem Híbrida - EBC on the road Brazil Edition [Portuguese]
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
 
Coordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfCoordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdf
 
Migrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertMigrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an Expert
 
Lock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS AccountLock It Down: How to Secure Your Organization's AWS Account
Lock It Down: How to Secure Your Organization's AWS Account
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best Practices
 
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
 
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
 

More from BATbern

BATbern52 Moderation Berner Architekten Treffen zu Data Mesh
BATbern52 Moderation Berner Architekten Treffen zu Data MeshBATbern52 Moderation Berner Architekten Treffen zu Data Mesh
BATbern52 Moderation Berner Architekten Treffen zu Data MeshBATbern
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern
 
BATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern
 
BATbern52 Mobiliar zu Skalierte Datenprodukte mit Data Mesh
BATbern52 Mobiliar zu Skalierte Datenprodukte mit Data MeshBATbern52 Mobiliar zu Skalierte Datenprodukte mit Data Mesh
BATbern52 Mobiliar zu Skalierte Datenprodukte mit Data MeshBATbern
 
BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++BATbern
 
Embracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplaceEmbracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplaceBATbern
 
Serverless und Event-Driven Architecture
Serverless und Event-Driven ArchitectureServerless und Event-Driven Architecture
Serverless und Event-Driven ArchitectureBATbern
 
Serverless Dev(Ops) in der Praxis
Serverless Dev(Ops) in der PraxisServerless Dev(Ops) in der Praxis
Serverless Dev(Ops) in der PraxisBATbern
 
Serverless at Lifestage
Serverless at LifestageServerless at Lifestage
Serverless at LifestageBATbern
 
BATbern51 Serverless?!
BATbern51 Serverless?!BATbern51 Serverless?!
BATbern51 Serverless?!BATbern
 
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen PartnersEin Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen PartnersBATbern
 
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future VisionMLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future VisionBATbern
 
From Ideation to Production in 7 days: The Scoring Factory at Raiffeisen
From Ideation to Production in 7 days: The Scoring Factory at RaiffeisenFrom Ideation to Production in 7 days: The Scoring Factory at Raiffeisen
From Ideation to Production in 7 days: The Scoring Factory at RaiffeisenBATbern
 
The Future of Coaching in Sport with AI/ML
The Future of Coaching in Sport with AI/MLThe Future of Coaching in Sport with AI/ML
The Future of Coaching in Sport with AI/MLBATbern
 
Klassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar
Klassifizierung von Versicherungsschäden – AI und MLOps bei der MobiliarKlassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar
Klassifizierung von Versicherungsschäden – AI und MLOps bei der MobiliarBATbern
 
BATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdfBATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdfBATbern
 
BATbern48_How Zero Trust can help your organisation keep safe.pdf
BATbern48_How Zero Trust can help your organisation keep safe.pdfBATbern48_How Zero Trust can help your organisation keep safe.pdf
BATbern48_How Zero Trust can help your organisation keep safe.pdfBATbern
 
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdfBATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdfBATbern
 
Why did the shift-left end up in the cloud for Bank Julius Baer?
Why did the shift-left end up in the cloud for Bank Julius Baer?Why did the shift-left end up in the cloud for Bank Julius Baer?
Why did the shift-left end up in the cloud for Bank Julius Baer?BATbern
 
Creating a Product through DevOps: The Story of APPUiO Cloud
Creating a Product through DevOps: The Story of APPUiO CloudCreating a Product through DevOps: The Story of APPUiO Cloud
Creating a Product through DevOps: The Story of APPUiO CloudBATbern
 

More from BATbern (20)

BATbern52 Moderation Berner Architekten Treffen zu Data Mesh
BATbern52 Moderation Berner Architekten Treffen zu Data MeshBATbern52 Moderation Berner Architekten Treffen zu Data Mesh
BATbern52 Moderation Berner Architekten Treffen zu Data Mesh
 
BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data Mesh
 
BATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und Knacknüsse
 
BATbern52 Mobiliar zu Skalierte Datenprodukte mit Data Mesh
BATbern52 Mobiliar zu Skalierte Datenprodukte mit Data MeshBATbern52 Mobiliar zu Skalierte Datenprodukte mit Data Mesh
BATbern52 Mobiliar zu Skalierte Datenprodukte mit Data Mesh
 
BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++BATbern52 InnoQ on Data Mesh 2019 2023 2024++
BATbern52 InnoQ on Data Mesh 2019 2023 2024++
 
Embracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplaceEmbracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplace
 
Serverless und Event-Driven Architecture
Serverless und Event-Driven ArchitectureServerless und Event-Driven Architecture
Serverless und Event-Driven Architecture
 
Serverless Dev(Ops) in der Praxis
Serverless Dev(Ops) in der PraxisServerless Dev(Ops) in der Praxis
Serverless Dev(Ops) in der Praxis
 
Serverless at Lifestage
Serverless at LifestageServerless at Lifestage
Serverless at Lifestage
 
BATbern51 Serverless?!
BATbern51 Serverless?!BATbern51 Serverless?!
BATbern51 Serverless?!
 
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen PartnersEin Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
 
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future VisionMLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
 
From Ideation to Production in 7 days: The Scoring Factory at Raiffeisen
From Ideation to Production in 7 days: The Scoring Factory at RaiffeisenFrom Ideation to Production in 7 days: The Scoring Factory at Raiffeisen
From Ideation to Production in 7 days: The Scoring Factory at Raiffeisen
 
The Future of Coaching in Sport with AI/ML
The Future of Coaching in Sport with AI/MLThe Future of Coaching in Sport with AI/ML
The Future of Coaching in Sport with AI/ML
 
Klassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar
Klassifizierung von Versicherungsschäden – AI und MLOps bei der MobiliarKlassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar
Klassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar
 
BATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdfBATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdf
 
BATbern48_How Zero Trust can help your organisation keep safe.pdf
BATbern48_How Zero Trust can help your organisation keep safe.pdfBATbern48_How Zero Trust can help your organisation keep safe.pdf
BATbern48_How Zero Trust can help your organisation keep safe.pdf
 
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdfBATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf
 
Why did the shift-left end up in the cloud for Bank Julius Baer?
Why did the shift-left end up in the cloud for Bank Julius Baer?Why did the shift-left end up in the cloud for Bank Julius Baer?
Why did the shift-left end up in the cloud for Bank Julius Baer?
 
Creating a Product through DevOps: The Story of APPUiO Cloud
Creating a Product through DevOps: The Story of APPUiO CloudCreating a Product through DevOps: The Story of APPUiO Cloud
Creating a Product through DevOps: The Story of APPUiO Cloud
 

Recently uploaded

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Keynote Gregor Hohpe - Serverless Architectures

  • 1. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. O K , N O M O R E S E R V E R S – N O W W H A T ? Serverless Architectures Gregor Hohpe Sr. Principal Evangelist AWS
  • 2. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. How modern is your cloud application? VM Container Serverless “Modern” APIs? “Traditional” Granularity? CI/CD? Progr. Languages? Managed services? Automation? Observability? State management?
  • 3. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless – Not just a run-time AWS Lambda AWS Fargate COMPUTE DATA STORES Amazon Aurora Serverless Amazon S3 Amazon DynamoDB AWS AppSync Amazon API Gateway Amazon SNS Amazon SQS AWS Step Functions INTEGRATION Amazon EventBridge
  • 4. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sr. Principal Evangelist, Serverless ArchitectElevator.com www.linkedin.com/in/ghohpe/ Gregor Hohpe
  • 5. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless Architectures: Under the Lambda covers
  • 6. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda – Launched Nov 2014 • Provide your code or image; we run it as an event when things happen • Pay by the millisecond, up to 15mins • Package as .zip file (250 MB) or container image (10 GB) • Java, Go, Node.js, .NET, Python, and Ruby, or bring-your own • No provisioning or managing servers • Scale up in milliseconds in response to traffic Lambda is the compression algorithm for experience
  • 7. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda Architecture – High-level View Dev Tools Event Sources Async. Invocation Events Front-End Pollers Queue Synchronous Invocation Assignment Service Placement Worker Requests Front-end AWS X-Ray Amazon CloudWatch Capacity Manager Data Science Control Plane Configuration Code Lambda API
  • 8. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Our experience: Implementation considerations • Placement (Assignment Service) • Fault tolerant, leader-follower model • Worker manager • Isolation levels • Firecracker micro-VMs • Tenant de-correlation • Initialization / cold starts • SnapStart • Chunks, read-ahead https://www.infoq.com/news/2023/10/aws-lambda-under-the-hood/
  • 9. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless Architectures: Of boxes and lines
  • 10. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless applications are distributed and fine-grained. Distribute responsibly!
  • 11. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Friends don’t let friends use synchronous integration Customer Fraud detection service https://... Synchronous response External payment service provider https://... Synchronous response Ride booking service Resource management service Customer loyalty service Ride payment service https://... Synchronous response https://... https://... Synchronous response Synchronous response 12 3 9 6 12 3 9 6 12 3 9 6 12 3 9 6 12 3 9 6 12 3 9 6 ?
  • 12. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Event-driven architectures • Lambda has synchronous and asynchronous invocation models • Push models, pull models, streaming • Serverless integration provides orchestration, event routing, and message queues Reduced Dependencies Failure Isolation Evolvable Architecture Independent Scalability Distributed, event-driven architecture
  • 13. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Behold the lines! A B C D A B C D
  • 14. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Connecting two systems. How hard can it be? A B Sync/async? Interaction model? Data format? Pub-sub or point-to-point? Conversation State? Error handling? Distributed? Partial failures? Retries? Idempotency? Back-off? Data or control flow? Polling? Systems or instances?
  • 15. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Control flow vs. data flow Data Flow A B Control Flow: RPC A B Control Flow: Polling A B Control Flow: Messaging A B
  • 16. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Control Flow Message Transformation Enterprise Integration Patterns Message Routing Content-based Router Message Filter Splitter Message Translator Content Enricher Claim Check Source: EnterpriseIntegrationPatterns.com ? Data (Message) Flow Puller Pusher Driver Queue Event Source Polling Source Event Target Pulling Target Active Passive Scatter Gather
  • 17. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon SNS Translator API Destination Filter Amazon EventBridge Bus EventBridge with Rate Limited Target Driver Invocation Rate: 10 Control Flow Visualizing control flow: EventBridge Bus Source: EnterpriseIntegrationPatterns.com Puller Pusher Driver Queue Event Source Polling Source Event Target Pulling Target Active Passive Queue TTL: 24h Amazon SNS Translator Filter Amazon SQS Amazon EventBridge Bus EventBridge with Event Target
  • 18. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Control flow is essential to understanding dynamic system behavior such as latency, scaling, batching, time-outs
  • 19. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Queues invert flow control, shape traffic Arrival Rate Consumption Rate Arrival Rate Consumption Rate Queue empty Queue fills up Producer Consumer
  • 20. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Queues require flow control Back Pressure: Slow down arrival rate Time-to-live (TTL): Shed old messages TTL is an SQS setting, backpressure has to be built. Even valuable messages have a meaningful time to live. Fast Producer Slow Consumer
  • 21. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Queues decouple control flow but require flow control. Hard-earned experience from an integration architect
  • 22. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless Architectures: Coordination
  • 23. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Choreography vs. Orchestration  Centralized business logic in Orchestrator  Transaction management across services  End-to-end monitoring and error handling easier  Tightly coupled  Orchestrator can become single point of failure / limitation  Single point of maintenance (can be good or bad)  Business logic can evolve easily (add, update services)  Services can scale independently  Transactional consistency across services is difficult  End-to-end monitoring ,handling errors, and timeout is difficult Original Design  Lambda must publish events Refactored Design
  • 24. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless Architectures: Automation
  • 25. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Cloud − Automation = Just another data center An opinionated architect
  • 26. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Automation focused on infrastructure (“IaC”) Development teams Infra / Ops teams - Functionality, UX - Application architecture - Write code - Non-functional “-ilities” - Sizing, procurement - Click-Ops -> Write scripts Automation Application “Build” “Run” • Resource-oriented • Prefer simple syntax (YAML) • Strings and integers • Text editor • Object-oriented or functional • Powerful languages • Type systems • Automated testing, TDD, IDE https://architectelevator.com/cloud/iac-ifc-trends/
  • 27. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. As application architecture changes, so does the role of cloud automation. Limiting cloud automation to infrastructure is no longer adequate.
  • 28. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Composition with cloud automation Data change triggers workflow Type: AWS::Pipes::Pipe Properties: Description: String Name: String RoleArn: String Source: String SourceParameters: PipeSourceParameters YAML (CloudFormation) Amazon DynamoDB AWS Step Functions Source this.sourceArn = table.tableStreamArn; this.sourceParameters = { dynamoDbStreamParameters: { startingPosition: LATEST, maximumBatchingWindowInSeconds: 5, maximumRetryAttempts: 10 }, }; Object-Oriented (CDK) Target Amazon EventBridge Pipes Architecture Implementation (Services) Automation Code
  • 29. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. From IaC to AaC: Architecture as Code Classic IaC (incl. CDK): Resource hierarchy Serverless Application Architecture: Data and control flow Well suited for infrastructure resources Well suited for fine-grained and loosely coupled applications Source: architectelevator.com/cloud/iac-ifc-trends/
  • 30. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Coding in 202x: Fluent APIs, Pipes-and-Filters const pipeline = new PipelineBuilder<IPipelineSource, Filter, Channel, IPipelineTarget>() .fromSource(new DynamoDBStreamSource(ordersTable)) .with(new MessageSplitter('$.tickets', ['$.id', '$.userId'], 'common_')) .with(new ContentEnricher(lookupTable, { "id": "id" }, "detail")) .toTarget(new StepFunctionsTarget(…); deployPipe(this, "myPipeline", pipeline, LogLevel.ALL); Implementation with CDK (Experimental ) Amazon DynamoDB AWS Step Functions Amazon DynamoDB Message Splitter Content Enricher Architecture Automation Code Implementation Icons: EnterpriseIntegrationPatterns.com
  • 31. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Program to your architecture, not cloud services Manual Translation Manual Translation Automatic Translation Direct Mapping Architecture Automation Code Implementation Traditional Model Architecture Automation Code Implementation Cloud Compiler Approach
  • 32. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. as Code Actual Next-gen Serverless Automation: Application Architecture Infrastructure
  • 33. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Want more? Gregor Hohpe @ghohpe www.linkedin.com/in/ghohpe ArchitectElevator.com
  • 34. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thank you! © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Please complete the session survey in the mobile app Thank you! © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Please complete the session survey in the mobile app Gregor Hohpe @ghohpe Linkedin.com/in/ghohpe ArchitectElevator.com

Editor's Notes

  1. Cloud automation can do more than reduce the toil of provisioning or configuring compute infrastructure. With application-level services that orchestrate, transform, store, and route events, it can also define your application topology. By describing component granularity, dependencies, data and control flow, and degrees of coupling in executable automation code, you can redefine automation from infrastructure as code to architecture as code. This talk takes AWS CDK to the next level and provides a novel take on automation at the intersection of serverless, integration, abstraction, and design patterns, with a special emphasis on the lines, not just the boxes.
  2. While many customers associate serverless with Lambda, there are actually serverless services at all layers of the stack. And while Lambda offers many key advantages for our customers, it’s really when all these other components surround Lambda that we start to see much bigger benefits. Messaging, orchestration, storage and compute together are the secret sauce. But In fact, it’s really when all of these components come together that we really start to see big gains.
  3. So, synchronous communication blocks resources in all involved services, worst case for the time the entire processing takes. Additionally, problems in downstream services can accumulate upstream. This is why there are mitigation patterns like circuit breaker in the first place. So, particularly under load, a synchronous integration approach can jeopardize the reliability of the entire application, and it can require excessive horizontal scaling with the respective cost attached. Next step, they worked on reducing their runtime coupling, or temporary coupling, by switching from sync to async comms. <click>
  4. So why is connecting systems so difficult and so important? The answer quickly becomes apparent once we look at how connected systems behave
  5. This is from 2008 / 2015
  6. This is from 2008 / 2015
  7. This is from 2008 / 2015 Pipes with API destination is synchronous, adjusts concurrency based on the max Invocation Rate
  8. Note: Serverlesspresso has a backpressure function built from DynamoDB as a flag for SFN because Baristas have limited capacity
  9. [Sindhu] <don’t click – auto> Above is an example of ride booking app: 3 Lambda functions handle a customer booking: the booking service, payment service, and driver assignment. The coordination across these services is choreographed by passing events through EventBridge.<CLICK> Such an event-driven architecture is flexible and scalable, but it relies on each Lambda function emitting events like “Payment received”. With Lambda destinations that’s easy to do, but still the Lambda functions have to participate by returning the event data.<CLICK> Since the business flow is distributed, it difficult to maintain transactional scope, for example in case the payment service goes down or times out no event is published. To address these challenges, we can refactor this design<CLICK> We replaced the Choreography with a Step Functions Orchestrator that calls each Lambda function. Now the functions are just passive elements that are called by Step Functions and it’s easier to see the entire flow, track the status of each workflow instance. <CLICK> But architecture is always about trade-offs, so now things are a bit more tightly coupled with a single point of maintenance. That can be a good thing if you want control, but it can become a bottleneck if services come and go.
  10. With automation playing such a central role, you could go as far as saying that if you remove automation from the cloud, you don’t have much more left than a good-old data center. At AWS, we have very nice data centers, but I haven’t met any customer who’s looking for yet another data center. So, let’s not do that.
  11. Modern automation does more than just deploy an ec2 cluster. <CLICK> The most common thing that automation does is provision resources. In our trivial example, that might be two VMs, a load balancer and a gateway. But servers don’t do much on their own, so you need to deploy workloads. <CLICK> That’s one step closer but now you have disconnected pieces. To turn this into a functioning application, you need to wire it together.<CLICK> We call that composition: what is connected to what? And last, you’ll might have some slight differences in configuration. <CLICK> You might have a primary server and a secondary, or have different services connected to different databases. So you also want to do that via automation. So, this architecture diagram helps us understand the different aspects that come together when we say "automation".
  12. So how does serverless relate back to our architecture model of cloud automation? Well, the provisioning is all done for you and deployment can be as simple as placing a ZIP file in a bucket.<CLICK> So, the element that’s becoming most prominent for serverless applications is composition - that’s how those loosely coupled components are connected into a working application. Composition defines many essential properties of a serverless application, e.g. its granularity - how small are your pieces? It also defines the dependencies - which components send messages or events to which other components? Do they do so synchronously or asynchronously? You will likely use services like Amazon SQS, Amazon SNS and Amazon EventBridge for those connections.
  13. That’s what I am working on – stay tuned
  14. With tools such as the AWS CDK, you are not only being able to define your infrastructure as code. If you think about serverless applications, things as deployment, composition and configuration are the main drivers for leveraging automation tools. <CLICK> So you can say, this is much more than infrastructure as actual code.