La idea de proporcionar la informática como una utilidad se ha convertido en una realidad hoy en día con la llegada de la computación en la nube. La Infraestructura de la Nube como un Servicio (IaaS) permite al usuario de la nube utilizar servicios en un entorno flexible. Las aplicaciones de computación intensiva y las aplicaciones de datos intensivos utilizan los recursos de la nube. Estas aplicaciones están representadas por flujos de trabajo o Gráficos Acíclicos Dirigidos (DAG). La programación de flujos de trabajo es un tema complejo en IaaS porque se deben considerar múltiples parámetros de programación para satisfacer los parámetros de Calidad de Servicio. Las estrategias de programación basadas en la heurística y la meta-heurística deben ser concebidas para lograr soluciones casi óptimas dentro del tiempo polinomial. En este libro se proponen diversos algoritmos de programación.