Software-Defined Networking (SDN) has been widely recognized as a promising way to deploy new services and protocols in future networks. The programmability and control offered by SDN networks enables users and applications to define virtually every aspect of the network architecture. Unfortunately, this flexibility comes at a cost - a cost that has the potential to significantly limit its adoption. First, in order to offer complete flexibility, today's SDN networks provide low-level API's on which almost any type of service can be written. In the process, it can actually become more difficult to implement the higher level complex services needed by future networks. Second, emerging SDN networks exhibit a heterogeneity reminiscent of the early Internet, with limited ability to piece together the various SDN platforms being deployed. In this paper we propose a new way to construct SDN net- works consisting of multiple SDN providers offering virtualizable networking resources across the Internet. At the heart of our approach is a Network Hypervisor service that is capable of internetworking various SDN providers together. Moreover, our Network Hypervisor builds on the low-level APIs provided by SDNs to create a unified set of high-level abstractions and APIs that greatly simplify the task of building and deploying complex network services over SDN.