Hi, I’m trying to distribute the application on Jelastic, but I see that even if the application is not used it always consumes 600 MB of ram (6 Cloudlets), is this normal? Shouldn’t resource usage be zero when not in use? I use Tomcat and PostgreSQL. Thanks, Massimo
It is OK or a CUBA application to consume 400-500 MB of RAM even when there are zero user sessions. It loads many objects to the internal cache after application start. It is essential to ensure high performance when used by many users. CUBA and technologies it’s based on (EclipseLink, Spring Framework) are optimized for high workload, not for idle state.
So in my opinion Jelastic is not very good if the application is not used continuously, as I still pay 6 cloudlets (649 mb => 128 mb x 6) at least for 24 hours, even if the application is only used for 8 hours a day. Or I wrong something? Hi, Massimo
Well, cloud deployment is always going to be more expensive. If you’re looking a way to save your deployment costs, you should rent a virtual server and deploy application manually. It takes time and less reliable, but will be several times cheaper.
With Jelastic you have more options to reduce the cost while at other clouds you will pay for the limits of your instance in any case regardless of the real consumption.
Also, the following materials can be helpful for reducing the cost of your Java applications
Scheduler for Automatic Start and Stop of Development Environments to Save Cloud Costs
@massimo as Alex mentioned, there’s always a trade-off involving scalability, automation, ease of management and things like that.
You can implement some or even all properties of a good architecture on premise, but you need to invest a lot of time and effort.
For example you can deploy your own Kubernetes cluster on cheaper VPS nodes, and then start implementing your own CI/CD pipelines (or use smt like GitLab auto devops on K8s), self healing, monitoring/logging and so on. If you’re not expert in these DevOps techniques it will take several months to have something working, but in the meantime you will acquire a lot of knowledge that can be potentially “resold”.
On the other hand, if you (or your team) don’t have the time and patience to invest on this journey, then Jelastic and the likes will turn to be the cheapest options anyway
Thanks for the replies. I will try the various solutions.
I have a doubt regarding Jelastic, having my application scaled as the image, then you couldn’t?
@nelsonflorez You can implement whatever architecture you like in Jelastic, like in any other managed cloud provider.
In your case, for example, you’ll need at least 6*4 cloudlets for tomcat (but it depends on the load, this is the minimum) plus others for a 2 nodes DB cluster (I can’t tell how many, I don’t know your requirements), plus others for the ingress/load balancer (it depends on how you plan to do this).
Let’s say something between 40 and 50 cloudlets in total. Based on the Aruba Cloud price list (the only one I know about) I think it’s between 200 - 300 EUR / month (it’s nearly impossible to do an exact estimation, because it depends on you choosing between reserved or dynamic cloudlets, expected average load, peaks in the usage and so on).
@pfurini Thanks for the explanation, I was not clear about the model in Jelastic
You can find a lot of practical examples both in the official Jelastic docs and in their blog (plus many others in third party blogs or on youtube).
Take for example the Tomcat clustering docs: Tomcat Clustering | Virtuozzo Dev Docs
You’ll need other configurations specific to CUBA, but this gives an overview of the config on Jelastic.
For the DB, let’s say you want a master/slave MariaDB cluster: MySQL/MariaDB Master-Slave Replication | Virtuozzo Dev Docs
PS: if you’re interested in DevOps topics and specifically in Jelastic, you can subscribe to the next free Live (online) conference here: https://www.cloudtechdays.com/
Hope you’ll find it useful