Spring Cloud uses the following main concepts:
- Cloud Connector: An interface that a cloud provider can implement to allow the rest of the library to work with a cloud platform.
- Service Connector: An object, such as javax.sql.DataSource, that represent a connection to a service.
- Service information: Information about the underlying service such as host, port, and credentials.
- Application information: Information about application and instance in which these libraries are embedded.
Spring Cloud focuses on providing good out of box experience for typical use cases and extensibility mechanism to cover others. It feature two axis of extensibility:
- Java and XML config for Spring Applications: Simple ways to create beans for services bound to the application.
- Cloud Platform Extensibility: Through the concept of Cloud Connector, it allows extending Spring Cloud functionality to other cloud platforms.
- Service Information and Connector Extensibility: Spring Cloud allows connecting to any kind of service as long as there is a way to extract its connection information from the application operating environment and (optionally) transform it into a service connector.
- Spring Cloud Core: Core library that is cloud agnostic and Spring agnostic. Provides entry point for application developers that choose to programmatically access cloud services and application information. It also provides an extension mechanism to contribute cloud connectors and service connector creators.]
- Spring Cloud Service Connector for Spring: Library that provides service connectors creators for javax.sql.DataSource and various connection factories spring-data projects.
- Cloudfoundry Connector: Cloud connector for Cloud Foundry.
- Heroku Connector: Cloud connector for Heroku.
Then if you are working with a Spring application, follow instructions in Spring Cloud Service Connector for Spring. If you aren't using Spring, take a look at Spring Cloud Core.