The Autoscaler service provides on-demand scaling of services, allowing you to efficiently dedicate resources where they are needed most in your Docker Swarm cluster, and minimizing costs and ensuring user satisfaction. The Autoscaler is an extensible framework, which allows you to provide your own modules to retrieve services to scale, metrics to make scaling decisions and instigate a scaling action. The Autoscaler service provides a source for Swarm that identifies services to scale using Swarm labels. A RabbitMQ workload analyzer retrieves details of RabbitMQ queues to make scaling decisions. A Docker Swarm application scaler issues commands to the swarm REST API to scale up and down a service.