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 Services enable end users to provision a resource on demand. Examples of a resource a service might provide are databases on a multi-tenant server, or simply accounts on a SaaS application.
These resources are known as Service Instances. Think of a service as a factory which produces service instances.
A Managed Service integrates with Cloud Foundry via a service broker that implements the Service Broker API.
A service broker advertises a catalog of service offerings and service plans to Cloud Foundry, and receive calls from Cloud Foundry for four functions: create, delete, bind, and unbind. The broker then passes these calls onto the service itself.
For more information on creating managed services see Managed Service Instances.
Managed Services have been integrated with Cloud Foundry via APIs and enable end-users to provision new service instances and credentials on demand. User-provided Service Instances are a mechanism to deliver credentials to applications for service instances which have been pre-provisioned outside of Cloud Foundry.
Both operators and developers frequently ask how applications pushed to their Cloud Foundry instances can bind with external services, such as Oracle, which they operate themselves or are outside of Cloud Foundry’s control. User-provided Service Instances enable developers to use external services with their applications using familiar workflows.
For more information on using User-Provided Services, see User-Provided Service Instances.
To learn how your applications can drain their logs to a third-party log management solution, see Third-Party Log Management Services. This is also known as setting up a syslog drain.
For more information about specific third-party log management services, see Configuring Selected Third-Party Log Management Services
Some services support the concept of Binding. Applications pushed to Cloud Foundry can be bound with service instances that support this feature. When an application is bound to a service instance, information about the service instance (such as location and account credentials) is written to an environment variable in the application runtime called VCAP_SERVICES. The application can use this information to integrate with the service instance.
The following topics describe the different types of services in Cloud Foundry, and have instructions for creating a service, and as necessary, binding it to an application, and configuring the application to connect to it.
For more information on binding services, see Bind a Service Instance
For information on using services with specific application development frameworks, refer to the buildpacks documentation.
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.