All the mistakes I've made trying to implement microservices
🤔
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
This is my name
Zac Braddy
This is my face
This is where I say things
@ZackerTheHacker
This is where I work
@KoodooHQ
Who dis? 🤷♂️
My Development podcast
@tabsnspacesHQ
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
Microservices Primer
🤓
Microservices Primer
🤓
Microservices Primer
🤓
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
- Successful local business with tech debt problem
- Let's do microservices!
- "Yeah but I just don't think we're Netflix, you know?"
👈🤠👉
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
👈🤠👉
Mistake: Going Lone Wolf
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
👈🤠👉
Mistake: Going Lone Wolf
Being a lone wolf is lonely...and can be dangerous
Bottom Line
You can't do this alone
How can you do avoid this mistake?
Be in the right team
If you aren't in one, try make one
If you can't make one try find one
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
- "We can give you the best, but the best takes time"
- 3 months: Look how clever we are
- 6 months: Hello world
- 18 months: 🚮
⚫
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
⚫
Mistake: Going Dark
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
No one wants to buy your perfect but functionally empty microservices framework
⚫
Mistake: Going Dark
Bottom Line
Sure study, Sure PoC, Sure as hell better build something!
How can you do avoid this mistake?
How does this get me closer to the dream?
Remember v2 is on it's way!
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🏚
😃
🤯
Start with big services to make it easier
Finish with big services later because it's hard
CQRS is basically all in one microservices, right?
Asynchronous Monolith...
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🏚
Mistake: Building a "Halfway House"
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
When you don't build microservices today, you don't get microservices tomorrow
🏚
Mistake: Building a "Halfway House"
Bottom line
Start as you mean to go on
How can you do avoid this mistake?
Build the best microservices not something else
Use buzzwords to solve problems not just to use them
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🦸♂️
- Hand made CQRS silver bullets need to be fired out of custom CQRS guns
- Dev? You mean Dev-ops-QA-SRE-Data-UX engineers?
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🦸♂️
Mistake: Wearing all the capes at once
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🦸♂️
Mistake: Wearing all the capes at once
Super heroes would look silly if they wore multiple capes!
Bottom line
To be as good as a specialist or a framework you need to be a specialist or a framework
How can you do avoid this mistake?
Caring about QA, Devops, Data, BA problems are each their own job, consider hiring for it
Frameworks, libraries, etc. should be chosen carefully but used liberally
🏰
- If we don't do async what is even the point?!
- We're out of time!!!
- Quick slap something together, hope this works 😬
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🏰
Mistake: Building Rome starting with the palace
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🏰
Mistake: Building Rome starting with the palace
9 out of 10 Romans prefer a well built town hall to a half built palace
Bottom line
Focus on delivering a horizontal rather than a vertical
How can you do avoid this mistake?
Make sure your first iteration solves a domain problem
Have an ideal solution and a realistic solution in mind
🧙
- DRY is the heckin' best!!
- > Be me: making my own patterns
- These new patterns are the heckin' best!!
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🧙
Mistake: Code wizard, microservices apprentice
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
🧙
Mistake: Code wizard, microservices apprentice
"I said, empty your mind. Be formless, shapeless. Like water. You put water in a cup it becomes the cup...Be water my friend" - Bruce Lee
Bottom line
Your experience is awesome but new problems need new solutions
How can you do avoid this mistake?
Stay humble. Be skeptical that you've ever got it right
Technologies, practices, patterns; nothing should be sacred or safe from scrutiny
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
👌😎👍
Failing at Microservices is easy
- Big Co has super-villain levels of resource
- Doesn't make things easier. Complexity doesn't go away it just moves
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
Microservices are hard!
really
really
really
💭
Don't forget
- Don't be a lone wolf, microservices are hard!
- Don't go dark, microservices, are hard!
- Don't build a halfway house, microservices are hard!
- Don't wear all the capes, microservices are hard!
- Don't start Rome with the palace, microservices are hard!
- Code wizard !== Microservices wizard, you're good, but microservices are hard!
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
@ZackerTheHacker
This is where I work
@KoodooHQ
All the mistakes I've made implementing microservices
Zac Braddy
@tabsnspacesHQ
https://tabsandspaces.io/atm-live-slides
https://tabsandspaces.io/atm-questions
All the mistakes I've made trying to implement microservices
By Zac Braddy
All the mistakes I've made trying to implement microservices
- 1,282