Skip to content

Micro Services architecture

  • We want to switch to a [[micro-service architecture]]
  • Many services interact with each other directly using a [[REST API]]
  • Each architecture for each micro service may vary in form and shape
  • We want a [[micro-service architecture]] so we can have a leaner [[development lifecycle]] for each service.

Discussions on Micro Services

  • You are free to design each [[micro-service]] the way you want
  • Synchronous patterns: AWS API Gateway, [[Load Balancer]]s
  • Asynchronous patterns: AWS SQS, Kinesis, AWS SNS, [[Lambda Triggers]] (S3)
  • Challenges with micro-services:
    • Repeated [[overhead for creating each new microservice]]
    • Issues with [[optimizing server density, utilizaion]]
    • Complexity of [[running multiple versions of multiple micro-services simultaneously]]
    • [[proliferation of client-side code requirements to integrate with many seperate services]].
  • Some of the challenges are solved by Serverless patterns:
    • AWS API Gateway, AWS Lambda scale automatically and you pay per usage
    • You can easily clone [[API]], [[reproduce environments]]
    • [[Generate client SDK through Swagger integration for the API Gateway]]