Skip to main content

Serverless Java without the YAML

Write plain Java methods with a few annotations. At compile time, Cloudhopper MC generates the cloud-specific handler classes and the deployment files for AWS Lambda, Azure Functions, Google Cloud Functions or a Spring Boot service on your own servers.

public class HelloFunction {

@Function(name = "hello")
@HttpTrigger(method = "GET", path = "/hello/{name}")
public String handleRequest(@PathParam String name) {
return "hello " + name;
}
}
mvn clean install -Paws-terraform
# or -Pgcp-terraform, -Pazure-terraform, -Pspringboot-http
Pre-release. Version 1.0 is not on Maven Central yet. To try it today, build it from source; the Quickstart shows how.

Plain Java methods

Mark a method with @Function and an HTTP or cron trigger. You never implement a cloud SDK interface: an annotation processor generates the provider-specific handler classes for you.

One code base, several targets

AWS, Azure, Google Cloud, or a Spring Boot HTTP application for on-premise installations. Pick the target with a Maven profile and try another provider without rewriting your functions.

Infrastructure generated from your code

Terraform and OpenAPI come from the same annotations, from configurable templates. Deploy them with your own pipeline, or with the Maven profile that runs Terraform for you.

Open source, and the output is yours

Cloudhopper MC is licensed under the GNU General Public License, version 3, with the Classpath Exception and a Generator Output Exception. Everything it generates for your project, such as handler classes, Terraform and API descriptions, you may use, modify and distribute under terms of your choice.

Read the exceptions

Built by Dukehoff GmbH

Cloudhopper MC is developed by Dukehoff GmbH near Munich. If you want help moving Java services to serverless, between cloud providers or onto your own servers, talk to us.

Contact Dukehoff