21st Century
Application Architectures
Dr. Werner Vogels
CTO, Amazon.com
@werner
#21century
Fast GrowthSlow but steady
Predictable peaksVariable peaks
How will your startup be?
Where will your users be?
503
Service Temporarily Unavailable
The server is temporarily unable
to service your request due to
maintenance downtime o...
503
Service Temporarily Unavailable
The server is temporarily unable
to service your request due to
maintenance downtime o...
In 2007 …
The Old World
All resources are constrained
Capital
Capacity
Geography
Physics
People
Scope
Typical Weekly Traffic to
Amazon.com
Sunday Monday Tuesday Friday SaturdayWednesday Thursday
Capacity Held
Sunday Monday Tuesday Friday SaturdayWednesday Thursday
Amazon.com Capacity Before EC2
Capacity Used
39%
61%
Amazon.com Capacity Before
Capacity Held
Capacity Used
Sunday Monday Tuesday Friday SaturdayWednesday Thursday
November Traffic to Amazon.com
Black
Friday
Cyber
Monday
Capacity Held
November 1st
Capacity Held
November Traffic to Amazon.com
November 1st
76
%
24
November Traffic to Amazon.com
Capacity Held
Capacity Used
November 10, 2010
October 31, 2011
Sunday Monday Tuesday Friday SaturdayWednesday Thursday
Did We Solve the Problem?
Capacity Held
Capacity Used
Yes!Capacity Held
Capacity Used
Sunday Monday Tuesday Friday SaturdayWednesday Thursday
The New World
Unconstrained
(except for physics)
On and Off Fast Growth
Variable peaks Predictable peaks
Elastic capacity
On and Off Fast Growth
Predictable peaksVariable peaks
WASTE
CUSTOMER DISSATISFACTION
Elastic capacity
Elastic cloud capacity
Traditional
IT capacity
Your IT needs
Time
Capacity
Elastic capacity
Fast GrowthOn and Off
Predictable peaksVariable peaks
Elastic capacity
From one instance…
…to thousands
…back to one
21st Century Architectures
Build systems the way you always wanted to,
but never could
Secure
High performance
Fault Toler...
Everything is a
programmable
resource
Data centers
Networks
Compute
Storage
Databases
Load
Balancers
Resource focus
Business focus
Fixed & rigid
Long change cycles
Top down control
Evolving & adapting
Rapid change cycles
De...
The failure of resource
focused projects
31% of projects never complete
52% of completed projects overrun
the budget
Inaccurate resource estimates
Changing requirements
Unmanaged risks & assumptions
Increasing complexity
Why do they fail?
Observations
Massive Mismatches
It is Out of Control Enterprise Internet
Project Cycles Years Hours
Project Life Spans Decades Months
P...
The Commandments of
21st Century Architectures
Thou shalt use
new concepts to build
new applications
21st Century Architectures are
Decompose into
small, loosely coupled,
stateless building blocks
IMDB widget architecture
Amazon Web Server
Render Process
Service Call IMDB
Service
IMDB
Database
Customer
Before
Customer Amazon Web Server
Generic S3
HTML Puller
S3
HTML
Store
After
Amazon Web Server
Render Process
Service Call...
Automate your application
and processes
Let business levers
control the system
Architect with cost
in mind
21st Century Architectures are
Protecting your customer
is the first priority
In production deploy to
at least two availability zones
Integrate security into your
application from ground up
Treat your architecture
as a continuous evolving,
living concept
Build, test, integrate and
deploy continuously
seconds mean time between
deployments (weekday)
Max number of deployments in a
single hour
Mean number of hosts
simultaneo...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
WWW1 WWW2 WWW3 WWWn
Availability Zone 2
WWW1 WWW2 WWW3 WWWn
Availabi...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
WWW1 WWW2 WWW3 WWWn
Availability Zone 2
WWW1 WWW2 WWW3 WWWn
Availabi...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
WWW1 WWW2 WWW3 WWWn
Availability Zone 2
WWW1 WWW2 WWW3 WWWn
Availabi...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
WWW1 WWW2 WWW3 WWWn
Availability Zone 2
WWW1 WWW2 WWW3 WWWn
Availabi...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
WWW1 WWW2 WWW3 WWWn
Availability Zone 2
WWW1 WWW2 WWW3 WWWn
Availabi...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
WWW1 WWW2 WWW3 WWWn
Availability Zone 2
WWW1 WWW2 WWW3 WWWn
Availabi...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
Availability Zone 2
Availability Zone 3
WWW2 WWWnWWW3WWW1
WWW2 WWWnW...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
Availability Zone 2
Availability Zone 3
WWW2 WWWnWWW3WWW1
WWW2 WWWnW...
Load Balancer
WWW1 WWW2 WWW3 WWWn
Availability Zone 1
Availability Zone 2
Availability Zone 3
WWW2 WWWnWWW3WWW1
WWW2 WWWnW...
Don’t think in single failures
Don’t treat failure
as an exception
21st Century Architectures are
Entia non sunt
multiplicanda
Praeter necessitiatem
Assume nothing
Use late binding
Change your mind,
frequently, when needed
Don’t be afraid to
make mistakes
21st Century Architectures are
Instrument everything,
all the time
Inspect the whole
distribution
Put everything in logs
The Commandments of
21st Century Architectures
Controllable
Architect with
cost in mind
Adaptive
Make no
assumtpions
Resilient
Don’t treat failure
as an exception
Data-d...
Everything is a
programmable resource
Thou shalt turn off
the lights
Thank you
werner@amazon.com
Q&A at the AWS Booth
AWS Cloud Kata 2013 | Singapore - Opening Keynote: Running Lean & Scaling Fast - Dr Werner Vogels
AWS Cloud Kata 2013 | Singapore - Opening Keynote: Running Lean & Scaling Fast - Dr Werner Vogels
Upcoming SlideShare
Loading in...5
×

AWS Cloud Kata 2013 | Singapore - Opening Keynote: Running Lean & Scaling Fast - Dr Werner Vogels

399

Published on

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
399
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "AWS Cloud Kata 2013 | Singapore - Opening Keynote: Running Lean & Scaling Fast - Dr Werner Vogels"

  1. 1. 21st Century Application Architectures Dr. Werner Vogels CTO, Amazon.com
  2. 2. @werner #21century
  3. 3. Fast GrowthSlow but steady Predictable peaksVariable peaks How will your startup be?
  4. 4. Where will your users be?
  5. 5. 503 Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
  6. 6. 503 Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
  7. 7. In 2007 …
  8. 8. The Old World All resources are constrained Capital Capacity Geography Physics People Scope
  9. 9. Typical Weekly Traffic to Amazon.com Sunday Monday Tuesday Friday SaturdayWednesday Thursday
  10. 10. Capacity Held Sunday Monday Tuesday Friday SaturdayWednesday Thursday Amazon.com Capacity Before EC2 Capacity Used
  11. 11. 39% 61% Amazon.com Capacity Before Capacity Held Capacity Used Sunday Monday Tuesday Friday SaturdayWednesday Thursday
  12. 12. November Traffic to Amazon.com Black Friday Cyber Monday Capacity Held November 1st
  13. 13. Capacity Held November Traffic to Amazon.com November 1st
  14. 14. 76 % 24 November Traffic to Amazon.com Capacity Held Capacity Used
  15. 15. November 10, 2010 October 31, 2011
  16. 16. Sunday Monday Tuesday Friday SaturdayWednesday Thursday Did We Solve the Problem? Capacity Held Capacity Used
  17. 17. Yes!Capacity Held Capacity Used Sunday Monday Tuesday Friday SaturdayWednesday Thursday
  18. 18. The New World Unconstrained (except for physics)
  19. 19. On and Off Fast Growth Variable peaks Predictable peaks Elastic capacity
  20. 20. On and Off Fast Growth Predictable peaksVariable peaks WASTE CUSTOMER DISSATISFACTION Elastic capacity
  21. 21. Elastic cloud capacity Traditional IT capacity Your IT needs Time Capacity Elastic capacity
  22. 22. Fast GrowthOn and Off Predictable peaksVariable peaks Elastic capacity
  23. 23. From one instance…
  24. 24. …to thousands
  25. 25. …back to one
  26. 26. 21st Century Architectures Build systems the way you always wanted to, but never could Secure High performance Fault Tolerant Scalable Cost-effective
  27. 27. Everything is a programmable resource Data centers Networks Compute Storage Databases Load Balancers
  28. 28. Resource focus Business focus Fixed & rigid Long change cycles Top down control Evolving & adapting Rapid change cycles Decentralized & emergent
  29. 29. The failure of resource focused projects 31% of projects never complete 52% of completed projects overrun the budget
  30. 30. Inaccurate resource estimates Changing requirements Unmanaged risks & assumptions Increasing complexity Why do they fail?
  31. 31. Observations
  32. 32. Massive Mismatches It is Out of Control Enterprise Internet Project Cycles Years Hours Project Life Spans Decades Months Project Frequencies 101 - 102 106 Investment Decision Cycles Mythical Person-Months Impulse Implementation Scale Enterprise Global Decision Process Orderly Centralized Chaotic Individualized
  33. 33. The Commandments of 21st Century Architectures
  34. 34. Thou shalt use new concepts to build new applications
  35. 35. 21st Century Architectures are
  36. 36. Decompose into small, loosely coupled, stateless building blocks
  37. 37. IMDB widget architecture Amazon Web Server Render Process Service Call IMDB Service IMDB Database Customer
  38. 38. Before Customer Amazon Web Server Generic S3 HTML Puller S3 HTML Store After Amazon Web Server Render Process Service Call IMDB Service IMDB Database Customer
  39. 39. Automate your application and processes
  40. 40. Let business levers control the system
  41. 41. Architect with cost in mind
  42. 42. 21st Century Architectures are
  43. 43. Protecting your customer is the first priority
  44. 44. In production deploy to at least two availability zones
  45. 45. Integrate security into your application from ground up
  46. 46. Treat your architecture as a continuous evolving, living concept
  47. 47. Build, test, integrate and deploy continuously
  48. 48. seconds mean time between deployments (weekday) Max number of deployments in a single hour Mean number of hosts simultaneously receiving a deployment Max number of hosts simultaneously receiving a deployment 11.6 1,079 10,000 30,000 Deployments at Amazon.com
  49. 49. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 WWW1 WWW2 WWW3 WWWn Availability Zone 2 WWW1 WWW2 WWW3 WWWn Availability Zone 3
  50. 50. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 WWW1 WWW2 WWW3 WWWn Availability Zone 2 WWW1 WWW2 WWW3 WWWn Availability Zone 3
  51. 51. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 WWW1 WWW2 WWW3 WWWn Availability Zone 2 WWW1 WWW2 WWW3 WWWn Availability Zone 3
  52. 52. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 WWW1 WWW2 WWW3 WWWn Availability Zone 2 WWW1 WWW2 WWW3 WWWn Availability Zone 3
  53. 53. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 WWW1 WWW2 WWW3 WWWn Availability Zone 2 WWW1 WWW2 WWW3 WWWn Availability Zone 3
  54. 54. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 WWW1 WWW2 WWW3 WWWn Availability Zone 2 WWW1 WWW2 WWW3 WWWn Availability Zone 3
  55. 55. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 Availability Zone 2 Availability Zone 3 WWW2 WWWnWWW3WWW1 WWW2 WWWnWWW3WWW1 WWW1 WWW2 WWW3 WWWn Availability Zone 1 Availability Zone 2 Availability Zone 3 WWW2 WWWnWWW3WWW1 WWW2 WWWnWWW3WWW1
  56. 56. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 Availability Zone 2 Availability Zone 3 WWW2 WWWnWWW3WWW1 WWW2 WWWnWWW3WWW1 WWW1 WWW2 WWW3 WWWn Availability Zone 1 Availability Zone 2 Availability Zone 3 WWW2 WWWnWWW3WWW1 WWW2 WWWnWWW3WWW1
  57. 57. Load Balancer WWW1 WWW2 WWW3 WWWn Availability Zone 1 Availability Zone 2 Availability Zone 3 WWW2 WWWnWWW3WWW1 WWW2 WWWnWWW3WWW1 WWW1 WWW2 WWW3 WWWn Availability Zone 1 Availability Zone 2 Availability Zone 3 WWW2 WWWnWWW3WWW1 WWW2 WWWnWWW3WWW1
  58. 58. Don’t think in single failures
  59. 59. Don’t treat failure as an exception
  60. 60. 21st Century Architectures are
  61. 61. Entia non sunt multiplicanda Praeter necessitiatem
  62. 62. Assume nothing
  63. 63. Use late binding
  64. 64. Change your mind, frequently, when needed
  65. 65. Don’t be afraid to make mistakes
  66. 66. 21st Century Architectures are
  67. 67. Instrument everything, all the time
  68. 68. Inspect the whole distribution
  69. 69. Put everything in logs
  70. 70. The Commandments of 21st Century Architectures
  71. 71. Controllable Architect with cost in mind Adaptive Make no assumtpions Resilient Don’t treat failure as an exception Data-driven Put everything in logs
  72. 72. Everything is a programmable resource
  73. 73. Thou shalt turn off the lights
  74. 74. Thank you werner@amazon.com Q&A at the AWS Booth

×