Blog

Meteor deployments on Scalingo just got 30% faster

Chargement...

5 min read

Meteor deployments on Scalingo just got 30% faster

Release after release, Meteor builds have been slower and slower. We’ve observed such trend for almost a year now, as the biggest part of a Meteor app deployment is the ‘build’ part. We’ve just released a new version of our Meteor deployment system which decreases deployment durations of an average of 30%.

Meteor Logo

Release after release, Meteor builds have been slower and slower. We’ve observed such trend for almost a year now, as the biggest part of a Meteor app deployment is the ‘build’ part. We’ve just released a new version of our Meteor deployment system which decreases deployment durations of an average of 30%.



Meteor logo



An upgrade for all Meteor applications

Our customers are deploying production Meteor applications daily on the platform because it just works. However the bigger the application, the slower the deployment. One of our goals is to remove the pain of deploying your products, the experience has to be fluent and instant. If you have time to have a coffee, it is probably too long. So from your feedbacks we’ve been working on optimizing Meteor deployments and this is the first result of our research.

We’ve just released a patch to our Meteor buildpack, which decreases significantly the deployment duration of a Meteor application. This patch has no effect on the initial build, but ensure better performance for all the deployments that follow.

Example

As an example, let’s take the open-source project Wekan (Wekan is an open-source alternative to Trello written with Meteor).



Wekan improvements 30%



It is worth to mention that Wekan, but also Telescope and RocketChat are one-click deployable, you will find more information about this feature in our previous blog post.

What has changed

So far we were using demeteorizer, an open-source tool to transform a Meteor application to a “simple” NodeJS application. The tool was required to deploy early releases of Meteor. Today, such tool is not necessary and we’re using the following command directly:

meteor build
meteor build
meteor build
meteor build

From this build, multiple build artefacts are generated in the directory $BUILD_DIR/.meteor/local. Among these files, cached packages, generated javascript files and css files. We are now storing all these files from deployment to deployment. As a result, the ‘build’ command won’t re-generate everything again and will use the previously built files when possible. (When nothing has changed in the code)

To conclude

Using more efficienly the deployment cache is a first step to faster deployment. This change is already having a strong impact on all your Meteor applications. We keep experimenting new ways to improve this part and provide a more instant user experience.

Photo of Yann Klis, author of Scalingo blog posts

Yann Klis

Yann Klis co-founded Scalingo. Scalingo's vision is to offer a european sovereign cloud housting platform for developers. Today Scalingo hosts thousands of web applications from customers located all over the world. Before that Yann founded Novelys a web studio specialised in Ruby on Rails technology.

Stay Updated

Get articles and platform updates in your inbox.

Ready to Deploy with Confidence?

Experience zero-downtime deployments, intelligent auto-scaling, and fully managed infrastructure. Start deploying your applications on Scalingo today.

No credit card required • Deploy in minutes • Cancel anytime

""

Deploy your first app or database

Let's start building together

Join developers who chose a platform built for fast delivery and calm production, with European values and human support.

""

Deploy your first app or database

Let's start building together

Join developers who chose a platform built for fast delivery and calm production, with European values and human support.

""

Deploy your first app or database

Let's start building together

Join developers who chose a platform built for fast delivery and calm production, with European values and human support.