Skip to main content

Microservices

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.
Advantages of Microservices:

  • 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

Popular posts from this blog

New way of product development

Today is the era of fast-paced world and competitive world. Companies are realizing that the old sequential approach to developing new products won’t get the job done and product can’t be reached to market when compared to competitors. The 4 stages of product development are as follows – R&D, Growth, Maturation, and Decline. Instead of sequential approach, companies are using holistic approach – as in rugby game, the ball gets passed within the team as it moves as a unit up the field. This holistic approach has six characteristics: 1)     Build-in-instability 2)   Self-organizing project teams 3)   Overlapping development phases 4)   Multi-learning 5)   Subtle (very clear and strong) control 6)   Organizational change to explore and learning The above six characteristics forming a fast and flexible process for new product development with advantage of act as a change agent, creative, market driven ideas, flexi...

Product Manager vs Product Owner

Both the product manager and the product owner work towards a common goal, to build and improve products that create meaningful value for customers and all stakeholders within the company. This usually happens by delivering and optimizing product features. Product Manager Product Owner The product manager discovers what users need, prioritizes what to build next, and rallies the team around a product roadmap. The product owner is responsible for maximizing the value of the product by creating and managing the product backlog. This person creates user stories for the development team and communicates the voice of the customer in the Scrum process.      Product Manager and Product Owner's work on below vacuum. Product manager focus on: Business Strategy Long term Product Vision Long term Product Strategy Product Roadmap Alignment with Product Owner Product owner focus on: Release Plan (Product Backlog ie: ...

Generative and Predictive AI - Artificial Intelligence

Generative and Predictive AI - Artificial Intelligence Generative AI: Generative AI (GenAI) is a type of artificial intelligence (AI) that can create new content.  GenAI learns patterns from training data and uses this knowledge to generate new outputs. The new outputs have similar characteristics to the training data, but they don't repeat it. GenAI can create a variety of content, including:  Images Videos Audio Text 3D models Music Speech Software code Product designs Here are some steps to build a GenAI: Benefits of GenAI: Makes informed decision Content creation and inspection Personalized experience Improved efficiency Automaton friendly Virtual guidance Disadvantages of GenAI: Generative AI can raise ethical questions about privacy, intellectual property, and misinformation. Generative AI models depend on the quality and diversity of their training data. Generative AI can't be completely trusted due to Incorrect facts and biased information. Generative AI is not me...