10 Fundamental Cloud-Native Architecture Patterns
Sidecar/Sidekick, Ambassador, Scatter/Gather, BFF, Anti-Corruption Layer, CQRS, Event Sourcing, Service Mesh, Dumb-Smart Components, Unidirectional Architecture
Software Architecting might take a slightly different approach in applications that are build in cloud-native environments. These applications are extensively built in forms of microservices. Beside that, these applications should be able to run in dynamically orchestrated and containerized environments in order to take advantage of cloud computing model.
Cloud native computing is an approach in software development that utilizes cloud computing to “build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds”.
The motivation behind software architecture in cloud environment is separation of concerns, especially for modularizing software components in containers. Following patterns help to achieve this purpose.
1.Sidecar/Sidekick…
This pattern is helpful if you want to abstract away some peripheral part of your main application in different microservice. This aids to result in independence between services, breaking tightly coupled components.