Policies are a familiar concept. They govern large organizations, like companies, schools and government entities. But policies also exist in systems to define how a system should behave and be configured, and to control the interactions of the system components with the outside environment. They express what a system needs to do under a given context or conditions.
ECOMP is responsible for the design, creation and life-cycle management of virtualized network functions (VNFs). One of its goals is to do this in a flexible, dynamic, policy-driven manner – letting users dynamically control ECOMP’s behavior without changing the system software. ECOMP’s policy component allows us to express, interpret and evaluate policies, and then pass them on to other ECOMP components or network elements for enforcement.
ECOMP policies capture the service provider’s intelligence – including proprietary domain knowledge related to how a service provider manages networks and services. One of ECOMP’s goals is to automate the life cycle of network-based services – including fault, performance and service management – via control loops. Control loops define how virtual machine (VM), VNF and service impairments are detected, isolated and resolved – either automatically via predefined techniques or through manual resolutions. As an example, a control loop policy might specify that if a VM is down or not responding (the signature), then the VM needs to be restarted (the response). The signatures and responses that define a control loop are specified as policies within ECOMP – these capture the operations domain knowledge regarding the automation that is to be enabled.
Policies oversee various aspects of ECOMP’s behavior, including:
- Service design – e.g., constraints regarding where to place VNFs
- VNF change management – e.g., how software rollouts should be scheduled across VNFs and what health checks should be performed to validate changes
- Management of the behavior of ECOMP components – e.g., how and when ECOMP should collect data, and how long ECOMP should be retain that data
ECOMP’s policy framework consists of the following modules:
- Policy creation: Enables policies to be specified by services designers and network operators via user interface and APIs
- Policy evaluation: Evaluates/executes applicable policies reactively (responds to a query) and proactively (evaluates a policy and triggers actions)
- Policy decision distribution: Distributes policy decisions to be enforced in other ECOMP components
- Policy validation: Validates policies, designed to minimize the risk of introducing bad policies into the ECOMP platform
There are many policy engine technologies in the industry, addressing different types of policies. For example, XACML enables access control, while Drools supports the construction, maintenance and enforcement of business policies. Given the diversity of ECOMP’s policy needs, the ECOMP policy framework uses multiple policy engines. However, supporting various policy engines requires these policies be decomposed and distributed from the common policy creation layer to the different policy engines, providing translation to the policy engine-specific languages along the way.
Figure 1: ECOMP policy component framework
ECOMP’s advanced automation facilitates operational efficiencies and faster and more consistent responses to network and service conditions. However, with automation comes risk. The policy framework thus uses a range of techniques to ensure “safe policies” – minimizing the risk associated with introducing policies that govern the automation that ECOMP enables. ECOMP uses advanced analytics to validate individual and combinations of policies before field deployment. Other mechanisms enable policies to be safely introduced into the system in a controlled fashion, and to retire expired policies. During runtime, guard rails limit the potential impact of inappropriate policies. For example, a guard rail may prevent too many VNFs from being taken out of service at a time, thereby impacting the network’s ability to carry traffic.
The policy framework empowers operators and designers to control ECOMP’s behavior. However, the domain knowledge captured in ECOMP policies is often distributed across many network operators and engineers, making it a challenge to collate. Machine learning comes to the rescue here by helping service providers automatically learn policies. In the case of control loops, machine learning enables signatures and responses to be automatically captured.
Jen Yates is an Assistant Vice President at AT&T Labs, heading the Networking and Service Quality Management Research organization.