Download - 10 Tips for failing at microservices
![Page 1: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/1.jpg)
@koenighotze#Voxxed #10TipsMicroservices
10 Tips for failing badly at Microservices
David Schmitz Senacor Technologies
![Page 2: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/2.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
David Schmitz / @koenighotze
Senacor Technologies
Principal Architect
Programmer
That’s me coding EJBs
![Page 3: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/3.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Disclaimer
This is not YOU! Opinions are my OWN!TM
![Page 4: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/4.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
What’s in it for you?
Your boss want’s to modernise, but you don’t
Things to do to sabotage your project
Lessons learned the hard way
Things have been anonymised to protect the guilty
![Page 5: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/5.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The Boss read about microservices?
![Page 6: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/6.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Extreme agile cloud native digital
microservices!
Disrupt or be disrupted!
Sounds good. And cloud and agile equal
good?!?Industry 4.0!
FTW!
![Page 7: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/7.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
“IT People! Make it happen! Build me some microservices”
![Page 8: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/8.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
What the hell is a microservice and why should I care?
![Page 9: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/9.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Microservices IMHO
Single Bounded Context
UI and Services
Independent
Self-Contained
Local storage
Share nothing
User Interface
Services
Persistence
Operations
![Page 10: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/10.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Whatever! BLAH BLAH
User Interface
Services
Persistence
Operations
Too lazy to actually read all
this stuff…looks boring and I
want to look at funny cat
pics.
![Page 11: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/11.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Sabotage Extravaganza
Follow these
![Page 12: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/12.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Sabotage Extravaganza10 9 8 7 6 5 4 3 2 1
Direction of Awesomeness
![Page 13: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/13.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
10 - Go Full-Scale-Polyglot
![Page 14: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/14.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
![Page 15: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/15.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Waldo-Tech Stack
![Page 16: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/16.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Technical knowledge - Excitement
Groundhog Code - Redevelop solutions
Maintenance field trips
Heisenberg monitoring & Ops
The Zoo of Technology
![Page 17: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/17.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Jump the Bandwagon$ npm ls | grep @0 [email protected] │ ├─┬ [email protected] │ │ │ ├─┬ [email protected] │ │ │ │ └── [email protected] │ │ └── [email protected] ├─┬ [email protected] │ │ ├── [email protected] │ │ │ │ └── [email protected] │ │ │ └── [email protected] │ │ │ └── [email protected] │ │ │ └── [email protected]
![Page 18: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/18.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Polyglot?
![Page 19: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/19.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Polyglot?
thx @Codepitbull
![Page 20: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/20.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Freedom is a human right
Everybody loves a puzzle - REST, HAL, SIREN
Find new friends while searching for fixes on Stackoverflow
Synergies: Polyglot UI with beta status
Keep ops on their toes by multi-monitoring and logging (easy win -> Date format!)
![Page 21: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/21.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And ignore Ops!
![Page 22: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/22.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
9 - The data monolith
(c) Disney Corporation
![Page 23: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/23.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
![Page 24: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/24.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Mum said we should share
Credit Account Payment
Giant SQL Datastore
![Page 25: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/25.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Mum said we should share
Credit Account Payment
![Page 26: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/26.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Name must be VARCHAR(200) instead of
VARCHAR(50)
![Page 27: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/27.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Account table changes
Credit Account Payment
![Page 28: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/28.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Credit Account Payment
Boom
![Page 29: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/29.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Sharing is a Good ThingTM
All microservices must share the database
Avoid table or schema ownership
Insidious dependencies, e.g. Connection pools keep everybody awake at night
![Page 30: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/30.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And ignore Ops!
![Page 31: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/31.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
8 - The event monolith
![Page 32: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/32.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Marketing Pitch
Customer Homeaddress
Updated
Credit acquired
New Customer Created
…
Direction of Time
Customer Credit
Event Store
![Page 33: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/33.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Eventsourcing Marketing Pitch
Audit trail - Immutable history for free
Distributed data management
Decoupled microservices with CQRS
…and much more!
![Page 34: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/34.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
‘Das schöne Österreich’ will no longer be
accepted as a country code
![Page 35: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/35.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
WET is the new DRY
Country: “AU”
Country: “Das schöne Österreich”
…
Direction of Time
Customer Credit
Event Store
![Page 36: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/36.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Don’t change messy past events
Don’t come up with a data strategy
Copy and Paste compensation actions
Event history as bugfixes
Dont’t need it? Play the “We might become google or linkedin!” card
![Page 37: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/37.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
7 - The Home Grown monolith
![Page 38: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/38.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
– Carl Sagan (slightly paraphrased)
“If you wish to make MICROSERVICES from scratch, you must first create a FRAMEWORK”
Wrapping up
![Page 39: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/39.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Home made Eventsourcing
{ "type": "NewCustomerCreated", "id": 1234, "payload": { } }
{ "type": "NewCustomerCreated", "id": 1234, "payload": { } }
CustomerAccount Reporting
ES V1 ES V1 ES V1
![Page 40: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/40.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The customer system needs special, non-numeric ids
![Page 41: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/41.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Version increaseCustomer V2
{ "type": "NewCustomerCreated", "id": "1234-5678", "payload": { ... } }
ES 2
![Page 42: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/42.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Runtime surpriseCustomer V2Account Reporting
ES V1 ES V1ES 2
{ "type": "NewCustomerCreated", "id": "1234-5678", "payload": { ... } }
![Page 43: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/43.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Change the world eventCustomer V2Account V2 Reporting V2
ES V2 ES V2ES 2
![Page 44: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/44.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Microservice Promise
Customer
Account
Reporting
Independent release
![Page 45: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/45.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Monolithic Release Plan
Customer
Account
Reporting
Common Release
![Page 46: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/46.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Cross-cutting dependencies as social tools
Job insurance via invasive frameworks
Building frameworks is fun! Try it!
Ideas: Collections, String-Utils, Logging, ORM!
![Page 47: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/47.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
6 - Think of the meat cloud
![Page 48: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/48.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
W K
P T
Optimise your Revenue!
![Page 49: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/49.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Who KNOWS how to do it?K
P T
Optimise your Revenue!
Who WANTS it to be done?
Who has the required
PRIVILEGES?
Who has TIME to actually
do it?
![Page 50: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/50.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Insight: CD is very useful
Delivery pipeline
Production
![Page 51: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/51.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And the rest of the world?
Delivery pipeline
Production
…
Handcrafted with love
Soulless automation
![Page 52: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/52.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
W
Quickly…release a new Customer microservice
K
P T
![Page 53: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/53.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
P T
KW
![Page 54: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/54.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Ops Toolchain - Vi all the way!
P T
W K
P T
![Page 55: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/55.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Ops Toolchain - Vi all the way!
P T
W K
P T
![Page 56: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/56.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Prod Status - Illustration
![Page 57: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/57.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Infrastructure is expensive…be proud to take care of it
Microsoft Word is some kind of automation
Play the “we are not google” card
If someone asks, say you are using Docker
![Page 58: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/58.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
5 - The distributed monolith
![Page 59: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/59.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Friends stay close together
Customer AccountCredit
Security
![Page 60: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/60.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Let’s offer a discount to new users
![Page 61: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/61.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The Musketeer Pattern
Customer AccountCredit
Security
![Page 62: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/62.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Combine the complexity of a microservice architecture with
the rigidity and fragility of a monolith
![Page 63: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/63.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The network is reliable
Dependencies indicate good design, like in Dependency Injection
Synchronous dependencies are easy
What is half a system good for, anyway? So avoid Circuit breakers
![Page 64: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/64.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And ignore Ops!
![Page 65: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/65.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
4 - The SPA monolith
![Page 66: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/66.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Micro is REST only
Customer REST Credit RESTAccount REST
Giant Monster UI
![Page 67: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/67.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Add a mandatory social-number field to the
customer
![Page 68: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/68.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
But not that mandatory. E.g. if the customer is not committed, yet
![Page 69: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/69.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
No clear responsibility
Customer Domain Credit DomainAccount Domain
Comprehensive UI Domain Model
![Page 70: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/70.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Domain is spread around
Customer REST Credit RESTAccount REST
![Page 71: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/71.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Ach, just put it there
Room available
![Page 72: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/72.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Meet people while discussion ownership and conflicting features
Keep the testers busy with side effects
Single point of failure -> Easy to find
![Page 73: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/73.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
By all means, avoid composition
CreditCustomer Account
Tailor.JS / Project Mosaic
![Page 74: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/74.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
…and avoid Hyperlinks!
CreditCustomer Account
![Page 75: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/75.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
3 - The decision monolith
![Page 76: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/76.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
“But we need Java 7…it is 2017 after all!”
![Page 77: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/77.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The sieve of sanity
Architecture & Design Sieve
![Page 78: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/78.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The sieve of sanity
Agile
RxMicroservice
Actors Augmented realityCloudAWSWebRTC IoT
Blockchain
![Page 79: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/79.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The sieve of sanity
Agile
RxMicroservice
Actors Augmented realityCloudAWSWebRTC IoT
Blockchain
Architecture & Design Sieve
![Page 80: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/80.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The sieve of sanity
JEE
WebSphere
Agile
RxMicroservice
Actors Augmented realityCloudAWSWebRTC IoT
Blockchain
Architecture & Design Sieve
![Page 81: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/81.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
…works on larger scale, too
Architecture & Design Sieve
Customer AccountCredit Security
![Page 82: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/82.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Frustrate your coworkers Irritate motivated colleagues
If you are older than 30…play the “This is _real_ enterprise, kid” card Ivory towers are beautiful
Assume people are dumb, and you are smart
![Page 83: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/83.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
2 The monolithic
business
![Page 84: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/84.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
MS is for Devs only
Credit Account Payment
… … …
Branch Office Toolset Something
![Page 85: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/85.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Let’s force the user to always enter a valid address
![Page 86: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/86.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
No, the customer should be able to enter partial
addresses
![Page 87: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/87.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Requirements Ping Pong
Credit Account Payment
Branch Office Toolset Something
?????
![Page 88: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/88.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Change Management
![Page 89: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/89.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Requirements Management
![Page 90: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/90.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Waterfall!!!11!!!
![Page 91: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/91.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Slow means more time for Twitter! The servant of many kings is a free man
Change / Requirement Mgmt. are your allies Business people don’t know Eric Evans
Conway’s law works both ways
![Page 92: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/92.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And ignore Ops!
![Page 93: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/93.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
1 - Use a HR driven Architecture
![Page 94: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/94.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
It is easier to search for React developers than for general
craftswomen
![Page 95: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/95.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Frontend Development
Service Development
DevOps Team
Test
Business
![Page 96: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/96.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Magic Specification Success Template
![Page 97: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/97.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Frontend Microservice
Service Microservice
Persistence Microservice
![Page 98: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/98.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Frontend Microservice
Service Microservice
Persistence Microservice
Shared stability
Shared release
Convoluted domains
![Page 99: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/99.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And ignore Ops!
![Page 100: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/100.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Programmers do not like other people
Avoid spread of knowledge
Business knows the domain. Devs know tech
Nobody should have a big picture, keep them in the dark
Meetings mean coffee and biscuits
![Page 101: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/101.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And: In case of bugs… It’s always the other team’s fault!
And: In case of bugs… It’s always the other team’s fault!
![Page 102: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/102.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Wrapping up….
![Page 103: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/103.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The key to failure is the hidden monolith
![Page 104: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/104.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
The hidden monolith
Data
Frontend
Framework
Deployment and Release
Process
![Page 105: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/105.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
And ignore Ops!
![Page 106: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/106.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
SummaryMS mean Work - Fight them
Greenfield != Brownfield - The perfect excuse
Think of the organisational impact. You do not want to change!
Embrace the monolith
Microservices are a fad. Wait for SOAP 4.0
Dont’t underestimate the power of broken windows
![Page 107: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/107.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
Thank you! Questions?
Thank you!
![Page 108: 10 Tips for failing at microservices](https://reader031.vdocument.in/reader031/viewer/2022012914/58d0f1251a28abba558b6fe3/html5/thumbnails/108.jpg)
#VoxxedVienna #10TipsMicroservices @koenighotze
BACKUP