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