More Related Content Similar to Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:Invent 2018 (20) More from Amazon Web Services (20) Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:Invent 20182. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside AWS: Technology Choices for
Modern Applications
Tim Bray
Messaging/Serverless/Workflow guy, AWS
[ timbray@amazon.com, @timbray, www.tbray.org ]
S R V - 3 0 5
4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thursday, November 29
Leadership Session: Using DevOps, Microservices, and Serverless
to Accelerate Innovation (SRV325)
12:15 – 1:15 PM | Venetian Theatre (Level 2)
5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Assess and
prioritize,
app by app
Pick path to
modernization
Lift & shift:
data center → EC2
Re-platform:
VMs → containers
Refactor:
monolith → microservices
Re-invent:
host fleets → serverless
6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Assess and
prioritize,
app by app
Pick path to
modernization
Lift & shift:
data center → EC2
Re-platform:
VMs → containers
Refactor:
monolith → microservices
Re-invent:
host fleets → serverless
Integration is a really big deal.
7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Storybird.com
8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Storybird.com
MySQLvia
Amazon RDS
Django on
Amazon EC2
Application
Load Balancer
9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Modern Applications”
1. Security/compliance first
2. Use microservices
3. Serverless where possible
4. CI/CD
5. Monitor, monitor, monitor!
10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Modern Applications”
1. Security/compliance first
2. Use microservices
3. Serverless where possible
4. CI/CD
5. Monitor, monitor, monitor!
6. Databases
7. Integration interfaces
11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How Amazon SQS works
Front End
Back End
Metadata
Amazon
DynamoDB
Load
Manager
12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why serverless?
1. Frugality
2. Security
3. Elasticity
13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why serverless?
1. Frugality
2. Security
3. Elasticity
4. Better design?
14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How Amazon MQ works
Amazon
API Gateway λ
DynamoDB
Control Plane
Data Plane
16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A few AWS services with serverless Control Planes
Amazon
SageMaker
AWS AppSyncAWS Batch AWS
Elemental
AWS
IoT Core
Amazon
GuardDuty
Amazon
EKS
API Gateway
17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why not serverless?
What about Latency?!?!?
18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thinking about latency
P50
P90
P99
P100
1 sec
24 sec
19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sources of serverless function latency
Runtime startup State hydration
Serverless platform startup
vs
Language runtime startup
Cold startup
vs
Warm startup
P50 vs P90 vs P99 vs P100
20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Latency management 1: Keep functions warm
Photo: Ryan Mahle from Sherman Oaks, CA, USA - Flickr.com
21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Latency management 2:
Programming languages
22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Latency management 3: State hydration
Amazon S3
λ
24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Latency management 3: State hydration
DBMS
API Gateway
AWS AppSync
Amazon
SQS
Amazon SNSAmazon
Kinesis
AWS
ElastiCache
25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How the SFN/SWF History service works
DynamoDB
Workflows
Event
Routing
= execution)(
26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Databases in Modern Applications
RDBMS
(Amazon RDS)
NoSQL
(DynamoDB)
DynamoDB
Accelerator
27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Relational or not?
28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Databases in Modern Applications
RDBMS
(RDS)
NoSQL
(DynamoDB)
DynamoDB
Accelerator
Amazon Quantum
Ledger Database
29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Logs, immutability, and Quantum
30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon QLDB
Summary
Journal
Transactions
31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
QLDB tl;dr
SummaryJournal
Transactions
• Transactions are SQL-ish
• Query the Summary with SQL
• “Records” are ION (JSON superset) documents
• Journal is a cryptographically chained immutable ledger
• Journal is also a database table
• It’s serverless!
32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How the SFN/SWF History service works
DynamoDB
Workflows
Event
Routing
= execution)(
QLDB
33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Some AWS services that use containers
SageMaker Amazon
Rekognition
Batch Elemental
…more…
34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Containers and serverlessness
VM
Container
Function
Cheetah: Malene Thyssen (http://commons.wikimedia.org/wiki/User:Malene)
Orthogonal… in theory
35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Integration patterns
APIs Orchestration Eventing
Tightly-coupled
Contract-driven
Synchronous
Fast
Long-lived
Data-driven
Durable
Unified logging
Loosely-coupled
Data-driven
Asynchronous
Buffered
Durable
36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Orchestration
Orchestration
Long-lived
Data-driven
Durable
Unified logging
AWS Step
Functions
37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event-driven Computing
Eventing
Loosely-coupled
Data-driven
Asynchronous
Buffered
Durable
Amazon
SNS
Amazon CloudWatch
Events
38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How Step Functions Connectors work
AWS Step
Functions
AWS
Glue
Amazon CloudWatch
Events
Amazon
SQS
39. Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Tim Bray
timbray@amazon.com / @timbray / www.tbray.org
40. Please complete the session
survey in the mobile app.
!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.