Architecture of one my cloud solution using Microservices with AWS Components

Components Leveraged :

Jenkins/GitHub/EC2

Source code versioned with  GitHub , built with the Jenkins server running in  AWS EC2 instance for continuous integration on every commit to the GitHub repository, using web hook.

Domain​ ​Registration:
Route​ ​53​ is used for public domain registration.

Amazon ECS
Deployed services as docker container in ECS clusters by creating required task definitions with required  configurations.

API Gateway:
Gateway for accessing the micro services deployed with in ECS .

Elastic Load Balancing:
Helps in balancing the incoming traffic to the system.

Amazon Cloudfront:
Web application deployed with cloudfront distribution for faster retrieval of images. Cloud front makes use of edge locations for better performance.

AWS Lambda:
integrated with cloudwatch. Used for invalidating the cache in cloudfront , when a new image is stored in S3 Bucket.

SNS:
Cloud based pub/sub messaging service used for sending the notifications and alarm when the system is unhealthy to the management.

IAM:
Used for authorized access for various AWS services and resources.

Cloudwatch:
Used for monitoring various cloud services deployed as part of the system.

Lex and Poly:
Used for chat bot services of the application. Lex provides interface with social channels like facebook. Poly used for text to voice service in the application.

S3:
Frequently accessed images stored in S3, on the other end old images are stored in glacier for audit purpose.

Leave a comment