Nowadays software companies clearly understand that time costs money and that they need all possible tools to get their products to market as fast as possible with no compromise to quality. So they expect a wider range of features, a variety of services, scalability, high performance and flexible pricing out-of-the-box from their cloud providers. This motivates hosting vendors to expand their offerings with PaaS and CaaS solutions, and migrate their current users from commodity VPS to the advanced platforms.
Today we’d like to share a use case of Bytebrand Outsourcing AG, a Swiss near-shore Software Development company that already moved 80% of all capacities and projects to the Jelastic PaaS solution on top of dogado infrastructure. From the interview with Marco Kundert, Bytebrand Project Manager, you can find out the reasons of this shift and the results they are gaining during more than 2 years of using the platform for their internal needs.
What stacks do you use to run the project and how they are interconnected?
What were the reasons for choosing these programming languages for your projects?
PHP is a language that covers a huge market: it's reliable and easy to handle, and with skilled senior developers you can build great backends with extreme efficiency. Another reason is our CMS department, - a field where PHP is hard to get around.
We are a fan of Node.js. It allows us professionally make certain things, which are not possible with such our alternative backend stacks like PHP or even Java, ES6 or Typescript:
- Non-blocking IO for low latency without complicated multithreading
- Super easy (web) socket/real-time applications with socket.io
But Node.js is not always the right choice for the backend, the following reasons can let us prefer PHP or Java:
- Extensive and complicated business logic
- CPU intensive code
- No SPA as frontend
- Small user bases/company internal business applications
But overall we see a discoverable shift towards Node.js.
Can you describe one example of setup that you build and run on Jelastic for your customers?
For one of our customers, an innovative self-storage company where all the processes are 100% automated and access to the storage locations is guaranteed 24/7 via mobile devices, we used different kinds of technologies within Jelastic platform.
The main business logic is written in Symfony (PHP framework) and acts as a rest API backend using auto-scaling and failover provided by Jelastic. Their website is based on a "static site generator" written in Python. For handling socket communication and messaging between a mobile device, web application and, of course, the doors and locks, as well as many sensors and security equipment we are using Node.js. We utilize two MariaDB databases: one for OLTP backuped by Jelastic, the other for a Data Warehouse which is eventually used by Tableau BI. Last but not the least, we are running a wkhtmltopdf-aas Docker image to produce PDF reports and invoices.
The whole environment is deployed and auto tested with GitLab CI directly at Jelastic platform. This workload is multiplied by 4 (dev, test, staging, and production) and costs us not much more than a cup of coffee and a bagel at Starbucks per day. Even with this heterogeneous structure, we never had to leave the roof of Jelastic.
What were the key reasons to host your project on Jelastic PaaS?
There are many:
- It is PaaS:) with all benefits that come along with it. I don't know if I should list them all, but for us, the most important thing is that we don't need lots of DevOps to support production systems.
- Compared to other PaaS solutions, it offers a lot of freedom (shell access to almost all configuration files of the platform, and many other possibilities). And if something is not available by default, we still can use a Docker image.
- Extreme cost efficiency, especially if talking about low, medium and of course variable traffic loads.
- We had not even a single outage for more than 2 years while using Jelastic
What other hosting solutions do you use?
We are using many options, but it's fair to say that 80% of our servers are hosted on Jelastic. We use Google Cloud, bare metal in Germany, and previously also tried Heroku but skipped it completely for Jelastic.
Jelastic is based on containers, did you face any problems while moving from VMs to containers?
In terms of migration from VM, of course, if you have a heterogeneous technology stack on one server, you need to change it to a more modular approach. In one case, we had to set up a new connection between PHP backend and Java containers (that are generating PDFs) by means of a web service instead of calling a local Java OS process.
It’s an advantage if developers are familiar with Docker / the container concept while working with complex environments within Jelastic. But for simple applications, Jelastic makes a great job to hide all complexity.
Do you benefit from automatic scaling?
We successfully used both horizontal and vertical scaling for one project, that was aimed to generate dynamic children's books in PDF for an e-commerce shop during Christmas season.
For other customers projects, we provide the option of automatic vertical scaling based on the load by default. Even if they do not need extra resources at the moment, the possibility to get them automatically after the increased number of requests can prevent any possible downtimes. So it's good to have this option activated with no influence on the architecture and no extra charge for unused allocated resources.
Your general impression and highlights of using the PaaS platform.
As you can see on my answers above - only positive. It's less about specific features that we value (since different competitors can have them too) but more about a complete and sound package out-of-the-box which just fits our needs. All functions and features work very reliably, and if something is still in the process of improvement and a bit shaky at the beginning, you honestly label it with "Beta". For most questions or issues, it is possible to easily find solutions on Stackoverflow or in the documentation.
Are you still searching how to make your development flow faster and more productive? Bytebrand already found their solution. Give Jelastic PaaS a try and check if it can help you to accelerate time to market, get the needed freedom for developers, automate ops tasks and achieve higher cost efficiency.