How to Scale Parse Server?

How to Scale Parse Server?
Can Parse Server Scale

Things you need to know about scaling Parse Server.

In January 2017 Facebook Parse hosting service was completely closed. We feel proud for the number of people that trusted in Back4App`s Parse hosting service. From the start of this journey, we learnt some lessons which we want to share with our community.

When launched, it provided exceptional NodeJS framework for the app building and scaling process. It was launched as an open source version of Parse.com. We took total control of the backend and avoided locks and limitations that occurred with Black Box solutions. Due to this, we were able to scale some apps up to 10.000 Req/s at the rate of about 80.000 simultaneous users.

The figures mentioned above show us that we were far better than many black box backends as Parse server was able to scale more than 600 Req/s that was told on the pricing page. There were numerous features that ensured that Parse server was the best app scaling option at that time.

Amazing options making it easy

There were three major options for scaling which are discussed below.

Addition of new modules

As time passes, the number of users on your app gets increased and to keep them engaged, you need to constantly keep adding new features to your apps. Parse server being an open source server allowed to add many new NodeJS modules and integrating new features.

Can Parse Server scale?

With the right settings and minor adjustments it’s possible to scale Parse Server far above 1000 requests per second. In general, go for horizontal scaling for your application servers and vertical scaling for your database servers.

  • Application Cluster – Multiple small servers
  • Database Cluster – Replica set with large servers

On Parse Server, scaling is very easy on both horizontal scaling and vertical scaling sides. You can easily create new similar instances to share between your app requests. You can simply create one simple instance and scale it vertically on cloud platform which makes it very easy and cost efficient. On the database end, you can start with one structure and is your app grows, you can make copies of that structure and reuse them.

Performance

To increase the performance of your app, you can use Parse server scaling, if you still want more performance, you can use DB structure and do all the processing over the server machines.

Parse Server Structure

The Parse server structure has some impressive working examples with NodeJS and the database working together. Using JavaScript, the single thread structure of Node can be manipulated into the usage of multi core on cluster mode. With this user can share resources over the network. To keep balance between processes, developer may use nginx. And for authentication, Node`s site can be used with connect-auth library. This process has a con that is the speed and developing mistakes.

The database scalability has many features like it allows to scale shared resources between multiple data centers. It also helps you in keeping track of processes and their performance.

NodeJS and NoSQL DB work together to manage all scaling and performance issues. EA Sports, Square Enix and McAfee and some other popular companies use them together because of their services and compatibility.

Parse server compatibility

Parse server is compatible with almost all servers, it can run on any server and you can also design some software to optimize the performance. It can also run on cloud if it is not complicated for you.

Conclusion

We can say that Parse Server was successful because of its open source model. It enabled users to do anything they can think of about the scaling of their app. that is why Parse server was once the most popular for building of backends of apps.

Can you scale Parse Server?

With the right settings and adjustments it’s possible to scale Parse far above 1000 requests/second.

How does the Parse structure look like?

mbaas architecture

The ideal Parse backend infrastructure will run on multiple small application servers (horizontal scaling) and on a large replica set (vertical scaling).


Leave a reply

Your email address will not be published.