Microservices is a service-oriented architecture pattern wherein applications are built as a collection of various smallest independent service units.
They get their name because each function of the application operates as an independent service.
This architecture allows for each service to scale or update without disrupting other services in the application.
Example for e-Commerce Microservice:
In Below architecture diagram explained implementing simple Microservice module.Advantages of Microservices:
- Microservices are self-contained, independent deployment module and independently manageable services.
- Change or upgrade each service individually rather than upgrading in the entire application.
- Enable easy integration
- Less dependency and easy to test.
- Dynamic scaling.
- Faster release cycle.
- Microservices has all the associated complexities of the distributed system.
- There is a higher chance of failure during communication between different services.
- Difficult to manage a large number of services.
- The developer needs to solve the problem, such as network latency and load balancing.
- Complex testing over a distributed environment.
How Cloud (AWS) helps deploying and running Microservice based applications?
Computing power: AWS EC2 Elastic Container Service and AWS Lambda Serverless Computing
Storage: Secure Storage (Amazon S3) and Amazon ElastiCache
Databases: Amazon RDB, Amazon Aurora, Amazon DynamoDB
Networking: Amazon Service Discovery and AWS App Mesh, AWS Elastic Load Balancing, Amazon API Gateway and AWS Route 53 for DNS
Messaging: Amazon SQS for message queuing and SNS for publishing and notifications
Monitoring: AWS Cloudtrail for API monitoring and Amazon CloudWatch for infrastructure monitoring
DevOps and CI/CD: Amazon Container Image Repository (Amazon ECR) and other DevOps tools for enabling CI/CD workflows.
Comments
Post a Comment