cHAnGe
cHAnGe
sUpPORt c O n S T a N t cHAnGe
nealford.com @neal4dcHAnGe
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
cHAnGe
cHAnGe
sUpPORt c O n S T a N t cHAnGe
nealford.com @neal4dcHAnGe
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
bUSineSs dRiVEn
bUSineSs dRiVEn
bUSineSs dRiVEn
tEcHnoLoGy DriVEn
dYNaMic eqUiLiBRiuM
dYNaMic eqUiLiBRiuM
How is long term planning possible when things constantly change in unEXpECtEd ways? unEXpECtEd unEXpECtEd
everything in architecture is a tradeoff
code use, reuse, & abuse reuse
Software reuse is more like an organ transplant than snapping together Lego blocks.
two reuse solutions
ESB-driven SOA
The more reusable something is, the less usable it is.
reuse coupling
ESB-driven SOA
microservices architecture
api layer client requests client requests client requests service component module moduleservice component
module moduleservice component
module moduleservice templates/sidecars
service component
module module logging monitoring A&A http://www.dropwizard.io/ https://projects.spring.io/spring-boot/the rise of service meshes
the rise of service meshes
the rise of service meshes
the rise of service meshes
the rise of service meshes
everything in architecture is a tradeoff
Last 10% Trap
“Users always want 100% of what they want (& are never satisfied with less).”
80%
what the user wants
10% 10%
What Happened to the 4GLs?
DSL
see also: Vendor King Anti-pattern
Current 10% Trap?
serverless
“low code” environments
? !
sUpPORt cOnSTaNt cHAnGe
Not a good kind
reMoVe vAriAbiLitY
Architectural
Evolutionary Architecture
An evolutionary architecture supports guided, incremental change across multiple dimensions.
Evolutionary Architecture
An evolutionary architecture supports guided, incremental change across multiple dimensions. guided
guided
An architectural fitness function provides an
architectural characteristic(s).
Cyclic Dependencies
clarkware.com/software/JDepend.html applicationGoverning Layered Architecture
ArchUnit
https://www.archunit.org/
ArchUnit
https://www.archunit.org/layer dependency
Legality of Open Source Libraries
Penultima⬆eLegality of Open Source Libraries
Penultima⬆eLegality of Open Source Libraries
Penultima⬆eLegality of Open Source Libraries
Penultima⬆eincremental
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 codeDeployment 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 environmentevolutionary 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 functionssUpPORt cOnSTaNt cHAnGe
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 codemoVe faSt & fiX tHiNgs
▫︎ 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.
4 days 24 hours/ no mismatches or slow cases > 10,000,000 comparisons > 10,000,000 comparisons
sUpPORt cOnSTaNt cHAnGe
sUpPORt cOnSTaNt cHAnGe remove needless variability
sUpPORt cOnSTaNt cHAnGe automation = platform
sUpPORt cOnSTaNt cHAnGe everything is a tradeoff
sUpPORt cOnSTaNt cHAnGe
nealford.com/books nealford.com/videos
www.oreilly.com/software-architecture-video-training-series.html