Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[English] Moving from a Monolithic to a Microservices Architecture

[English] Moving from a Monolithic to a Microservices Architecture

As an application grows, the flexibility that inclined us to build a monolith vanishes. The once reliable system is now prone to errors, bugs leak to unexpected places and new features take a considerable time to be delivered. We can get the productivity back by moving to microservices.

In 2006, service oriented architecture (or SOA) was all the crazy, but it failed us. Microservices resemble a lot with SOA, but if SOA didn’t work in the past, why are we back again with the same principles? Are Microservices just SOA in disguise?

This talk was created to demystify it, showing what was inherited from SOA and what is different now that allows us to resume the journey we abandoned 10 years ago. It will focus on things with which I struggle, in my own experience of moving from the monolith to an army of well-defined microservices.

Let's go through some of the most important patterns and see how to avoid the most common pitfalls.

Artur Caliendo Prado

March 08, 2017
Tweet

More Decks by Artur Caliendo Prado

Other Decks in Programming

Transcript

  1. View Slide

  2. View Slide

  3. View Slide

  4. Monolith

    View Slide

  5. From
    Monolith to
    Microservices

    View Slide

  6. Artur Caliendo Prado
    [email protected]
    @artur.prado @artur_caliendo
    @arturcp

    View Slide

  7. Do not
    simply follow
    the mantra

    View Slide

  8. View Slide

  9. Monolith Microservices

    View Slide

  10. View Slide

  11. Why not a monolith?
    Tools
    Language
    Process
    Time to deploy
    Libraries

    View Slide

  12. View Slide

  13. Microservices

    View Slide

  14. View Slide

  15. Share “nothing”

    View Slide

  16. View Slide

  17. View Slide

  18. Start things together

    View Slide

  19. View Slide

  20. View Slide

  21. Availability vs Responsiveness

    View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. "Rely not on the likelihood of the enemy's not coming,
    but on our own readiness to receive him; not on the
    chance of his not attacking, but rather on the fact that
    we have made our position unassailable"
    The art of war, Sun Tzu.

    View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. http://www.oreilly.com/programming/free/

    View Slide

  31. View Slide

  32. https://medium.freecodecamp.com/react-props-state-explained-through-darth-vaders-hunt-for-the-rebels-8
    ee486576492
    Kevin Kononenko

    View Slide

  33. "No man is an island, Entire of itself, Every man is a
    piece of the continent, A part of the main."
    John Donne
    "One Microservice is no Microservice — they come in
    systems."

    View Slide

  34. [email protected]
    @artur.prado

    View Slide