What is SpringCloud?

It is a new piece of Spring that helps us deploy our artifact (WAR or JAR) to cloud platforms.

This tool supports multiple clouds through the Cloud Connector concept, and out-of-the-box support for Cloud Foundry and Heroku

Spring-cloud allows applications to discover their own running information/configuration, and offers an extension mechanism to work across multiple clouds and cloud services.

The main concepts of Spring Cloud are:

Cloud Connector: interface that a Cloud provider can implement to allow the system to work in PaaS mode.
Service Connector – An object (such as javax.sql.DataSource) that represents a connection to a service
Service information: Information about the underlying Service (host, port, credentials,…)
Application information: Information about the application and instance in which the libraries are embedded.

It is is made up of 4 subprojects: The project comprises of four subprojects:

  1. core: Cloud and Spring agnostic core library. Provides extension mechanism. Therefore it can be used in NO SPRING applications.
  2. spring-service-connector: library that provides connectors for various Spring-Data projects and connections
  3. cloudfoundry-connector: Cloud connector for Cloud Foundry.
  4. heroku-connector: Cloud connector for Heroku.

 

On the other hand, we could also say that it is a tool to externalize the configuration of our applications, it is generally used in an environment of distributed systems to centrally manage these configurations.
When we develop microservices, or any application that during its life cycle goes through several different environments. Maintaining these settings is no longer a trivial task. This tool will make this job easier for us.