Spring Cloud Function brings us four main features, described in detail in the official documentation (https://github.com/spring-cloud/spring-cloud-function), that are worth mentioning here:
- It provides the ability to wrap the @Beans type of function, consumer, and supplier. This makes it possible to expose functionalities as HTTP endpoints and stream messaging via listeners or publishers, with a message broker such as RabbitMQ, ActiveMQ, or Kafka.
- It provides compiled strings, which will be wrapped as function bodies.
- We can deploy a JAR file with our function, with an isolated classloader that will run on a single Java virtual machine.
- It provides adaptors for different cloud providers that support serverless architecture, such as the following:
- AWS Lambda
- Open Whisk
- Azure