Software architecture is the process of converting software characteristics such as flexibility, scalability, feasibility, reusability, and security into a structured solution that meets the technical and business expectations.
Good architecture is important, otherwise, it becomes slower and more expensive to add new capabilities in the future. At Awarious we strongly believe in this and we built a solid framework which abides strict solid principles.
The read side can use a schema that is optimized for queries, while the write side uses a schema that is optimized for updates.
Awarious framework supports OAuth 2.0 security out of the box, and any new application can implement custom role based security with cheaper cost.
Awarious framework supports message based communication between microservices using Azure Service Bus. The framework has the capability to support other message brokers too.
Awarious framework ensures every changes to the state of an application is captured in an event object. This helps the application to reconstruct an object to a specific point of time.
Segregating the read and write sides can result in models that are more maintainable and flexible. Most of the complex business logic goes into the write model. The read model can be relatively simple.
The read side can use a schema that is optimized for queries, while the write side uses a schema that is optimized for updates.
It's easier to ensure that only the right domain entities are performing writes on the data.