Scientific workflow applications are deployed to run extensive volumes of data and to manage comprehensive observations and simulations. They are resource-intensive and time-utilizing applications that profit from processing in distributed environments. Especially, workflow applications can highly support the simple access, scalability, and affordability provided by cloud computing. To attain this, disruptive and well-planned operation of managing the workflow tasks and running the compute pool in a cost-effective mode essential to be evolved. We present an adaptive resource provisioning and scheduling algorithm for scientific workflows on Infrastructure as a Service (IaaS) clouds. Our approach was planned to deal challenges especially to clouds, such as unlimited on-demand access, heterogeneity, performance variation and pay-per-use type (i.e., per minute billing). To correspondingly efficient to these uncertainties of cloud, therefore, our approach was developed with consider these necessary problems to run, and is achievable in making effective solutions that satisfy a user-described deadline and reduce the spending cost of the utilized environment using the service of resource provisioning and scheduling. Finally, experimental results show that it executes a workflow effectively with regard to achieving deadline and minimizing cost than other advanced algorithms.