About Policy Design Experience

Policy design experience allows an operator to craft and deploy, from scratch, operator policies in production in very less time. 5G brings the policy design experience to the next level by providing flexibility, extensibility, modularization, and assurance to the operator to rapidly, yet confidently deploy new operator policies and enable use cases more faster.

The Policy and Charging Rules Function (PCRF) packages its micro-services into containers and leverages Kubernetes' constructs and abstractions such as Pods, ReplicaSets, and services so it can enable Kubernetes to manage and orchestrate the PCRF. It also leverages Istio as a service mesh (including Envoy proxies as sidecars) for the internal communication amongst the various micro-services. The Oracle PCRF integrates with a variety of common services for data collection, analysis, and visualization services for operational aspects like logs, metrics, and traces. The Oracle 5G PCRF comprises artifacts like Helm charts that encapsulate lifecycle instructions and resource dependencies for all member components.

The Oracle PCRF is flexible to run in various cloud-native environments. The PCRF can be configured to leverage common services provided by the cloud-native environment and/or provide its own set if certain common services aren't provided by the underlying environment.

The following figure highlights the various components used by the policy design and run-time:

Figure 4-1 Policy Design Experience



Design

  • Modular and flexible domain driven policy design
  • Modules encompasses data model, triggers, conditions and actions
  • Modules can be designed via a GUI (very intuitive, can be used by anyone) and allows any language supported by JVM for advances cases if needed (e.g. Java, Groovy, etc)
  • Pre-packaged modules provided by Oracle
  • Modules can be extended or built by operators

Run-time

  • Run-time engine service to expose APIs
  • Run-time engine service to be stateless and independently scalable
  • Newly designed policies or policy updates can be rolled out in an incremental fashion (e.g. to a specific set of policy run-time engines) to enable canary releases and ensure updates are working as expected before being rolled out globally

Debugging and testing

  • Debugging policy logic capability as a complementary tool to the design experience
  • Automated testing framework to enable regression and validation of policy logic and modules before deployment