Microservices
Why and when you should consider it...
...And when you shouldn't.
Definition
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
About me
- Lead Engineer at 8 Securities
- Back-End development (mainly .NET, .NET Core)
- DevOps / Cloud Architecture and Web Services (Azure & AWS)
- Agile development and project management
What is a Monolith
Resources
Service Layer
Repositories
Data Mappers / ORMs
Gateways
Domain
Http Client

Simple design
Easy communications
Why need more...
What is a Monolith

...And it scales.
Load Balancer
Cons of Monolith
- Software
- Maintenance
- Stack / framework / language
- Hardware
- Slow and risky deployment
- Slow scaling
- Human
- Power centralization
- Bureaucracy
How To MicroService
Resources
Service Layer
Repositories
Data Mappers / ORMs
Gateways
Domain
Http Client
Ordering
Payment
Product
Shipment
How To MicroService
Ordering
Payment
Product
Shipment
Ordering
Payment
Product
Shipment
How To MicroService
Ordering
Payment
Product
Shipment
How To MicroService
Ordering
Payment
Product
Shipment
Product
Payment
Shipment
Shipment
Ordering
PROS of MICROSERVICES
- Software
- Less maintenance
- Independent stack / framework / language
- Hardware
- Independent / faster / safer deployment
- Independent / faster scaling
- Human
- Less power centralization
- Less bureaucracy
Cons of MICROSERVICES
- Software
- Asynchronous messaging needed
- Needs better software architect skills to set up
- Hardware
- Continuous deployment more complex to set up
- More network calls
- Needs better DevOps skills
- Human
- Migration might encounter resistance
- You might have to fire a few middle managers
CI/CD For MICROSERVICES

Build Server
Code Repo
Build
Run unit tests
Clone
Run integration tests
https://my.microservice.com/
Swap
Destroy
https://my.microservice.com/
Webhook
Microsoft - Microservices
By Ambroise Couissin
Microsoft - Microservices
- 94