What do you think of when you hear "microservices?"

How do I design a system with microservices?

  • RESTful APIs

  • Autoscaling

  • Orchestration (Kubernetes, etc.)

  • Aggregated logging

  • Unified notification system

  • Integration testing

What about software architecture patterns?!?

Microservices basics:

Dev

Ops

Loose Coupling

A change to one service should not require a change to another.

High Cohesion

We want related behavior to sit together, and unrelated behavior to sit elsewhere.

Orchestration vs Choreography

Point-to-point connection between services

vs.

Each service is observing its environment (message bus) and acts on events autonomously

BFFs

Backends for Frontends

Confused Deputy Problem

A confused deputy is a computer program that is innocently fooled by some other party into misusing its authority.

How do we manage authorization for downstream microservices?

Coming soon:

Made with Slides.com