This document presents a policy-driven architecture for effective service allocation in cloud environments. It begins with an introduction to cloud computing and discusses challenges of scheduling client requests and allocating services as the number of clients increases. It then reviews previous research on resource allocation and process scheduling in distributed cloud systems. The paper proposes a service allocation model and policy-based architecture to address these challenges through effective identification of cloud and client characteristics. This would allow for reliable and efficient allocation of services to clients. The conclusion discusses evaluating the proposed architecture.