Saturday, February 25, 2017

MicroServices Aspects


Microservices gives to ability to develop and deploy modules independent of each other with features like fault tolerance , availability  and auto-scaling .

Mostly is manageable  module deployed behind web services which has its own separate storage and compute.
 Most of time these are deployed as cluster behind load balancer like NGINX reverse proxy .
Nodes or containers could come and go as per load on system .

Two services should talk to each other through contracts like  REST/SOAP APIs. As long as they are providing required fields for request it does not matter how it is implemented .

For time taking process they may have their own queue or message broker for different nodes of same service .

Typical micro-services have or they use following modules

  1. Web service APIs
  2. Authentication and Authorization / Identity  (HTTP Basic , Outh)
  3. Configuration/Credentials /Tokens etc .
  4. Message Broker or Queue 
  5. Caching 
  6. Storage (SQL/NOSQL/File) 
  7. Validator 
  8. Logging , Audit Trails , Performance Metrics 
Infrastructure

  1. Deployment could be in containers like dockers or kubernete. 
  2. Auto-Scaling  
  3. Rate Limiting 


No comments: