Today we live in a World-as-a-Service society, where electronic services are used everywhere, to support from large collaborations to ever more scalable business applications. In this era, specific service capabilities such as dependability and availability are more than ever needed to sustain ever more critical business- and service-oriented quality metrics. For example, today businesses need to know they can rely on a banking service called from used inside a complex client-oriented application. Service composition could not work unless services can reliably expect results from one another. In this context, we present a load-balancing metric designed to provide increased levels of availability for a wide-range of services running inside globally-scale distributed environments. We propose the use of "`service containers"', special mechanisms designed to encapsulate sets of replicated and distributed services. These mechanisms make faults transparent for the end-user based on smart decisions based on monitored information and specific metrics. We propose a set of service-oriented metrics designed to increase the use of resources in such a distributed approach. The proposed container-based approach is part of an architecture designed to increase dependability (resilience, fault tolerance, security) of a wide-range of distributed systems. We present evaluation experiments over real-world scenarios. We show how the proposed container-based mechanism can not only deliver increased tolerance to failures, but also it leads to improvements in the time-of-response, scalability or load-balancing. The solution is able to cope with various scenarios involving different failure-injection patterns in the system. The novelty of proposed solution is represented by the new metric for multi-criteria load-balancing within a fault tolerant distributed environment based on replication.