As the number and variety of applications and workloads moving to the cloud grows, networking capabilities have become increasingly important. Over a brief period, networking support offered by both cloud service providers and cloud controller platforms has developed rapidly. In most of these cloud networking service models, however, users must configure a variety of network-layer constructs such as switches, subnets, and ACLs, which can then be used by their cloud applications. In this article, we argue for a service-level network model that provides higher- level connectivity and policy abstractions that are integral parts of cloud applications. Moreover, the emergence of the software-defined networking (SDN) paradigm provides a new opportunity to closely integrate application provisioning in the cloud with the network through programmable interfaces and automation. We describe the architecture and implementation of Meridian, an SDN controller platform that supports a service-level model for application networking in clouds. We discuss some of the key challenges in the design and implementation, including how to efficiently handle dynamic updates to virtual networks, orchestration of network tasks on a large set of devices, and how Meridian can be integrated with multiple cloud controllers.