Cloud computing has attracted significant attention due to the increasing demand for low-cost, high performance, and energy-efficient computing. Profit maximization for the cloud service provider (CSP) is a key objective in the large-scale, heterogeneous, and multi-user environment of a cloud system. This paper addresses the problem of minimizing the operation cost of a cloud system by maximizing its energy efficiency while ensuring that user deadlines as defined in Service Level Agreements are met. The workload in the cloud system can be modeled as independent batch requests or as task graphs with dependencies. This paper adopts the latter modeling approach, which provides more opportunities for energy and performance optimizations, thus enabling the CSP to meet user deadlines at lower operation costs. However, these optimizations require additional supporting efforts e.g., resource provisioning, virtual machine placement, and task scheduling, which are addressed in a holistic manner in the proposed framework. In the envisioned cloud environment, users can construct their own services and applications based on the available set of virtual machines, but are relieved from the burden of resource provisioning and task scheduling. The CSP will then exploit data parallelism in user workloads to create an energy and deadline-aware cloud platform.