It's not necessary for most applications, but it's extremely helpful for some. It can also be used to realize deployment scenarios where you cluster across clouds very easily provided you ensure connections are secure between nodes/containers/services.