If you have used micro service architecture, you might be visualising that your solution is going to be complex. You are right. If fact, it is like jigsaw puzzle. Here, pieces of this jigsaw puzzle are micro services. They are scattered across multiple physical machines. Similar to jigsaw puzzle solving activity, you need to match pieces. Your situation is like solving hard jigsaw puzzle. You may ask why hard? It is due to followings reasons
Micro services can be in very large numbers. So, you need to solve jigsaw puzzle of thousands of pieces
Microservices can be distributed across multiple machines. So, now you have additional task of performing networking among jigsaw pieces
Location of micro-services can change dynamically. So, now you have additional task of tracking them.
Now you must be thinking, how to solve this puzzle. This article helps in this regard.
Let us revisit above 3 points
Micro services can be in very large numbers. So, you need to solve jigsaw puzzle of thousands of pieces
Load balancer glues similar micro services with single entry point. So, it helps to reduces the complexity in terms of number of pieces
Microservices can be distributed across multiple machines. So, now you have additional task of performing networking among jigsaw pieces
Orchestration tools help in this regard
Location of micro-services can change dynamically. So, now you have addtional task of tracking them.
Service discovery feature helps in this regard
Additionally, you need to handle following
Scaling as per load
Load balancer helps
Secure and authenticated access
Secure gateway points help
Ability to troubleshoot and debug
Visibility support specific to metric, alert, logs help. Orchestration tool helps in this regard.
Kubernetes
Istio
Mesos marathon
Docker swarm
Citrix Netscaler (CPX)
Envoy
Haproxy
Nginx
Riemann
Splunk
Prometheus
Istio
Citrix Gateway
Pulse secure gateway
https://insights.sei.cmu.edu/saturn/2015/11/defining-microservices.html
https://insights.sei.cmu.edu/saturn/2015/11/microservices-beyond-the-hype-what-you-gain-and-what-you-lose.html
https://kubernetes.io
https://istio.io
https://www.envoyproxy.io
http://riemann.io