Slide 1

Slide 1 text

It's just not evenly distributed. Photograph © Tom Poppendieck Mary Poppendieck [email protected] www.poppendieck.com

Slide 2

Slide 2 text

Copyright©2016 Poppendieck.LLC 2 Photograph © Tom Poppendieck

Slide 3

Slide 3 text

Business Software: Why One Server? Monolithic & Slow to change ERP Database  Integration On a Single Server CAP Theorem: Partitioned databases must choose between: Availability Consistency Photograph © Tom Poppendieck Copyright©2016 Poppendieck.LLC 3

Slide 4

Slide 4 text

[c. 2001] Copyright©2016 Poppendieck.LLC 4

Slide 5

Slide 5 text

Get a bigger computer. Copyright©2016 Poppendieck.LLC 5 Get more computers. Google Hardware c. 1999

Slide 6

Slide 6 text

Amazon ~ 2001 Handle a gazillion transactions All at once What Amazon Did: Break transactions into services Replicate bottleneck services Each service owned by a semi‐ autonomous “two pizza” team Option 2: Scale Out Option 1: Scale Up Copyright©2016 Poppendieck.LLC 6

Slide 7

Slide 7 text

Copyright©2016 Poppendieck.LLC 7 Photograph © Tom Poppendieck

Slide 8

Slide 8 text

Pinkham moves to South Africa Asked to pursue project there Assembles and leads a team Develops EC2 in 2 years EC2 Launches in 2006 10 Years Later: The Cloud has Changed Software Engineering Autonomous Services  Autonomous Service Teams  Independent Deployment  Much Stress in Operations Chris Pinkham (VP Infrastructure) Proposes self‐service deployment for development teams Maybe sell the capability? Time Passes…. Photograph © Tom Poppendieck Copyright©2016 Poppendieck.LLC 8

Slide 9

Slide 9 text

Simplicity Infrastructure without code Isolation No more multitenant packages Lower Cost Cheaper for event‐driven code Utilization Many more apps/server Portability Build once run anywhere Consistency Configuration managed by containers at runtime Isolation Hardened containers protect the contents Copyright©2016 Poppendieck.LLC 9 Containers Serverless Software Defined Networks (SDN) Google’s Jupiter Critical for Scale “Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google’s Datacenter Network”, by Amin Vahdat et al. https://www.youtube.com /watch?v=FaAZAII2x0w

Slide 10

Slide 10 text

Copyright©2016 Poppendieck.LLC 10 Photograph © Tom Poppendieck

Slide 11

Slide 11 text

The Evolution of IT 1996 2016 Running on any available set of physical resources (public/private/ virtualized) Assembled by developers using best available services Thin app on mobile, tablet Thick, client‐server app on thick client Well‐defined stack: ‐ O/S ‐ Runtime ‐ Middleware Monolithic Physical Infrastructure www.docker.io 11

Slide 12

Slide 12 text

Scale Out Technology Platform Scale Up Enterprise Architecture Federated Architecture Copyright©2016 Poppendieck.LLC 12

Slide 13

Slide 13 text

Copyright©2016 Poppendieck.LLC 13 Photograph © Tom Poppendieck

Slide 14

Slide 14 text

Three Kinds of Systems Copyright©2016 Poppendieck.LLC 14 Nassim Nicholas Taleb: Antifragile – Things that gain from Disorder Acm Queue, September 2012: “Resilience Engineering: Learning to Embrace Failure” Picture Credit: André Faria Gomes

Slide 15

Slide 15 text

Periodic Releases Monolith Database as Integrator Stateful Protocols Synchronous Communication Procedural Programming Consecutive Execution Defect Free Continuous Delivery Microservices API’s as Integrators Stateless Protocols Asynchronous Communication Event Driven Programming Concurrent Execution Fault Tolerant Copyright©2016 Poppendieck.LLC 15

Slide 16

Slide 16 text

Copyright©2016 Poppendieck.LLC 16 Photograph © Tom Poppendieck

Slide 17

Slide 17 text

Copyright©2016 Poppendieck.LLC 17 More Value for Customers Scale Out Scale Up

Slide 18

Slide 18 text

Diverse Design Team Copyright©2016 Poppendieck.LLC 18 Stanford d.school Ashish Goel More Value for Customers Proven Design Process

Slide 19

Slide 19 text

Copyright©2016 Poppendieck.LLC 19 Sketch: Jake Knapp

Slide 20

Slide 20 text

Copyright©2016 Poppendieck.LLC 20 Photograph © Tom Poppendieck

Slide 21

Slide 21 text

Copyright©2016 Poppendieck.LLC 21 Deep Learning

Slide 22

Slide 22 text

Copyright©2016 Poppendieck.LLC 22 Photograph © Tom Poppendieck

Slide 23

Slide 23 text

A Matchmaker – a business that connects members of one group with members of another group. 23 Photograph © Tom Poppendieck Copyright©2016 Poppendieck.LLC

Slide 24

Slide 24 text

Copyright©2016 Poppendieck.LLC 24 Photograph © Tom Poppendieck

Slide 25

Slide 25 text

Photograph © Tom Poppendieck Mary Poppendieck [email protected]

Slide 26

Slide 26 text

Photograph © Tom Poppendieck Mary Poppendieck [email protected]