• Contact us
  • Docs
  • Login
Watch a demoFree trial

Deploy and scale Java apps without the infrastructure overhead

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.

Get startedRequest a demo

Built for modern Java applications

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

Supported versions and security patches

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.

Build with your existing tools

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 configuration

Commands that match platform reality

Upsun expects your web process to bind to the provided PORT environment variable (for example, --port=$PORT). This keeps behavior consistent across environments.

Set start command

Managed services + Git-driven environments

Isolated 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

Monoliths, microservices, or both

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 projects

Ship with Git-based deployment

Skip 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 provider

Command line and local development

Manage 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 CLI

Observe and optimize Java in production conditions

Optimize 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

Investigate

Each branch runs in its own isolated environment with the same configuration and managed services, so you can profile changes under production-like conditions and prove the gains before you merge.

Learn more

Monitor

Get 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 more

Enforce

Write 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 more

Resources

Documentation

Java on Upsun

View

Ready to deploy yourJava application?

Get startedFree trial