Developing History at Amazon: From Monolith to Serverless
Speakers:
Richard Ainley, Financial Services Specialist Solutions Architect, AWS
Leo Drakopoulos, Financial Services Specialist Solutions Architect, AWS
In the FS industry we often observe very traditional monolithic architectures. Those architectures are hard to scale and as an application's code base grows, it often becomes complex to update, maintain and subsequently hinders the ability to deliver products to market. In this session we are going to examine the evolution of Amazon’s developing history from traditional monolithic architectures to microservices and how this evolution can dramatically accelerate and enable innovation.
5. Monolith development lifecycle
releasetestbuild
Delivery
pipeline
App
(aka the
“monolith”)
Developers
Photo by Sage Ross. No alterations other than cropping. https://www.flickr.com/photos/ragesoss/2931770125/
Image used with permissions under Creative Commons license 2.0, Attribution Generic License (https://creativecommons.org/licenses/by/2.0/)
8. Services communicate
with each other over
the network
“service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts”
Adrian Cockcroft (VP, Cloud Architecture Strategy at AWS)
17. = 50 million deployments a year
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
18. ~11.6s
Mean time between
deployments (weekday)
~5,708
Max number of
deployments in a single
hour
~10,000
Mean number of hosts
simultaneously receiving
a deployment
~30,000
Max number of hosts
simultaneously receiving
a deployment
DEPLOYMENTS AT
AMAZON.COM
19. Increase
Business agility
Application stability
Ability to meet customer
demand
Time spent on innovation
Security
Decrease
Length of development cycles
Time to market
Deployment failures and
rollbacks
Time to recover upon failure
Operational overhead
DevOps Can Help
DevOps practices enable companies to innovate at a higher velocity
for customers
20. DevOps 5 Pillars
1. Microservices
2. Infrastructure as a code
3. Automation and Configuration Management
4. Continuous Integration and Continuous Delivery
5. Logging and Monitoring
22. Continuous delivery on AWS
Source Build Test Production
Software Release Steps:
AWS CodeCommit AWS CodeBuild AWS CloudFormation
AWS CodePipeline
23. Demo Serverless Chat Bot
Utterances
Spoken or typed phrases that invoke
your intent
BookHotel
Intents
An intent performs an action in
response to natural language user
input
Slots
Slots are input data required to fulfill
the intent
Fulfillment
Fulfillment mechanism for your intent
Amazon
Lex