Tech Event Sourcing and CQRS: Designing Microservices that Store Changes as Events and Separate Read/Write Models