This paper provides an optimal approach to satisfy cloud user requests and schedule resources within cloud computing environment. The paper exploits the market concept into the interaction among the Software as a Service (SaaS) services providers, service users and cloud infrastructures suppliers. The paper formulates SaaS solution as multiple optimal problems. The proposed model takes into account the SaaS user constraints, the SaaS provider constraints, and VM constraints in respect to the VM and physical machine owners/providers. It considers constraints such as SaaS user budget and deadline, SaaS provider profit, and cloud resource provider profit, as well as viewing the SaaS provider as both as resource provider and consumer.