Hello!
Today Ruslan Tugushev is with us, the founder of
Boomstarter , which has been developing a crowdfunding platform for 3.5 years and advising authors of projects how to raise money with their own money. At the time of March 2016, the projects have already attracted more than 210 million rubles, and Ruslan tells how Microsoft Azure supports the platform with infrastructural capabilities. Just recently, Bumstarter helped to assemble
the Mayak space project without seven thousand two million rubles - the most successful space project in the entire history of Boomstarter! Under the cut - the details.
Pro start Boomstarter')
Boomstarter was launched very successfully, as we were one of the first crowdfunding platforms aimed at the Russian-speaking audience. From a technological point of view, the launch went smoothly, without unpleasant surprises, thanks to the fact that we relied on proven technologies. Although the hardware sometimes threw surprises (we ran the project on leased dedicated servers), but more often we were ready for them. Now we are one of the leading crowdfunding platforms in Russia, 300,000 unique visitors visit us every month, and we are mainly focused on the Russian-speaking segment of the Internet. We know that Habr loves space, and we have projects that are directly related to it. One of the last successfully completed such projects is the Mayak space satellite, which attracted 1,993,146 rubles to test and create the flight version of the Mayak small spacecraft, which will be put into Earth orbit on a Soyuz-2 launch vehicle "In the middle of 2016.
The Mayak project is the most successful space project in the history of Boomstarter!
The author of the project, Alexander Shaenko, gave a small feedback on working with Boomstarter:
“The best part is that Bumstarter is not a platform, it is a service where there are people who are ready to help with advice and deed. Many tips have been heard and implemented. As part of this project, we have seen how many enthusiasts, engineers and space lovers are among us, that the topic of popularizing astronautics is interesting to people. That people are ready to unite and help in the fight against the problem of space debris.
We got a lot of useful contacts, partners that help our project.
And, of course, we got the opportunity to realize a project that the whole world will know about this year! ”
Pro cloud selectionWe considered all possible options and were afraid of unobvious problems and as a result, the long unavailability of services. Analyzing the possible disadvantages and advantages of different approaches to the deployment of our platform, we naturally decided to disengage from physical problems with servers. At the same time, of course, at the very beginning there were many doubts, especially in the context of which platform to choose, but, thanks to positive reviews, the choice finally fell on Microsoft Azure and after the tests, almost all doubts disappeared. In general, we expected to see a more stable operation of the service and a reduction in the cost of expanding services and maintaining performance in the long term. We are satisfied with what gave us the cloud.
Pro technology and migrationWith the exception of file storage migration, the migration was unexpectedly easy. The technical department of the project took the migration and the cloud platform enthusiastically. There were mostly time consuming, especially the difficult part was the transfer of files from Amazon S3 to Azure storage. Our volumes did not allow the transfer with at least some acceptable downtime, so we had to transfer the data incrementally. What I would like to have, and what was not, is a ready-made tool for these tasks. In fact, even getting the list of files out of S3 turned out to be a nontrivial task: the finished tools could not cope with our volumes. When we did get the file list and launched our self-written migration tool, we were disappointed: the estimated time calculations exceeded a month and a half! We had to teach our utility to parallelize, including to run on several machines. Here we were helped by the possibility of a cloud of quick commissioning of additional machines.

If we talk about technology, then, since our project is directly related to finance, we had to responsibly approach (and approached), the choice of technology. The main requirements were reliability and lack of vulnerabilities. Of course, we were also interested in the speed of development.
Architecturally, our project is a completely standard web application, including for mobile clients, with a three-tier architecture. The main tool used is Ruby on Rails. A large amount of logic is rendered to the frontend.
For caching, the fail-safe Azure Redis Cache is used, the implementation of Microsoft Redis as a service in its cloud. Data is stored in PostgreSQL, for background tasks resque. Everything is quite traditional for Ruby On Rails, and even time-tested solutions.
ConclusionOur workload is steadily and smoothly growing, but thanks to the scalability of the cloud, we are also ready for sharp surges - this allows us to think less about infrastructure problems and maintain equipment and services and focus on applied tasks. The cloud met all expectations, but there is also a great merit of our employees - we deliberately approached the task, all implemented within the specified time (despite the fact that the transfer of file storage had to be delayed for a while) and the infrastructure was carefully transferred.