If you have been perceiving the console client as a complex tool for deploying an application on SAP HANA Cloud Platform, read on. Because the client offers numerous capabilities for configuring the application that no other platform tool currently provides.
What is more, the console client enables you to handle single application processes rather than the whole application, which allows non-disruptive maintenance.
Fine tune during deploy
With the console client, you can configure various aspects of an application to improve its stability and performance. And all this – without touching the source code.
Just use the numerous parameters that you can specify during deploy to define specifics, such as memory settings and size of compute units, runtime version, Java version, gzip compression and many more.
ℹ To make deploy execution easier for you, use the properties file to specify all required deploy parameters. In this way, in the command line you only enter the location of the properties file and the optional parameter(s).
neo deploy <properties file name> [optional parameters]
Here are some of the major operations that you can perform only with the console client.
Elasticity of an application is essential for its ability to handle more requests and also for failover purposes. With the console client, you can scale an application both “vertically” and “horizontally”.
For horizontal scaling, define the minimum and maximum number of application processes on which the application will run:
neo deploy myapp.properties –minimum-processes 2 –maximum-processes 5
Then, scale the application up and down by starting and stopping additional application processes. Each execution of the start command starts another application process. To scale back down, stop individual application processes by using soft shutdown.
For vertical scaling, choose the compute unit size on which the application will run after deploy:
neo deploy myapp.properties –size prem
Of course, both the maximum number of processes and the compute unit size have to be within the quota you have purchased. Developer accounts only have one application process and Lite compute unit quota, so scaling is not applicable.
Gzip response compression
This new feature is available for all types of accounts and is a great way to optimize the response time and improve interaction with an application as it reduces the traffic between the Web server and browsers. Enabling compression configures the server to return zipped content for the specified MIME type and size of the response.
Again, very easily configurable with three optional deploy parameters: –compression (enables gzip compression); –compressible-mime-type (configure response MIME types that will be compressed); –compression-min-size (specifies the size of responses which will be compressed).
neo deploy myapp.properties –compression on –compressible-mime-type
URI character encoding
You can easily define the character encoding that will be used to decode the URI bytes on application request. Just specify the —uri-encoding parameter if you want encoding different from the default ISO-8859-1.
For example, to use UTF-8 encoding that can represent every character in the Unicode character set, execute:
neo deploy myapp.properties –uri-encoding UTF-8
In the Operator’s Guide in the official documentation, you can read about more configurations that can be made during deploy:
The console client is for now the only tool with which you update productive applications. It enables the so called “zero downtime update” with which end users work is not disrupted.
Use zero downtime update when your new application version is backward compatible with the old version (the new version of the application can work in parallel with the already running old application version).
Handling individual application process helps here and the update involves:
- Deploy the new version of the application.
- Start a new application process which will run the newly deployed version.
- Disable one of the old application processes: it stops accepting new requests from users but continues to serve existing connections. New connections are directed to the other running processes.
- Wait and then stop the old process.
- Repeat starting new and stopping old processes until all your processes have been restarted and are running the updated version of the application.
In case the new version of the application is backward incompatible, you need to plan a downtime during which you update the application. For the time of the downtime, you can use a custom maintenance page, which is shown to end users – again enabled by console client commands.
Try it out
So all in all, it’s worth considering the SAP HANA Cloud console client as the main tool for managing applications.
It’s easy to get started with – see this short video.
For your convenience, we have created a dedicated SAP HANA Cloud console client reference section in the Operator’s Guide containing all the information you need to work with the tool. Every command has a separate page that lists the command parameters, provides explanations and examples.
Have you been using the tool and for what operations?
Did you know these little tricks that can improve your application performance?
Do you have any ideas and suggestions?
Please comment below and we will consider your feedback.