A Gentle Introduction
to Microservices
In short, the microservice architectural style is an approach to
developing a single application as a suite of small services,
each running in its own process and communicating with
lightweight mechanisms, often an HTTP resource API. These
services are built around business capabilities and
independently deployable by fully automated deployment
machinery. There is a bare minimum of centralized
management of these services, which may be written in
different programming languages and use different data storage
technologies.
-- James Lewis and Martin Fowler
a suite of small services, each running in its own process,
built around business capabilities and independently
deployable.
In short...
architectural style
not a technology
not a platform
not a "stack"
not a design pattern
great...they're nothing
but they're everything
they are small services
how small?
small
small-ish
sizing is hard
bounded context
aggregate root
encapsulated
isolated
stand alone
and
operate on its own
stand alone
each microservice gets...
it's own
execution process
WebAPI
(in its own app pool)
self hosted service
windows service
Azure process
shut down test
the data store
shut down test
what did it affect?
data store coupling
At least
maybe 2
or 3
never <1
each microservice
is an application
microservice
data
store
data
store
data
store
1 microservice : 1 repo
isolation
1 microservice : 1 deployment
fast and often
communication
2 types
public comms
REST
service-to-service
comms
REST?
messaging?
other?
pick
apply it consistently
Your Application
Products
Inventory
Customer
Management
Sales
Shipping
Employees
Procurement
Marketing
Invoicing
HTTP/REST
Communication Backplane
Thank you
donald.belcham@particular.net
@dbelcham
www.igloocoder.com/tags/microservices
www.github.com/dbelcham/microservice-material
Q&A

Microservices: A Gentle Introduction