Building Evolvable Distributed Systems for Dynamic Data Center Environments