sUpPORt c O n S T a N t cHAnGe cHAnGe cHAnGe nealford.com - - PowerPoint PPT Presentation

support c o n s t a n t change change change
SMART_READER_LITE
LIVE PREVIEW

sUpPORt c O n S T a N t cHAnGe cHAnGe cHAnGe nealford.com - - PowerPoint PPT Presentation

cHAnGe sUpPORt c O n S T a N t cHAnGe cHAnGe cHAnGe nealford.com @neal4d to make di ff erent in some particular to undergo a modi fi cation of to give a di ff erent position, course, or direction to cHAnGe to replace with another to make a


slide-1
SLIDE 1

cHAnGe

cHAnGe

sUpPORt c O n S T a N t cHAnGe

nealford.com @neal4d

cHAnGe

slide-2
SLIDE 2

cHAnGe

to make different in some particular to make radically different to give a different position, course, or direction to to replace with another to make a shift from one to another to undergo a modification of

slide-3
SLIDE 3

cHAnGe

slide-4
SLIDE 4

bUSineSs dRiVEn

slide-5
SLIDE 5

bUSineSs dRiVEn

slide-6
SLIDE 6
slide-7
SLIDE 7

bUSineSs dRiVEn

tEcHnoLoGy DriVEn

slide-8
SLIDE 8

dYNaMic eqUiLiBRiuM

slide-9
SLIDE 9 ¯

dYNaMic eqUiLiBRiuM

slide-10
SLIDE 10

How is long term planning possible when things constantly change in unEXpECtEd ways? unEXpECtEd unEXpECtEd

slide-11
SLIDE 11

everything in architecture is a tradeoff

slide-12
SLIDE 12

code use, reuse, & abuse reuse

slide-13
SLIDE 13 John D. Cook http://www.johndcook.com/blog/2011/02/03/lego-blocks-and-organ-transplants/

Software reuse is more like an organ transplant than snapping together Lego blocks.

slide-14
SLIDE 14

two reuse solutions

slide-15
SLIDE 15

ESB-driven SOA

slide-16
SLIDE 16 auto and homeowners insurance division commercial insurance division casualty insurance division life insurance division disability insurance division travel insurance division customer customer customer customer customer customer customer service
slide-17
SLIDE 17

The more reusable something is, the less usable it is.

slide-18
SLIDE 18

reuse coupling

slide-19
SLIDE 19

ESB-driven SOA

slide-20
SLIDE 20
slide-21
SLIDE 21

microservices architecture

api layer client requests client requests client requests service component module module
slide-22
SLIDE 22

service component

module module

service component

module module
slide-23
SLIDE 23

service templates/sidecars

service component

module module logging monitoring A&A http://www.dropwizard.io/ https://projects.spring.io/spring-boot/
slide-24
SLIDE 24

the rise of service meshes

slide-25
SLIDE 25

the rise of service meshes

slide-26
SLIDE 26

the rise of service meshes

slide-27
SLIDE 27 service component module module service component module module

the rise of service meshes

slide-28
SLIDE 28

the rise of service meshes

slide-29
SLIDE 29

everything in architecture is a tradeoff

slide-30
SLIDE 30

Last 10% Trap

“Users always want 100% of what they want (& are never satisfied with less).”

80%

what the user wants

10% 10%

slide-31
SLIDE 31

What Happened to the 4GLs?

DSL

slide-32
SLIDE 32

see also: Vendor King Anti-pattern

slide-33
SLIDE 33

Current 10% Trap?

serverless

“low code” environments

? !

slide-34
SLIDE 34

sUpPORt cOnSTaNt cHAnGe

slide-35
SLIDE 35
slide-36
SLIDE 36

ConStRAinT

slide-37
SLIDE 37 snowflake servers

Not a good kind

  • f vAriABiLitY
slide-38
SLIDE 38

reMoVe vAriAbiLitY

slide-39
SLIDE 39

kNigHt cApiTaL

slide-40
SLIDE 40 “bankrupt in 45 minutes” dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale/
slide-41
SLIDE 41

governance

Architectural

slide-42
SLIDE 42 @neal4d nealford.com @patkua @rebeccaparsons
slide-43
SLIDE 43

Evolutionary Architecture

An evolutionary architecture supports guided, incremental change across multiple dimensions.

slide-44
SLIDE 44

Evolutionary Architecture

An evolutionary architecture supports guided, incremental change across multiple dimensions. guided

slide-45
SLIDE 45

guided

An architectural fitness function provides an

  • bjective integrity assessment of some

architectural characteristic(s).

slide-46
SLIDE 46

Cyclic Dependencies

clarkware.com/software/JDepend.html application
slide-47
SLIDE 47

Governing Layered Architecture

slide-48
SLIDE 48

ArchUnit

https://www.archunit.org/

slide-49
SLIDE 49

ArchUnit

https://www.archunit.org/

layer dependency

slide-50
SLIDE 50

Legality of Open Source Libraries

Penultima⬆e
slide-51
SLIDE 51

Legality of Open Source Libraries

Penultima⬆e
slide-52
SLIDE 52

Legality of Open Source Libraries

Penultima⬆e
slide-53
SLIDE 53

Legality of Open Source Libraries

Penultima⬆e
slide-54
SLIDE 54

incremental

Production survey shipping catalog star rating improved star rating commit/ unit test 01001001010101 01010101010101 00101010010010 00100100010001 functional test UAT staging database unit tested code functionally tested code deployed code
slide-55
SLIDE 55

Deployment Pipeline + Fitness Functions

commit/ unit test 01001001010101 01010101010101 00101010010010 00100100010001 functional test UAT holistic fitness functions database atomic fitness functions unit tested code functionally tested code architecturally tested code deployed quantum integration environment
slide-56
SLIDE 56

evolutionary architecture governance

replicating CI 01001001010101 01010101010101 00101010010010 00100100010001 containerize & deploy database atomic fitness functions database holistic fitness functions database deploy to production EA fitness functions Security fitness functions
slide-57
SLIDE 57

sUpPORt cOnSTaNt cHAnGe

slide-58
SLIDE 58

incremental

Production survey shipping catalog star rating improved star rating commit/ unit test 01001001010101 01010101010101 00101010010010 00100100010001 functional test UAT staging database unit tested code functionally tested code deployed code
slide-59
SLIDE 59

moVe faSt & fiX tHiNgs

slide-60
SLIDE 60 https://github.com/github/scientist
slide-61
SLIDE 61

▫︎ It decides whether or not to run the try block, ▫︎ Randomizes the order in which use and try blocks are

run,

▫︎ Measures the durations of all behaviors, ▫︎ Compares the result of try to the result of use, ▫︎ Swallows (but records) any exceptions raised in the try

block

▫︎ Publishes all this information.

slide-62
SLIDE 62
slide-63
SLIDE 63
slide-64
SLIDE 64
slide-65
SLIDE 65

4 days 24 hours/ no mismatches or slow cases > 10,000,000 comparisons > 10,000,000 comparisons

slide-66
SLIDE 66

sUpPORt cOnSTaNt cHAnGe

slide-67
SLIDE 67

sUpPORt cOnSTaNt cHAnGe remove needless variability

slide-68
SLIDE 68

sUpPORt cOnSTaNt cHAnGe automation = platform

slide-69
SLIDE 69

sUpPORt cOnSTaNt cHAnGe everything is a tradeoff

slide-70
SLIDE 70

sUpPORt cOnSTaNt cHAnGe

slide-71
SLIDE 71 nealford.com @neal4d

nealford.com/books nealford.com/videos

www.oreilly.com/software-architecture-video-training-series.html