Page last updated:
This documentation is intended for end users of Cloud Foundry and covers provisioning of service instances and integrating them with applications that have been pushed to Cloud Foundry. If you are interested in building Services for Cloud Foundry and making them available to end users, see the Custom Services documentation.
Cloud Foundry offers a marketplace of services, from which users can provision reserved resources on-demand. Examples of resources services provide include databases on a shared or dedicated server, or accounts on a SaaS application. These resources are known as service instances and the systems that deliver and operate these resources are known as Services. Think of a service as a factory that delivers service instances.
For documentation on provisioning service instances and other lifecycle operations, see Managing Service Instances.
Note: For a service to be available in the marketplace, it must be integrated with Cloud Foundry by way of APIs. If you are interested in building Services for Cloud Foundry and making them available to end users, see the Custom Services documentation.
Cloud Foundry enables users to integrate services that are not available in the marketplace with their applications using a feature called User-Provided Service Instances (UPSI).
Cloud Foundry enables users to provision credentials needed to reach a service instance. You can use application binding to automatically deliver these credentials to your Cloud Foundry app. For external and local clients, you can use service keys to communicate with a service instance.
Service instance credentials can be delivered automatically to applications running on Cloud Foundry in an environment variable. For more information, see Delivering Service Credentials to an Application.
For details on binding to a specific application development framework, refer to the Service Binding section in the documentation for your framework’s buildpack.
Credentials managed manually are known as service keys. Use service keys when you want an additional set of credentials to use outside of the service binding use case. You can also service keys for applications not deployed with Cloud Foundry. For more information, see Managing Service Keys.
Note: Not all services support service keys. Some services support credentials through application binding only.
To learn how your application logs can be streamed to third-party log management services, see Log Management Services.
User-provided service instances can be used to drain applications logs to a service not available in the marketplace. This is also known as setting up a syslog drain. We’ve documented instructions for a few providers in the Service-Specific Instructions for Streaming Application Logs topic.
To learn how marketplace services (and user-provided service instances) can be used to perform preprocessing on application requests, see Manage Application Requests with Route Services.
If your application relies on a relational database, you will need to apply schema changes periodically. For guidance on how to do database migrations on Cloud Foundry-managed services, see Migrating a Database in Cloud Foundry.