Cloud computing has become the third revolution of the Internet. In the beginning, cloud computing was confined to small-scaled datacenters with homogeneous resources and architectures but now it has evolved into large and distributed system with heterogeneous servers, requiring much more complex resource management methods than before. Some experiments are extremely difficult to conduct in real-world situations, thus simulation is needed. In this project, a cloud resource-management simulation model is built using the agent-based modeling method, which is primarily used in natural, social and engineered systems to cope with complex situations through abstract agent-to-agent and agent-to-environment interactions. Major cloud components (e.g. servers, services, and scheduler) are be treated as different types of agent in the simulator. The simulation targets mainly focuses on how different service placement algorithms affect the overall performance(power consumption, resource utilization and SLA violations) of both homogeneous and heterogeneous cloud environments.