From the end customer view, the main purposes of having programmable networks are:
- Expose Network As A Service (NaaS) to end users and applications
- Getting (ideally vendor-neutral) means to automate operations (network management)
NaaS model abstracts business benefits from implementations details. Different in/out sourcing models, disintegration cases are easier to implement. It makes service consumption more transparent and controllable.
Automation makes scaling less expensive and support of the network infrastructure more efficient.