Nearly every high scale system becomes distributed at some point: a collection of many instances and services that compose the solution you provide. And as you scale horizontally to provide High Availability, better load distribution, etc, you find yourself spinning up multiple instances of services, or using systems that function in a clustered architecture. That’s all cool in theory, but soon you ask yourself, “How do I manage all of this? How should these services communicate with each other? And how do they even know what instances (or machines) exist?”
read more here
Monday, October 12, 2015