
BaaS platforms (Backend as a Service) made the development and maintenance of backend for mobile and web applications fairly simple and predictable processes. One of the flagships of the BaaS movement was Parse, but in 2016 it announced that it had discontinued customer service since 2017.
In connection with the closure of their service and the lack of Russian-language cloud BaaS, we decided to create our own analogue -
Scorocode . About this under the cut.
Flourishing BaaS
Development of the server part is the most difficult and unpredictable stage of creating an application. Often, when planning the development of a project, the necessary amount of resources and the time to create a backend are underestimated.
')
One of the possible reasons is a waste of time choosing tools, databases, platforms, operating systems, etc. Therefore, the implementation of even relatively simple projects can be very delayed, which will lead to increased costs.
Another reason is the limited resources available to the team. Most often, backend has to be developed with the help of the tools and technologies owned by the team members. The process is a long one, and the application itself is complex and expensive to maintain.
For a long time, the IT industry has been looking for ways to simplify the development of backend. Many companies created tools that facilitate the work on specific aspects of the development, but this only made the process more difficult: developers had to understand not only the specific database or platform, but also additional tools.
Everything changed in 2011, when
Parse proposed a new approach to creating a backend based on cloud service. He allowed to solve two main tasks:
- Cloud storage and free manipulation of structured data;
- The ability to write server-side business logic in JavaScript — a consistently popular programming language for several years.
Later, other useful features were added to facilitate the creation of the backend and tools for solving routine tasks.
The idea was a huge success. In the middle of 2012, 20,000 developers used the service, and the monthly increase in users was 40%. Now the development stage of the backend took days, not months, and the saved resources could be spent on developing and improving the frontend.
Using BaaS made it possible to more accurately estimate the development time and the necessary resources. The process of creating backend has become more formalized, allowing for a single platform to use a single server part, the project maintenance has been simplified, costs have decreased and become more predictable.
Scorocode: the beginning
Three years ago, Facebook
acquired Parse , and at the end of 2015, the social network decided to use the power of BaaS exclusively. All other developers must migrate to other resources during 2016.
This event coincided with the start of the development of our own BaaS platform. Initially, we wanted to create a service, immediately providing users with both the basic functionality of similar platforms, and a large number of new unique functions. As a result, we made a small pivot, and as a starting point for Scorocode we adopted the basic Parse functionality with the ability to migrate data from it to our cloud.
Scorocode: question technique
Scorocode is a horizontally scalable system built on clustering principles. Clusters are divided into types: API, DBMS, files, statistics. Each cluster API, working with end applications, can withstand a load of about 25 thousand requests per second. As the load grows, the number of clusters increases.

It is a little about the platforms and languages used by us in development.
The main DBMS in Scorocode is MongoDB, Redis is used as the in-memory database, and the queue server is running RabbitMQ. The high-performance API is written from scratch on Go. The language was chosen by us after a series of experiments with Node.js and C ++. Recently, Google has been very actively developing Go, it is comfortable to write on it, the code is compact, and the performance is at the C ++ level. Multiple platform microservices are also developed on Go.
Scorocode allows you to execute two variants of server code:
- JS-scripts with business logic. They are stored and executed on our servers. Moreover, they are executed asynchronously - according to the schedule or with manual launch from clients, through calls via API. Server-side scripts are handled by the Google V8 engine.
- Triggers on JS, i.e. data handlers. They are executed by a high-speed engine written in Go. In this case, we abandoned V8, because it starts long enough, and each handler has only 500 milliseconds to execute the code.
How are we different from competitors?
- Scorocode consists only of self-written and open source components . The situation when some of the components of third-party developers are making changes with which we have to put up. We know the design and algorithms of each element of the system, so error correction and the implementation of new functions can be performed as soon as possible.
- Corporate customers can store sensitive data in their own cloud . In this case, only business logic is processed on Scorocode, and all requests for data are redirected to the client cloud.
- All documentation in Russian . We admit honestly - not everyone has enough technical knowledge of English to read the documentation without difficulty.
- All servers and data are in the territory of the Russian Federation . This allows our customers to comply with legal requirements.
Financial issue
At the moment we have
three tariff plans :
- Free “Free” . If you are a novice developer, then the capabilities of the tariff plan may be enough to complete the work of a simple application.
- Basic “Indie” . The default is 1.5-2 times more options than the free plan. This is enough for small studios and development teams. You can expand the capabilities of the tariff plan by purchasing additional options in the Marketplace.
- Corporate “Enterprise” . Individual conditions for corporate clients, no restrictions, dedicated clusters, space technical support, etc.
With the Scorocode platform, you can further reduce application maintenance costs:
- All new developers, we enroll when registering at the expense of the platform for 3000 rubles. This is enough to pay for one month of the Indie tariff plan.
- After confirmation of all new development studios and digital agencies, we credit 10,000 rubles to the platform account. You can spend them on your own - either take Indie for three months or purchase additional options in the Marketplace.
Development
We have optimistic plans for the development of Scorocode for four years ahead. We are invested and supported by the
PROF-IT GROUP group of companies, which in 2015 was ranked as one of
the fastest growing IT companies by Cnews.
Immediate development plans:
- Integration with partner cloud services to expand the data processing methods stored in Scorocode;
- Intelligent chat bots factory;
- Full development cycle support - from backend to frontend.
Our project has recently started and will be improved under the influence of the IT community. We are ready to listen to the wishes of developers, expand and revise the range of opportunities offered, find a reasonable balance in pricing. We are ready for dialogue with users and for constructive criticism.
We invite you to share in the comments your wishes and impressions of the use of
Scorocode .
We will regularly blog with a series of articles about Scorocode: examples of its use, our experience in developing the platform and features of application development in general. We will be glad to see you in subscribers.