AWS Microservices Web Day
WO MICROSERVICES WIRKLICH SINN MACHEN Erik Dörnenburg ThoughtWorks Deutschland GmbH
[email protected] @erikdoe
MICROSERVICES UND MONOLITHEN
2
SERVICE-ORIENTED ARCHITECTURES (SOA)
MICROSERVICES
SOA
3
DIE DEFINITION VON “MICROSERVICES”
? 4
CHARAKTERISTIKEN VON MICROSERVICES
http://martinfowler.com/articles/ microservices.html
5
CHARACTERISTICS OF MICROSERVICES 1.
Componentisation via services
2.
Organised around business capabilities
3.
Products not Projects
4.
Smart endpoints and dumb pipes
5.
Decentralised governance
6.
Decentralised data management
7.
Infrastructure automation
8.
Design for failure
9.
Evolutionary design 6
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
7
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
8
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
3.
Produktorientierung über Projektfokus
9
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
3.
Produktorientierung über Projektfokus
4.
“Smart endpoints and dumb pipes”
10
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
3.
Produktorientierung über Projektfokus
4.
“Smart endpoints and dumb pipes”
5.
Dezentralisierte “Governance”
11
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
3.
Produktorientierung über Projektfokus
4.
“Smart endpoints and dumb pipes”
5.
Dezentralisierte “Governance”
6.
Dezentralisiertes Datenmanagement
12
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
3.
Produktorientierung über Projektfokus
4.
“Smart endpoints and dumb pipes”
5.
Dezentralisierte “Governance”
6.
Dezentralisiertes Datenmanagment
7.
Infrastrukturautomatisierung
13
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
3.
Produktorientierung über Projektfokus
4.
“Smart endpoints and dumb pipes”
5.
Dezentralisierte “Governance”
6.
Dezentralisiertes Datenmanagment
7.
Infrastrukturautomatisierung
8.
“Design for failure”
14
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
2.
Nach Geschäftsstrukturen organisiert
3.
Produktorientierung über Projektfokus
4.
“Smart endpoints and dumb pipes”
5.
Dezentralisierte “Governance”
6.
Dezentralisiertes Datenmanagment
7.
Infrastrukturautomatisierung
8.
“Design for failure”
9.
Evolutionary design 15
WIE GROSS IST EIN MICROSERVICE?
Zwei-Pizza Teams “Fits in my head” 15 Personen, 6 Monate, 10 Services 30 Personen, 60 Services 60 Personen, 20 Services 6 Teams, 40 Personen, 9 Services 16
AUTOSCOUT24
SERVICE priceestimation home classified-search classified-detail watchlist list-classifieds private-seller-contact-data cms-contentservice contentservice
GRÖSSE ~ 3.700 LOC ~ 2.900 LOC ~ 2.300 LOC ~ 1.650 LOC ~ 1.600 LOC ~ 1.100 LOC ~ 1.050 LOC ~ 836 LOC ~ 400 LOC
17
GILT.COM
2.000–4.000 LOC
18
AUTOSCOUT24 VOR 5 JAHREN
19
SWIMLANES
20
AWS UND MICROSERVICES
21
TATSU SERVICE TEMPLATE
117 Commits, 14 Contributors, 16 Pull Requests
22
DEPLOYMENT
JVM LINUX EC2 DYNAMO 23
DEPLOYMENT
ELB/ASG
JVM
JVM
JVM
LINUX
LINUX
LINUX
EC2
EC2
EC2
DYNAMO 24
CHARAKTERISTIKEN VON MICROSERVICES 1.
Komponenten als Services
þ
2.
Nach Geschäftsstrukturen organisiert
þ
3.
Produktorientierung über Projektfokus
☐
4.
“Smart endpoints and dumb pipes”
þ
5.
Dezentralisierte “Governance”
þ
6.
Dezentralisiertes Datenmanagment
þ
7.
Infrastrukturautomatisierung
þ
8.
“Design for failure”
þ
9.
Evolutionary design
þ 25
ERFOLGSFAKTOREN
“We are that tall!”
26
WE ARE THAT TALL!
You must be this tall to use Microservices
Schnelle Provisionierung Monitoring Schnelles Deployment DevOps Kultur 27
ERFOLGSFAKTOREN
“We are that tall!” Unternehmenskultur Keine Angst vor Veränderung + Geduld Monolith Cloud
28
CLOUD IST…
Ondemand selfservice Broad network access Resource pooling Rapid elasticity Measured service http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
29
VIELEN DANK Erik Dörnenburg ThoughtWorks Deutschland GmbH
[email protected] @erikdoe
30