Routes incoming traffic to the appropriate component, usually the Cloud Controller or a running application on a DEA node.
The OAuth2 server and Login Server work together to provide identity management.
The Cloud Controller is responsible for managing the lifecycle of applications.
HM9000 monitors, determines and reconciles applications to determine their state, version and number of instances, and directs Cloud Controller to take action to correct any discrepancies.
The Droplet Execution Agent manages application instances, tracks started instances, and broadcasts state messages.
The blob store holds, application code, buildpacks and droplets.
When a developer provisions and binds a service to an application, the service broker for that service is responsible for providing the service instance.
Cloud Foundry uses NATS, a lightweight publish-subscribe and distributed queueing messaging system, for internal communication between components.
The metrics collector gathers metrics from the components. Operators can use this information to monitor an instance of Cloud Foundry.