vice B, and Application C hosting services C and D. In order to execute its function, Application A would need information from Application C; hence, Application C produces the information via Service C, consumed by Application A. Similarly, in order to execute its functionality, Application B would need information from Application C, which is provided by service D. Hence, consumer B consumes the services provided by service D hosted in application. Service-based architecture Application C Application A Application B Service Producer Service Consumer A Service Consumer B Service C Service D Service Consumer A, hosted by Application A, Service Consumer B, hosted by Application B, consumers the service provided by Service consumes the service provided by Service Producer - Service C, hosted by Application C Producer - Service D, hosted by Application C Figure 3.3 - The producer-consumer model Note that an application can host any number of service producers or consumers. To extend this concept to a 5G example, we could say that the Session Management Function (SMF) would consume the SM policy services produced by the Policy Control Function (PCF), as shown in Figure 3.4: SMF (Consumer) PCF (Producer) SM Policy Control Figure 3.4 - SMF-PCF SM policy control We will go into more detail about the services provided and consumed by the 5G NFs in the upcoming sections. To summarize the concepts we have covered SO far, an SBA is a system architecture, in which the functionality of the system is achieved by a set of NFs providing services to other NFs that are authorized to access those services. A network function service is basically a particular capability exposed by a network function (service producer) to another authorized network function (service consumer). Each network function can have one or more services. In the next section, we will learn about REST, its principles, and the way it applies to 5G. Building Blocks - Cloud Native Infrastructure What is REST? REST is a style of software architecture and uses a sub