Architecting for Innovation
Stefan Tilkov, @stilkov
innoQ Deutschland GmbH
Slide 2
Slide 2 text
Problems Some People Have
Building features
takes too long Technical debt is
well-known and
not addressed
Deployment is way
too complicated and
slow
Replacement would
be way too
expensive
Scalability has
reached its limit
Architectural quality
has degraded
“-ility”
problems
abound
Slide 3
Slide 3 text
If you barely manage to
keep systems running …
Slide 4
Slide 4 text
… how can you drive
innovation?
Slide 5
Slide 5 text
Microservices
(a.k.a. “the solution to every problem”)
Slide 6
Slide 6 text
“Monolithic” Applications
See https://www.innoq.com/en/links/self-contained-systems-infodeck/
Slide 7
Slide 7 text
Layers
Slide 8
Slide 8 text
Contexts
Slide 9
Slide 9 text
Internal components
Slide 10
Slide 10 text
Multi-dimensional complexity
Slide 11
Slide 11 text
„Organizations which design systems […] are constrained
to produce designs which are copies of the communication
structures of these organizations.“
— Melvin Conway, 1968
Slide 12
Slide 12 text
Conway’s Law illustrated
Slide 13
Slide 13 text
So let’s start with this …
Slide 14
Slide 14 text
… and cut it apart: Microservices
Slide 15
Slide 15 text
“Flavors” of Microservices
> “Microservice” is a very ill-defined term and means different
things to different people
> Three mainstream interpretations of the term:
> “Proper” microservices (where “micro” means “really, really small”)
> Collaborating “service graphs” (Netflix-style), medium-sized
> Self-contained systems (SCS), complete autonomous systems
(see http://scs-architecture.org)
Slide 16
Slide 16 text
Self-contained Systems(*) (SCS)
UI
Logic
DB
UI
Logic
DB
UI
Logic
DB
Shop system Shop system
Products Checkout
Search
UI-level integration
UI
Logic
DB
Products
Checkout
Search
data replication
Business domain broken down into vertical slices
(*) see: https://scs-architecture.org
Slide 17
Slide 17 text
Finer-grained Microservices
UI
Shop system
Products
Checkout Search
Logic
DB
Logic
DB
Logic
DB
Logic
DB
Logic
Logic
Logic Logic
Shop system
UI
Logic
DB
Products
Checkout
Search
Checkout
Products
Search
Business domain broken down into UI and services
Slide 18
Slide 18 text
Some equations
1 Service = 1 Deployment Unit
(“can be deployed independently”)
1 Service = 1 Team
(“one team is responsible for building it”)
1 Service = 1 Bounded Context
(“does only one thing, but does it well”)
Slide 19
Slide 19 text
1 project ≠ 1 system
(“modularize from the start”)
Slide 20
Slide 20 text
Conway’s Law revisited –
Can architecture have an impact on organisation?
?
?
Slide 21
Slide 21 text
Continuous Delivery
> “If it hurts, do it more often”
> Enable pushing changes into production as quickly as possible
> Continuous Deployment vs. Continuous Delivery
> Requires high degree of automation
Delivering monoliths vs. microservices
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
Commit
Stage
Automated
Acceptance
Testing
Automated
Capacity
Testing
Manual
Explorative
Testing
Release
> separate deployment pipelines per
team
> services can be released and
deployed independently
> smaller and more frequent releases
> whole system is released and deployed
in one go
> requires significant coordination within
the team(s)
> large, infrequent releases
Slide 24
Slide 24 text
Prepare to change your DC strategy …
> Move from hardware towards software
> Automation and self-service
> New economics in networking, storage, memory, CPU
> Not for the faint of heart
> Essentially, become a Cloud provider
Slide 25
Slide 25 text
… or use services of someone who has done so.
> Dramatic change in acceptance of Public Cloud offerings
> Regional support
(e.g. AWS in Frankfurt a.M., Germany)
> Improvements in legal aspects
(e.g. Microsoft/T-Systems trustee arrangement)
> No silver bullet