PASCAL: An architecture for proactive auto-scaling of distributed services