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

Beyond Microservices

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Beyond Microservices

This presentation shows the properties, advantages and challenges of microservices. It then discusses alternative architectures beyond microservices.

Eberhard Wolff

October 05, 2017

Transcript

120 slides
  1. Creator: INNOQ | http://isa-principles.org > Best practices > for microservices

    > for Self-contained Systems (SCS) http://scs-architecture.org Introduction Why ISA ? ! ! !
  2. Creator: INNOQ | http://isa-principles.org > Reuse “Module” ideas: > High

    cohesion, low coupling, > Separation of concerns, > Single Responsibility … 1 | Modules
  3. Creator: INNOQ | http://isa-principles.org > Information hiding > Microservice must

    not use other microservices’ internals (e.g. database schemas). 1 | Modules
  4. Creator: INNOQ | http://isa-principles.org > Decisions for all modules 3

    | Macro / Micro Architecture Macro Architecture
  5. Creator: INNOQ | http://isa-principles.org > Decisions per module 3 |

    Macro / Miro Architecture Micro Architecture
  6. Creator: INNOQ | http://isa-principles.org > All modules part of one

    system > Goal: Minimal Macro Architecture > Macro Architecture stable 3 | Macro / Miro Architecture Why Macro Architecture?
  7. Creator: INNOQ | http://isa-principles.org > Integrate modules to become a

    system Synchronous, asynchronous, or UI 4 | Integration
  8. Creator: INNOQ | http://isa-principles.org > Microservices can only be deployed

    independently … > ... if pipelines are independent 6 | Independent Continuous Delivery Pipeline
  9. Creator: INNOQ | http://isa-principles.org > Standardize e.g. configuration … or

    log interface > Do not standardize the library! 8 | Standards: Interface only
  10. Creator: INNOQ | http://isa-principles.org Independent System Architecture Container Modules Macro

    / Micro Architecture Independent Continuous Delivery Pipeline Resilience Integration Communication Standardized Operations Standards: Interface only
  11. Replaceability > Small components hard to mess up > Each

    module can be replaced > …small green field project > ...different technology stack possible
  12. Build Pipeline for Microservices > Smaller > Easier to set

    up > Less features (3rd party systems) > Faster Feedback: Less tests
  13. Decoupled Development Decoupled Scalability Decoupled Technical decisions Decoupled Crashes Security

    Architecture Firewalls Replaceability Continuous Delivery Technological Benefits
  14. Inverse Conway Maneuver > Architecture drives organization > Cross-functional team

    (database, logic, UI) > Team responsible for Bounded Context(s)
  15. Consistency Order Invoice Delivery Order #42 is cancelled! ✅ ✅

    ⁉ Goods might be delivered if order arrives after cancellation.
  16. Refactoring > Move code to a new service: Easy >

    Move code from service to service > Might be a port to a different language > Hard
  17. Global Refactoring > Really hard: Global restructuring > i.e. moving

    everything to a different place. > …but that is always hard… > ...and the result of a major screw-up. > Do you want to optimize for this?
  18. Many New Technologies > Microservices framework > Service discovery >

    Routing / API Gateway > Continuous Delivery pipeline > Docker > Docker scheduler (Kubernetes) > ....
  19. Decoupled Development -- Decoupled Scalability + Decoupled Technical decisions +

    Decoupled Crashes + Security - Architecture Firewalls - Replaceability -- Continuous Delivery - Technological Benefits
  20. Layered: Issues > Changing a business process cause many changes

    > …in frontends and many backends > Lots of communication between teams and components
  21. Decoupled Development - Decoupled Scalability - Decoupled Technical decisions ++

    Decoupled Crashes + Security + Architecture Firewalls + Replaceability + Continuous Delivery - Technological Benefits
  22. Bounded Context > Domain model is only valid for one

    context > There is no universal data model! > See all failed SOA attempts
  23. Order Shipping address Tracking # Items Item Categories Priority shipping

    Customs # Account # ... Credit card # Order # Customs Order Recommen- dations Order Tracking Order Shipping address Tracking # Item Categories Priority shipping Customs # Payment Order Account # Credit card #
  24. Decoupled Development ++ Decoupled Scalability ++ Decoupled Technical decisions ++

    Decoupled Crashes ++ Security ++ Architecture Firewalls + Replaceability + Continuous Delivery ++ Technological Benefits
  25. Decoupled Development + Decoupled Scalability -- Decoupled Technical decisions --

    Decoupled Crashes -- Security -- Architecture Firewalls ++ Replaceability + Continuous Delivery + Technological Benefits
  26. Conclusion > Microservices: set of architecture decision > Independent System

    Architecture > Architecture is about trade-offs > Architecture is different for each project > Go beyond microservices by picking the best decisions! > …and gain most benefits
  27. Usually good tradeoffs > SCS, Bounded Context, Microlith > Bounded

    Context in a deployment monolith > Strongly separated modules in a deployment monolith
  28. EMail [email protected] to get: Slides + Microservices Primer + Microservices

    Rezepte + Sample Microservices Book + Sample of Continuous Delivery Book Powered by Amazon Lambda & Microservices

More Decks by Eberhard Wolff

Other Decks in Programming