- Features
- Pricing
- English
- Français
- Deutsch
- Contact us
- Docs
- Login
Deploy your Java applications on a platform built for the JVM. Whether you run Spring Boot, Quarkus, Micronaut, or Jakarta EE, Upsun handles provisioning, scaling, and infrastructure automatically. Define your Java version, build process, and services in a single configuration file. Push to Git and Upsun builds, provisions, and deploys your entire stack.

Java runtimes and builds - Define your Java version, build tool, and services in a single YAML file. Add managed services like PostgreSQL, Redis, Kafka, Elasticsearch, or OpenSearch, and Upsun wires them to your app through relationships and environment variables. Configure Java runtimes
Upsun supports OpenJDK versions (headless packages to reduce unused GUI components). You select the major version; Upsun applies the latest compatible minor and periodically updated patch versions when you deploy.
Upsun runs your build process during deployment and launches your application with the start command you define in your configuration. With support for Kotlin, Groovy, and Scala, alongside any compatible build tool.
Explore build configurationUpsun expects your web process to bind to the provided PORT environment variable (for example, --port=$PORT). This keeps behavior consistent across environments.
Set start commandIf your framework follows the Twelve-Factor method, you can configure it using environment variables. Upsun automatically injects service credentials as environment variables. Your application connects to databases and services without hardcoding configuration.
Manage project variablesIsolated environments for every branch - Using Git, builds are reused, and data is cloned automatically with byte-for-byte replicas, including your database and services. What you test in staging is precisely what you get in production. Manage environments
Deploy a single Spring Boot monolith or a full microservices architecture. Upsun supports multiple applications per project using Maven modules, Gradle multi-project builds, or Git submodules.
Structure multi-app projectsSkip building internal deployment tooling. Push to Git and Upsun handles provisioning, environment creation, and deployments. Use the CLI, web console, or integrate with your existing CI pipeline on GitHub, GitLab, or Bitbucket.
Connect your Git providerManage your projects directly from your terminal. Anything you can do in the Upsun console, you can do with the CLI. Create environments, check logs, SSH into containers, or run commands, all from the command line.
Manage environments using CLIOptimize JVM performance with integrated profiling and metrics - Continuous profiling is enabled by default for Java on Upsun. Monitor CPU time, wall-time, and heap allocation across all environments from the console. Track memory usage, response times, and get alerts when resources run low. Learn more
Because each branch can run in an isolated environment with the same configuration and services, you can profile and validate optimizations in realistic conditions before merging.
Learn moreGet a real-time view of your resource usage with infrastructure metrics. Track CPU, memory, and disk usage across all containers. The Java continuous profiler measures three dimensions: CPU time, wall-time, and heap memory.
Learn moreWrite performance tests for your Java functions and service calls. Add performance budgets to your CI pipeline to catch regressions before they reach production. Ensure optimizations stay optimized.
Learn moreJoin our monthly newsletter
Compliant and validated