Core Principles - BCGDV/lon-kinbal GitHub Wiki
- In it's simplest form, DVLV provides infra to deploy docker containers to AWS
- DVLV aims to enable productivity whilst keeping out the way by having a small number of strong opinions.
- DVLV is split into a core and add-ons structure to enable composition and remain open for extension.
- DVLV should provide the facility to create n identical environments (e.g. staging, production).
- DVLV should provide the facility for a complete local developer environment matching deployed environments.
- DVLV should not prescribe architectural patterns but provide simple, clear routes to common patterns (monolith, microservices, persistence, events, caching etc.)
Core
The core provides IaC (Terraform) to stand up
- VPC
- Kubernetes cluster (EKS)
Add Ons
Microservices - wip
DVLV does not dictate architectural decisions out the box, but aims to provide
"I love where this is heading. My goto is one DB with a separate schema per service. One code base with services separated by namespaces (and some test rules in place to stop cross namespace calls). Fake in-memory async queues and API endpoints between services to mimic distributed comms. I feel it gives a nice balance between speed of development (and the quick refactoring you need in the early days) and service boundaries. " - Robin Weston