Getting a System to Production and keeping it there Eoin Woods, - - PowerPoint PPT Presentation

getting a system to production and keeping it there eoin
SMART_READER_LITE
LIVE PREVIEW

Getting a System to Production and keeping it there Eoin Woods, - - PowerPoint PPT Presentation

Getting a System to Production and keeping it there Eoin Woods, Endava Content Introducing Production Systems What Goes Wrong in Production? Solutions for Production Systems Conclusions 3 Production Systems 4 What is a production


slide-1
SLIDE 1

Getting a System to Production
 … and keeping it there Eoin Woods, Endava

slide-2
SLIDE 2
slide-3
SLIDE 3

Content

Introducing Production Systems What Goes Wrong in Production? Solutions for Production Systems Conclusions

3

slide-4
SLIDE 4

Production Systems

4

slide-5
SLIDE 5

What is a production system?

5

Any system
 being used
 for real work

slide-6
SLIDE 6

Why is Productionisation Hard?

No one teaches you about production

who do you talk to? what do they want? what is the definition of “done” ?

Production is difficult for developers

hard to access, interrogate, debug, change, ...

6

slide-7
SLIDE 7

A new cast of characters

7

Developers

Development

Users

slide-8
SLIDE 8

A new cast of characters

7

Production

Users Developers Auditors Operations Acquirers Infrastructure Business
 Management

slide-9
SLIDE 9

Production is constrained

Highly controlled Content is all valuable Change can be difficult

8

slide-10
SLIDE 10

Production is unpredictable

9

slide-11
SLIDE 11

Production is highly visible!

10

slide-12
SLIDE 12

You don’t own production

11

slide-13
SLIDE 13

What goes wrong?

12

slide-14
SLIDE 14

Performance surprises

Interactive load Batch time surprises System abusers!

“all transactions this year”, “average since 1967”, ...

13

slide-15
SLIDE 15

Environment bombshells

Constraints and contention Unexpected behaviour Integration points

14

slide-16
SLIDE 16

Failures happen

Software defects Platform failures Environment failures

15

slide-17
SLIDE 17

Security tangles

Security is simple in Development Much more complex in Production!

16

slide-18
SLIDE 18

Finding Solutions

17

slide-19
SLIDE 19

Key requirements for production

Functionally correct

does what the business process requires

Stability

behaves predictably in all situations

Capacity

can process the workload required (at all times)

Security

limits access to those who are authorised to have it

18

slide-20
SLIDE 20

Solution Framework

Correctness Stability Capacity Security Design Principles Technology Processes

19

slide-21
SLIDE 21

Solution Framework

Correctness Stability Capacity Security Design Principles Technology Processes

Simplicity

19

slide-22
SLIDE 22

Solution Framework

Correctness Stability Capacity Security Design Principles Technology Processes

Simplicity Resource Governor

19

slide-23
SLIDE 23

Solution Framework

Correctness Stability Capacity Security Design Principles Technology Processes

Simplicity Resource Governor Threat Modelling

19

slide-24
SLIDE 24

General Principles

One Team Automate Measure and Improve (feedback loops) Good Enough over Perfection

20

Timeless principles … today led by CD and DevOps

slide-25
SLIDE 25

Example: Achieving Stability

21

slide-26
SLIDE 26

Stability - design principles

Fail quickly

fail fast, timeouts

Isolate problems

flow control, circuit breakers, bulkheads, asynchronous integration

Ensure steady state operation

housekeeping, predictable resource allocation, governors, throttling

22

slide-27
SLIDE 27

Stability - technology solutions

23

slide-28
SLIDE 28

Stability - technology solutions

Fail fast

23

slide-29
SLIDE 29

Stability - technology solutions

Fail fast Bulkhead

23

slide-30
SLIDE 30

Stability - technology solutions

Timeouts Fail fast Bulkhead

23

slide-31
SLIDE 31

Stability - technology solutions

Timeouts Fail fast Bulkhead Governor

23

slide-32
SLIDE 32

Stability - technology solutions

Timeouts Circuit Breaker Fail fast Bulkhead Governor

23

slide-33
SLIDE 33

Stability - technology solutions

Timeouts Circuit Breaker Fail fast Bulkhead Governor Housekeeping

23

slide-34
SLIDE 34

Example - Circuit Breaker

Clear Checking Tripped

err_returned timeout err_returned &&
 err_count > 10 err_returned

24

slide-35
SLIDE 35

Stability - process principles

Repeatability

defined processes, practice scenarios, prelive environments

Automation

automate the routine, automate the difficult allow the human back in the loop on demand

Transparency

logging, monitoring, alerts, trends

25

slide-36
SLIDE 36

Stability - process automation

Logging 
 & Metrics Monitoring Automation

26

slide-37
SLIDE 37

Summary

27

slide-38
SLIDE 38

Production is just different

it’s not yours and you need to respect that

Production is demanding

Correctness Stability Capacity Security

Summary

28

slide-39
SLIDE 39

Summary (ii)

Solutions for each requirement by area

principles technologies processes

29

slide-40
SLIDE 40

Summary (iii)

Production requirements and principles go back to the age of the mainframe CD and DevOps the latest incarnation welcome attention from developers new tech enabling new possibilities breaking down silos to make it happen

30

slide-41
SLIDE 41

Books

Software Systems Architecture

Second Edition

NICK ROZANSKI • EOIN WOODS

Working with Stakeholders Using Viewpoints and Perspectives

Second Edition

31

slide-42
SLIDE 42
slide-43
SLIDE 43

Thanks !

slide-44
SLIDE 44

34

Acknowledgements

http://www.icons-land.com http://www.alamy.com/ http://www.42u.com