  To adapt to continuously changing workloads in networks, components of the
running network services may need to be replicated (scaling the network
service) and allocated to physical resources (placement) dynamically, also
necessitating dynamic re-routing of flows between service components. In this
paper, we propose JASPER, a fully automated approach to jointly optimizing
scaling, placement, and routing for complex network services, consisting of
multiple (virtualized) components. JASPER handles multiple network services
that share the same substrate network; services can be dynamically added or
removed and dynamic workload changes are handled. Our approach lets service
designers specify their services on a high level of abstraction using service
templates. From the service templates and a description of the substrate
network, JASPER automatically makes scaling, placement and routing decisions,
enabling quick reaction to changes. We formalize the problem, analyze its
complexity, and develop two algorithms to solve it. Extensive empirical results
show the applicability and effectiveness of the proposed approach.
