Have you ever felt stressed of cloud hosting, being burdened with complex routine server configurations, worrying about your further traffic influx, thinking of project migration as a nightmare, struggling form a vendor lock-in slavery and significant budget draining? We discussed these pains with Bruno Souza, Brazilian Java-Man, who works with Java software developers and DevOps teams helping them to improve their careers, to take responsibility for their projects and get everything under control in the clouds.
Bruno shared his experience in running Java projects in the cloud, opinion about container technology and its impact on scaling, as well as the reasons to work with Jelastic PaaS.
What projects are you running in the cloud?
Everything I run today, I run in the cloud. At ToolsCloud, we run a large suite of tools that helps developers move their workloads to the cloud. We have a set of tools to do CI/CD (continuous integration, continuous deployment) so developers can control the deployment process and implement DevOps techniques in their projects.
Since we’ve run everything in the cloud we experiment all the time with the vendors. We run things in AWS, Azure, some other cloud providers. In most cases, we get a virtual machine which can be very large and sophisticated. But we’re responsible to manage the whole thing, to manage the OS and install what is needed. For example, even if you want to increase the machine size - usually you need to stop it and migrate to a bigger one. Although we’re running things in the cloud, we’re responsible to manage the infrastructure all the time. And that slows us down.
So one of the things why we moved our workload to Jelastic was that it really allowed us not to think about all those things. We don’t think about virtual machines anymore, we don’t think about servers, we actually don’t even think about where things run. We just start our application, put up containers in Jelastic Cloud, and the cloud handles everything itself. So we don’t have to worry about OS or managing servers. I think that it is the biggest thing that we have in terms of the cloud today.
People are talking about serverless these days. That’s what we want. We really want to have our applications running and don’t even think about servers anymore.
We actually have legacy applications that are running for a decade already. They are not functions, but a real full-blown applications. And here we do also need the same ability of not thinking about servers for such applications that already exist.
What are your main considerations while choosing cloud vendor?
What I'd recommend to Java developers right now is thinking about containers as the most important thing they should be using for deployment of applications.
When you shift your mind not to think about servers, virtual machines anymore, but to think about containers, it encapsulates your application to be run anywhere. That gives you a level of freedom that is unique. Cause now you can really think about running your project anywhere. Once it is containerized and separated across independent containers, you’re free from vendors or platforms you’re going to run. That’s the thing that I like most about Jelastic - it allows me to think about containers and my application as separate pieces. And I can just put it to run. I don’t have to think about applications when installing it on a server. In Jelastic everything is containers. The whole platform has been built on top of containers from the start. What is more, Jelastic doesn’t lock me in, not even to Jelastic, what’s very important. Because the freedom of leaving gives me willing to stay.
What do you think about Jelastic scaling and pricing model?
As you want to grow your application, you start thinking about scalability guessing “how large machine do I need? How big can this reach? How many people are going to run this thing?”. And then you start to worry about “Am I provisioning enough? If I provision too much, I will pay too much and what if people will not use it?”
And here's the cool thing about Jelastic: let’s imagine that lots of people just started using my application, I can just set resources as much as I want. And I know that I’m not going to be charged for all scaling limit but only for what I actually use. Even if I say I want this huge resource, very, very big. And If I never use it, I’m not going to be charged for it. It gives me the freedom to actually say “I can handle anything!”.
The ability to pay only for what I use gives me total peace of mind. I know I’m never going to run out of the resources. Because my limits are way above anything I’m going to ever use. And if you do this thing with another cloud provider, you’re going to pay for that, pay for those unused limits. And you always have to be thinking “Am I using the things in a right way?”
With Jelastic I just put as much as I think I’m going to need, or even larger than that. And then Jelastic just charges me for what I actually use.
What is Jelastic for you?
Jelastic is a peace of mind. Actually, I think that should be Jelastic tagline: “Peace of mind for developers!” I put my application there and things just run.
And one interesting thing is that support team behind Jelastic is totally amazing. All the time that I had problems with actually not understanding how to use the platform in a right way or issues of not knowing how to port my application into the Jelastic, or not knowing how to containerize my application in a right way, they are always there to help me out.
Therefore, “peace of mind for developers” is really a perfect tagline.