How we improved the developer experience by getting rid of our VM
Frontastic has just gotten so much better for frontend developers (and backend developers too!). By changing the way developers access Frontastic, we’ve made it quicker and easier to get coding which makes for happier developers as well as happier customers.
Since we launched Frontastic back in 2017, every developer working with us needed to boot (and provision) a Virtual Machine (VM) or a Docker container. Even our own developers had to work this way. As with all VMs, they could be slow and unstable. It sucked up CPU and caused a lot of wasted time. Initially, we thought it would be a short-term issue that we could improve, but it was soon clear that this wasn’t the case and we needed to come up with a solution. We couldn’t have developers wasting time and effort on starting up a VM when they could be innovating their industry thanks to Frontastic. Developer happiness is also an essential KPI for us and we knew we had to act upon the feedback we’d received both internally and externally.
So, we decided to put together a taskforce to analyze the effort it would be to tackle this issue so we could create a better experience for all developers working with Frontastic. The result was pretty impressive (if we do say ourselves).
Setting the goals
We gave ourselves 2 weeks to analyze our options, get a clear picture of the steps that would follow, and the effort required to do it.
Our main objective was to take the VM topic out of the game entirely. But we needed to do it based on our current infrastructure as much as possible and to stick to our current technologies as well. We needed to solve the issue for all existing customers (plus any future ones) and we needed to get the solution out the door as soon as possible.
Analyzing options
So we knew exactly what we wanted to do, but we had to find a way to do it. One of our developers had already been working on a frontend helper (the Frontastic CLI) which would remove the need for a VM for frontend development, but we needed a solution for backend development.
We set about testing a Google Cloud Platform (GCP) solution to see if it could work with our setup. And we also needed to find a tool for syncing each system for the backend files. After looking at a few options, we found mutagen.io which seemed to be perfect for our needs.
What’s next?
Much earlier than anticipated, we had actually analyzed everything and had tested our planned solution. It all worked perfectly. So we decided to start implementing it within the 2-week taskforce. There’s no point in waiting, right?
With GCP working with Vagrant, mutagen.io doing all the syncing, and our own Frontastic CLI all working in the backend, we now needed to create an easy-to-use interface that our customers could use.
Trying it out
With the help of our UX Designer, we integrated our plan into the Developer section of the Frontastic studio. From there, developers can bring up, halt, and destroy sandboxes, plus set up the sync thanks to a mutagen.io configuration.
We shared the new workflow with the Frontastic team and got them testing it straight away as well as sharing all their feedback so we could improve it.
Updating our customers
We started giving the solution to our customers in the 3rd week of our taskforce and they were absolutely amazed. They couldn’t believe the speed of their development and how much easier it was to work with. Although it’s still early days, our developers are saving around 30 minutes a day thanks to this new process, which is incredible. That adds up to 115 working hours a year!
Another benefit for our customers is that there aren’t any issues for different operating systems. So it’s always the same, no matter if they’re using Linux, Mac, or Windows. This could save up to 20% effort.
Of course, there were some who were happy with their current way of working, it was the habit of doing it a certain way. But after sharing with them the speed and improvement to their workflow, they quickly jumped on board.
The results
Thanks to the amazing work of our taskforce, not only did we analyze what needed to be done in the timeframe, but we also delivered the solution for all of our customers. It’s resulted in happier developers, higher efficiency, and fewer contacts to our Support team.
We not only achieved our goals but totally over-delivered. Something that’s quite rare in our industry, but when it happens, it’s the most awesome thing that we’re super proud of.
Catherine Jones
Catherine’s the Lead Editor at Frontastic. She’s worked in many different positions at different levels but always with a customer focus and is always looking to create the best experience for users.
Stay in the loop
Subscribe to our newsletter to keep up-to-date on all the latest Frontastic news.