ordinate, authorize, release, and engage NFVI resources independently of any specific VIM. It also provides governance of VNF instances sharing resources of the NFVI (27, n.d.). Some of the functions that are typically performed by an NFV orchestrator are Service coordination and instantiation: The orchestration software must communicate with the underlying NFV platform to instantiate a service, which means it creates the virtual instance of a service on the platform. Service chaining: Enables a service to be cloned and multiplied to scale for either a single customer or many customers. Scaling services: When more services are added, finding and managing sufficient resources to deliver the service. Service monitoring: Tracks the performance of the platform and resources to make sure they are adequate to provide for good service (26, n.d.). In many service provider networks, Open Network Automation Platform (ONAP) serves as OpenStack's orchestration solution for network cloud services. ONAP provides high utilization of network resources by combining dynamic, policy-enforced functions for component and work- load shaping, placement, execution, and administration. These functions are built into the ONAP platform and utilize the network cloud. When combined, these provide a unique level of opera- tional and administrative capabilities for workloads that run natively within the ecosystem. 4.3 BUILDING AN NFVI SOLUTION In order to fully realize the lower cost and increased flexibility of NFVI and internal cloud network- ing, fundamental operational changes are necessary and a set of new strategic philosophies should be put in place to successfully build and deploy an NFVI solution. 4.3.1 OPERATIONAL CHANGES 4.3.1.1 Agile Agile software development describes a set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross- functional teams. It promotes adaptive planning, evolutionary development, early delivery, and Network Functions Vir