Monolithic vs Microservices
- Easy/Hard vs Simple/Complex
- Monolithic
- Complex / Easy
- Language / Framework modularity
- Fewer scaling vectors
- Long-term commitment to tech stack
- coupled changes make harder deploys
- hard to scale dev
- Microservice
- Simple / Hard
- for continuous delivery
- 12 factor apps
- diversity of clients (mobile, desktop, devices)
- modularity based on services
- uncoupled changes enable frequent deploys
- more scaling vectors
- dev friendly
- easier to scale dev
- no long term commitment to tech stack
Microservices with Spring Boot
- partition strategies
- Noun (product info service)
- Verb (shipping service)
- Single Responsibility Principle
- Bounded Context
- Polyglot persistence
- Unix pipes and filters
- Choreography vs Orchestration
No Man (Microservice) is an Island
- No free lunch
- Ops overhead
- Substantial Devops Skills required
- Implicit interfaces
- Duplication of effort
- Distributed System complexity
- Asynchronicity is difficult
- Testability chalenges
Spring CLI Support http command is from httpie.org
[Read More]