Set Up NGINX Controller Services
Learn about the common tasks and resources that are required to deploy and manage Services using NGINX Controller.
As noted in the NGINX Controller API Overview, NGINX Controller is organized into four top-level areas:
- Analytics: Enables data visualization for NGINX Controller.
- Infrastructure: Lets you manage your NGINX Plus instances and certain aspects of the host machines on which NGINX Controller and NGINX Plus instances run.
- Platform: Lets you manage NGINX Controller options and configurations, including Users, Roles, Licenses, and Global Settings.
- Services: Lets you manage your applications and APIs.
The diagrams below demonstrate how the different objects at the Service level relate to each other:
- All Service objects are part of an Environment.
- Gateways and Certs can be defined at the Environment level –or– at the Component Level. The diagram below shows an example of how traffic flows through a Gateway to an App.
- Components are child objects that represent the back-end server(s) that host your App or API.
A Component can represent an application or an API. The same Component cannot be used for both App Delivery and API Management.
- Certs can be added to a Gateway or to an individual Component.
Just like in the NGINX Controller architecture, the Services section of these docs contains information you need to use NGINX Controller to deploy and manage Applications and APIs. But, before any teams can deploy an App or publish an API, an NGINX Controller Administrator needs to create the common resources that make both possible.
The following are the basic building blocks of any NGINX Controller Service:
- Environments logically group all other Service objects. You can use Access Management to grant Users or User Groups permission to access resources in a specific Environment.
- Certs can be used to secure traffic to and from APIs and Applications.
- Gateways define how to process incoming (ingress) and outgoing (egress) traffic.
Once these shared resources are in place, the teams in your organization can create the resources they need to manage Apps or publish APIs.
Refer to the App Delivery section for more information about how to use each module.
Finally, to support automation efforts, all of the above and more can be done by using the NGINX Controller REST API. Refer to the API Reference guide for more information and examples.