Dynamic chaining of Virtual Network Functions in cloud-based edge networks