CLOUD PAAS / JAVA

Java Developer’s Center

This guide has been reviewed and reformatted for Ruk-Com Cloud PaaS. Screens may vary slightly by platform version.

Click or tap a screenshot to view it at its original size.

Objective

This guide explains how to use Java Developer’s Center on Ruk-Com Cloud PaaS, with ordered procedures and practical verification points.

Before you begin

  • Sign in with an account permitted to manage the relevant environment.
  • Confirm the target environment, region and resources before saving changes.
  • Create a backup or rollback plan before changing a production system.
Ruk-Com Cloud PaaS procedure screenshot




Today, Ruk-Com Cloud PaaS is multilingual, built on Java Cloud, and remains focused on programming languages. In this guide, we will explain the unique features of Java host within the platform and enable you to easily use its various functionalities.

You can use the table of contents below to find the information you need within the guide more quickly:

  • Java Versions
  • Java Application Servers
  • Java Environment Creation
  • Java Application Deployment
  • Domains Management
  • Automatic Vertical Scaling
  • Horizontal Scaling: Manual and Automatic
  • Java Clusterization
  • Database Connection to Java Application

Java Versions

Currently the following Java versions are available:

  • AdoptOpenJDK: 8.0.312; 11.0.13; 13.0.2; 14.0.2; 15.0.2; 16.0.2
  • Amazon Corretto: 8.322.06; 11.0.14.10.1; 15.0.2.7.1; 16.0.2.7.1
  • Eclipse OpenJ9: 0.11.0 (8u192-b12; 11.0.1); 0.15.1 (8u222-b10; 11.0.4); 0.17.0 (8u232-b09; 11.0.5; 13.0.1); 0.18.1(8u242-b08; 11.0.6; 13.0.2) 0.20.0 (8u252-b09; 11.0.7); 0.21.0 (8u262-b10; 8u265-b01; 11.0.8; 14.0.2); 0.22.0 (15.0.0); 0.23.0 (8u272-b10; 11.0.9); 0.24.0 (8u282-b08; 11.0.10); 0.25.0-16; 0.26.0 (8u292-b10; 11.0.11); 0.27.0 (8u302-b08; 11.0.12); 0.29.0 (8u312-b07; 11.0.13); 0.30.0 (8u322-b06; 11.0.14)
  • Eclipse Temurin: 8.0.322; 11.0.14; 17.0.2
  • GraalVM CE(Currently only for Java Engine and Maven): 19.3.1; 20.2.0; 21.3.0; 22.0.0.2
  • Liberica JDK: 8.0.322; 11.0.14; 13.0.2; 14.0.2; 15.0.0; 16.0.0; 17.0.2
  • Oracle JDK Dev: 7.0_79; 8.0_202; 11.0.2
  • Oracle OpenJDK: 7.0.261; 8.0.322; 11.0.14; 13.0.2; 14.0.2; 15.0.2; 16.0.2; 17.0.2; 18.0; 19.ea-b16
  • Zulu Community: 7.0.332; 8.0.322; 11.0.14; 13.0.9; 14.0.2; 15.0.6; 16.0.2; 17.0.2

Java versions 6, 9, 10, and 12 cannot create new environments as these versions have reached the end of their life. However, existing instances are fully functional (including redeploy, cloning, horizontal scaling).

You can choose the desired version while creating the environment and can change the version later. You can see the steps in the documentation.Java Versions

Java Application Servers

Ruk-Com Cloud supports the following Java Engines and various Java Application Servers:

  • GlassFish
  • Jetty
  • Payara
  • Spring Boot
  • Tomcat
  • TomEE
  • WildFly

Read the documentation below for more information about the Java server within the platform.

  • Java App Server Configuration
  • Java Garbage Collection
  • Java Agent
  • Java Tutorials

Java Environment Creation

To host a Java application, you need to create the appropriate environment. Click the button.New EnvironmentGo to the tabJavaand select the required Java application server, database, and other stacks. You can customize cloudlets, disk space, region, and other settings according to your usage. Then clickCreate

All added servers will beIsolated containerCompletely compatible, located on different hosts for greater availability. By separating containers, you reduce the risk of interfering with other containers. You can attachpublic IPwith these servers to gain direct access to the container. (If using the default settings Requests sent to your application will be proxy byshared load balancer)

Java Application Deployment

After the environment is created, you can deploy your java application with a fully automated deployment process that helps you easily start and run your project.

There are 3 supported deployment methods:

You can read the appropriate documentation to learn how to deploy a java application according to this topic.

There are also tips for managing your projects throughGitblitandWebDAV

Domains Management

you canBind domain nameyour application URL and can be used in place of the environment domain.

  • CNAME redirectIf you use a Shared Load Balancer; which is suitable for the environment being tested and developed
  • DNS A RecordIf you use Public IP; Can support high traffic loads and is suitable forproduction environments

There is also a featureSwitch domains SwapExtIpsAPI/CLI allows you to upgrade and patch your application with no downtime (users won't notice your web interruption).

Tips:In each environment, you can use multiple domains to increase usability, performance, and scalability. It also saves money by eliminating the need to set up separate instances for different apps. Here's an appropriate example:

-Multiple Domains for Tomcat
-Multiple Domains for GlassFish
-Multiple Domains for PHP

Automatic Vertical Scaling

The platform dynamically provides cloudlets (such as RAM and CPU resources) that your application needs to handle the current load. You just specify an upper limit.maximum limitThe platform then performs everything automatically. You don't need to edit resources manually. This is called a feature.automatic vertical scalingThis ensures that you won't overpay for unused resources and won't run into resource shortages.

To set or change the vertical scaling limit You can use the appropriate sliders within the topology:

Horizontal Scaling: Manual and Automatic

In case your application is very popular and one node is not enough. You can scale horizontally to add nodes, which ensures the reliability and high availability of your application, with all newly added nodes being built on different hardware nodes.

Click the +/- buttons on the settings.Horizontal ScalingTo set the number of additional nodes, the load balancer will be added automatically.

You can modify the scaling mode as follows:

  • Stateless- Create all new nodes at once from existing image templates in the platform.
  • Stateful- Copy the main container's files to the new node accordingly.


Horizontal scaling can be done manually or automatically. You can set a trigger for automatic horizontal scaling with the click of a button.Settingat your desired environment and select the menuAuto Horizontal ScalingYou can set scaling conditions as you want, such as setting a percentage for adding nodes and reducing nodes for a specified resource type over a period of time. If the load is outside the set limit The node deletion/add process will be called automatically.

You can select the resources you want to monitor usage and set the triggers as follows:

  • CPU
  • Memory (RAM)
  • Network
  • Disk I/O
  • Disk IOPS

The trigger will start monitoring resource usage immediately after adding the condition. When the usage level exceeds the specified limit, a trigger is triggered. Then if the load remains for the specified period of time The system will automatically adjust the number of nodes.

Java Clusterization

Clustering application servers replicates sessions between pairs of nodes. There is no need for additional software or memcached to increase application availability.

The platform provides automatic session replication between Tomcat and TomEE servers with multicast to provide highly available web applications within a Java cluster. You can enable the feature.High Availabilityon the topology page while creating the environment.

More modern automated clustering for GlassFish, Payara, and WildFly is possible according to this document.

Connecting Database to Java Application

You can install a fully scalable and manageable database server within the Java environment for establishing connections. You can customize your application based on recommendations for each database type you want to use.

Ruk-Com Cloud provides Java hosting with high availability, redundancy, and server scalability that are strengths for your applications.