Integrate with external systems by encapsulating the inbound and outbound inter-system communication within a bounded isolated component to provide an anti-corruption layer that acts as a bridge to exchange events between the systems.
Systems often need to integrate with an external system, such as Stripe for payment processing, SendGrid for transactional emails, AWS Cognito for user authentication, or a custom system. Our cloud-native systems are composed of bounded isolated components, which provide proper bulkheads to make the components responsive, resilient, and elastic. The isolation is achieved via asynchronous inter-component communication. We aim to eliminate all synchronous inter-component communication. External systems provide an Open API for inbound and outbound communication with other systems.
Integrating with an external system is inherently risky because they are typically owned by a third party and thus not within your...