- provides additional layer of security to attack surface
- must run in limited privileges
- no business logic in gatekeeper
- SSL offloading/termination (improve performance)
- latency is expected due to additional layer
- single point of failure
- use when sensitive info to be handled
- use when request validation in dist apps
- Ex: APIGW & WAF
- like load balancer
- Use when client needs to communicate with multiple backend services to perform an operation
- Use when client may use networks with significant latency, such as cellular networks
- load balancer with TLS termination
- LB must be highly avail & scalable
- Use when shared concern such as SSL certificates or encryption
- Use when move security responsibility to other teams
- simplify client applications by using a single endpoint
- use when client needs to consume multiple services
- use when external requests needs multiple endpoints
- example ALB, IngressController
- process high priority requests quickly
- define priorities, muliple queues
- need monitoring, scale it & requires cost
- use when multiple tasks with priority
- example is SQS
- Publisher, message broker and subscriber
- decouples,scalabile, reliable, async, scheduled processing
- simple to integrate multile systems (suscribers)
- use when broadcast information
- use when near real time sending of info to muliple consumers
- use when eventual consistency model
- message queue one way communication
- queue is in between service and database
- use when app uses services & need overloading
- example is SQS
- client makes sync call to API,
- API responds quickly(202)
- then API callback another service and returns 302(found) & then URI
- use in browser applications and async reply
- example SQS
- if single app expose multiple services and excessive load
- partiion the service instance to multiple groups
- isolate critical consumers
- can use with retry and circuit breaker
- sending the request one more time if transient failures
- Cancel, Retry & Retry after delay strategies
- https://docs.microsoft.com/en-us/azure/architecture/patterns/
- http://en.clouddesignpattern.org/index.php/Main_Page
- https://aws.amazon.com/architecture/reference-architecture-diagrams/?achp_addrcs5
- https://cloud.google.com/architecture?doctype=referencearchitecture
- https://www.codekarle.com/
- https://docs.aws.amazon.com/wellarchitected/latest/framework/the-pillars-of-the-framework.html
- https://www.awsgeek.com/