Software-defined Cloud Technologies