How to build an evolutionary architecture Agenda Giraffes - - PowerPoint PPT Presentation

how to build an evolutionary architecture agenda
SMART_READER_LITE
LIVE PREVIEW

How to build an evolutionary architecture Agenda Giraffes - - PowerPoint PPT Presentation

How to build an evolutionary architecture Agenda Giraffes Coffee A guy who knows a lot Software Architectures! Personal introduction Antonio Jimnez Gonzlez Solutions Architect @The Workshop Bassist


slide-1
SLIDE 1

How to build an evolutionary architecture

slide-2
SLIDE 2

Agenda

  • Giraffes
  • Coffee
  • A guy who knows a lot
  • Software Architectures!
slide-3
SLIDE 3

Personal introduction

Antonio Jiménez González

  • Solutions Architect @The Workshop
  • Bassist
  • Takes a picture of himself in a basketball

shirt in every new country he sets foot in

slide-4
SLIDE 4

Personal introduction

Pedro Javier Martos Velasco

  • Tech Lead @ The Workshop
  • Guitarist
  • Book lover
  • CD and vinyl lover
slide-5
SLIDE 5

The problem

slide-6
SLIDE 6

5 years ago…

slide-7
SLIDE 7

The monolith

slide-8
SLIDE 8

Monolith issues

  • Big and costly
  • Hard to understand
  • Hard to CHANGE

Complexity was killing us

slide-9
SLIDE 9

Designed by Freepik

slide-10
SLIDE 10

All Architectures need to change

slide-11
SLIDE 11

3 years later…

slide-12
SLIDE 12
  • Incremental Changes

Event driven Architecture

Microserices

  • Shorter Cycle

Continuous Delivery

Embracing DevOps Culture

Letter to santa

slide-13
SLIDE 13
  • 30 microservices
  • Event driven
  • CD
  • Contract testing

New platform

Icons by Freepik

slide-14
SLIDE 14

The honeymoon

Designed by Freepik

slide-15
SLIDE 15

1 year later…

slide-16
SLIDE 16
  • 100+ microservices
  • Lots of new tech
  • Lots of devs
  • Lots of changes

The platform has grown big!

Icons by Freepik

slide-17
SLIDE 17

New problem

slide-18
SLIDE 18

Degradation

slide-19
SLIDE 19

We didn’t see it coming

We need to see

slide-20
SLIDE 20
  • If we know what to measure
  • And how to do it
  • We can compare

Hypothesis

slide-21
SLIDE 21

Evolutionary Architectures evolve All Architectures need to change

slide-22
SLIDE 22

Survival of the fittest

Lamarck’s Giraffe Original short-necked ancestor Keeps stretching neck to reach leaves higher up on tree And stretching And stretching until neck becomes progressively longer

slide-23
SLIDE 23

What’s an evolutionary architecture?

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

Building Evolutionary Architectures 2017 O'Reilly Ford, Parsons, Kua

slide-24
SLIDE 24
  • What are going to measure?
  • How are we going to measure it?
  • What are going to do with that data?

Hypothesis: revisited

slide-25
SLIDE 25
  • Maintainability
  • Auditability
  • Security
  • ...
  • ilities

}

Architectural dimensions

slide-26
SLIDE 26

Our -ilities

The Workshop's architecture principles:

  • Resilience
  • Simplicity
  • Observability
  • Security
  • Consistency
  • Efficiency
  • Technology Independence
  • Disposability
slide-27
SLIDE 27

A metric about some relevant aspect of your architecture

Fitness functions

slide-28
SLIDE 28

Our Architectural dimensions

Load Test Compl exity Duplica tion Density Average #

  • f code

committed % entrypoin ts intrument ented Vulnerabi lities Coverage Code smells Latent

  • bjects

Build & deploy Time #licences Open Source

Resilience Simplicity Observability Security Disposability Consistency Efficiency Tech Ind.

slide-29
SLIDE 29
  • Hygieia
  • ArchUnit
  • Sonar

Tools we reviewed

slide-30
SLIDE 30

Icons by Freepik

The product

slide-31
SLIDE 31

It's demo time!

slide-32
SLIDE 32

Fitness Functions (new features)

Server Patching OWASP violations Contract testing coverage Entrypoint naming Artifact naming Deviation from standard stack Web Perf. HA Auto scali ng Data Quality Simian Army

Resilience Simplicity Observability Security Disposability Consistency Efficiency Tech Ind.

slide-33
SLIDE 33
  • No change is bad

Yes change is good Too many changes… it depends

  • Evolutionary Architectures prevent degradation
  • It’s not easy

Conclusions

slide-34
SLIDE 34

We believe…

evolutionary architectures will be to architects as unit tests are to developers

slide-35
SLIDE 35

Rate today’s session

Session page on conference website O’Reilly Events App

slide-36
SLIDE 36

Any questions?

slide-37
SLIDE 37

Thank you!

http://www.twitter.com/ayimgo https://es.linkedin.com/in/ayimgo http://www.twitter.com/pjmartos https://onerandomdev.com https://www.linkedin.com/in/pjmartos Antonio Jiménez González Pedro Javier Martos Velasco