How to Build and Deploy Vert.x Fat or Thin Microservice Application to the Cloud

By 1. 9. 2018 Containers, Java

vertx-logo

Eclipse Vert.x started to promote microservices even before this buzzword appeared, and successfully continues to showcase the benefits of such an approach. This tool-kit is designed for building reactive applications using any language that runs on the JVM, including Java, Groovy, Ceylon, Ruby, JavaScript, Kotlin, and Scala. Basically, Vert.x application is a plain JAR file so the application can be packaged in two different ways:

  • Fat, a self-contained single JAR file with all necessary dependencies inside. Usually, the archive is of a big size as it contains everything including application server runtime.
  • Thin, a JAR file that doesn’t contain runtime and dependencies by default but automatically downloads them during the first launch. It is considered as the most widely used approach nowadays, as it was the only one well standardized for many years and provides a set of advantages, such as faster and more efficient process of building and packaging.

In this article, we will cover build and deploy processes for Vert.x Java applications using both approaches, Fat and Thin. The application will be packaged in the required format automatically with the help of Builder add-ons prepared by Jelastic. The topology will consist of Maven build node and JVM containers for running microservices.

maven-node-and-jvm-containers-topology

Vert.x Fat Jar Builder Installation

To get started, log in to Jelastic dashboard, find the Vert.x Fat Jar Builder in the Marketplace and click Install.

install-vertx-fat-jar-builder

If required, change installation settings such as environment name or Git repository link to a custom Vert.x Fat project. Then press Install.

install-vertex-fat-project

When the installation and building of the project are completed, a corresponding message appears. You still need to wait a few minutes for deploy to be finished (feel free to track the process in Tasks panel). In the default implementation, it is done under api/greeting context.

open-vertex-fat-jar

install-inprogress-vertex-fat-jar.

vertx-thin-jar-url

Vert.x Thin Jar Builder Installation

Find the Vert.x Thin Jar Builder in the Marketplace and click Install.

install-vertx-thin-jar-builder

If required, change installation settings such as environment name or Git repository link to a custom Vert.x Thin project. Then press Install.

install-vertex-thin-project

Wait a few minutes for deploy to be finished tracking the process in Tasks panel. Then click Open in browser button to see your application under the stated context (by default, api/greeting).

open-vertex-thin-jar

Running Multiple Microservices with Vert.x Projects

You can use just created Maven node for building extra projects and deploying them to different environments to get a set of distributed microservices.

multiple-vertx-projects

First of all, create a separate environment with Java Engine.

Then click Add Project next to the Maven node in the initial environment.

add-project-to-the-maven-node

Specify the name and link to the project, as well as choose the environment where it should be deployed. Additionally, you can activate automatic updates. Then confirm pressing Add + Deploy.

build-and-deploy-java-app

More details on how to build and deploy Java applications can be found at the Maven node documentation.

In this way, you can easily build and deploy your Vert.x based applications. Register and try out the automated JAR packaging with Jelastic Builder add-on for your custom projects to feel the benefits of microservices running in the cloud.

Leave a Reply