@eq8/mvp
Microservice Viable Platform
A scalable and extensible platform for multi-tenant web based enterprise applications
Problems
Speed
Maintainability
Scalability
Speed
Maintainability
Scalability
Goal
Faster and more releases by providing a shared platform that:
Reduces the scope of releases
Allows continuous deployment of releases
Scale as needed
Strategy
Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.
Decompose and inline with the organization
Decompose and inline with the domain
Strategy (cont'd)
How will we interact with the system?
CQRS
Event Sourcing
Strategy (cont'd)
How to decouple the implementation?
Out-of-Process
Service Locator
Message-based
Microservices
Placeholder
In-Process
Dependency Injection
Plugins
placeholder
Strategy (cont'd)
How does the infrastructure look?
Architecture
Clusters
Services
Microservices
Clusters
Docker
Serverless
Stores
Services
Shared Services
Backing Services
Replicated Services
Microservices
Serverless
Monorepo
Summary
How does it make it faster to release?
Automates all things
Partitioning: work, code, releases
Versioning: API, configuration, data
Deployment: continuous integration/deployment
Scaling: provisioning, replicas
Documentation: API / Release
Caveats
Risks: WIP / Training
Performance
Operational Complexity
Next Steps