Author: Sami Ekblad
In the previous VPS post we deployed URL shortener service the old-fashioned way: clone the repository, build it on the server, wire up Jetty server, configure nginx by hand, and run Certbot. Quite many steps and moving parts, and everything living as bare processes on a single Ubuntu machine.
And I got some feedback about that. While I believe it is a great way to understand what is really going on under the hood, maybe not the most modern way to do it. I had already discovered UpCloud also offers a K8s upgrade and a Kubernetes control plane to deploy and manage containerized applications. However, this felt like too big a change. I wanted to make a smaller step and test the containerized deployment.
This time we will package each service into its own container image and hand the running of them over to MicroK8s, a lean, single-node Kubernetes distribution that installs straight onto our existing Ubuntu server with one command. Reading this article, no new machine needed, no cloud provider managed control plane. We can use the same UpCloud server we already have. And if you wish you can do that locally also.
Embedding Vaadin Components in Angular
Deploying a Vaadin Application to Clever Cloud
Deploying a Java App for €3/Month: The Full JVM Hosting Guide
Vaadin Flow vs Hilla: Which framework should you choose?
5 key considerations for starting a new Java project in 2025
Find Vaadin at these 2025 events
Adding JSON-LD and Open Graph to Vaadin apps for link previews
From Figma to Code: Convert UI Designs into Java