A ideia de fornecer computação como uma utilidade tornou-se uma realidade hoje com o advento da computação em nuvem. A Infraestrutura de Nuvem como Serviço (IaaS) permite que o usuário da nuvem utilize serviços em um ambiente flexível. As aplicações computacionalmente intensivas e as aplicações de dados intensivas utilizam os recursos da Nuvem. Essas aplicações são representadas por fluxos de trabalho ou gráficos acíclicos direcionados (DAG). O agendamento de fluxos de trabalho é uma questão complexa no IaaS porque vários parâmetros de agendamento devem ser considerados para satisfazer os parâmetros de Qualidade de Serviço. As estratégias de programação baseadas em heurísticas e meta-heurísticas devem ser concebidas para alcançar soluções quase ideais dentro do tempo polinomial. Neste livro, uma variedade de algoritmos de agendamento são propostos.