With the proliferation of the cloud computing paradigm, there is an increasing need to build sophisticated networks in a timely manner and adapt to dynamic business requirements. To meet these requirements, the artifacts in the network, such as the network topology, IP addresses, security policies, and routing rules, need to be scalable, elastic, and easy to be customized. In this project, we plan to use the software defined network (SDN) as the key technology to construct a virtual laboratory environment, which can handle the special requirements of a complex network. We will use CloudLab to setup different domains and build a scalable network. In addition, we will use the programming languages, such as Python, Java, C, and Bash, to implement the key functionalities of the system, such as setting up the security policies and changing the routing rules.