Architecting Microsoft Azure: Virtual Machines