  In conventional large-scale networks, creation and management of network
services are costly and complex tasks that often consume a lot of resources,
including time and manpower. Network softwarization and network function
virtualization have been introduced to tackle these problems. They replace the
hardware-based network service components and network control mechanisms with
software components running on general-purpose hardware, aiming at decreasing
costs and complexity of implementing new services, maintaining the implemented
services, and managing available resources in service provisioning platforms
and underlying infrastructures. To experience the full potential of these
approaches, innovative development support tools and service provisioning
environments are needed. To answer these needs, we introduce the SONATA
architecture, a service programming, orchestration, and management framework.
We present a development toolchain for virtualized network services, fully
integrated with a service platform and orchestration system. We motivate the
modular and flexible architecture of our system and discuss its main components
and features, such as function- and service-specific managers that allow fine-
grained service management, slicing support to facilitate multi-tenancy,
recursiveness for improved scalability, and full-featured DevOps support.
