We had a product that needed to be delivered and very strict timelines. To meet those timelines we had to increase our capacity by about 40 percent. The ease with which you could do that, the flexibility, and the fact that you introduce the brand new people to the project, and it doesn’t take a big learning curve for them to jump in and be productive nearly the next day was really important.
Value DeliveredThe core business value of the platform is to provide custom gamification services. Unlike most competitor’s solutions, the platform was intended to support each client with a functionality to tailor games and surveys based on the specific operational needs. AltexSoft met this demand by introducing a sustainable architecture and delivering continuous support by integrating new gaming experience.
Database Access Layer Research and Elaboration Phase That Prevented an Unstable LaunchOn the research stages, we had to choose the database type that would be fast and allowed for generating complex reports. The team was challenged to build an architecture to endure up to 20,000 operations per minute to cover data exchange with hundreds of endpoint devices. The initial assumption implied that the nonrelational database could handle this workload with maximum performance. The team started testing the NoSQL architecture with the new DocumentDB service from Microsoft. As a result, the engineers uncovered many pitfalls in using this database. First of all, as DocumentDB was recently released, it still had a number of technical issues. Another drawback of DocumentDB was that it couldn’t process complex cross-document and deep-graph queries with expected performance. This didn’t allow for fast report generation based on the acquired user data. So, the approach was rejected, and the team decided to design a custom-data architecture that combined both relational and nonrelational schemes without the use of DocumentDB. This new hybrid scheme prevented the architecture from being unstable. It also shortened the development course as engineers didn’t have to constantly adapt to the flawed system, and were instead able to focus on business tasks.
Development of a Scalable Cloud Architecture to Handle High LoadsThe developers took a hybrid approach to building server-side architecture and data processing. As consumers play games, take surveys and get rewards, the system has to track all activities, ranging from gaming scores to the details about redeeming the awards. This requires a large number of simultaneous database operations and can eventually disrupt gaming experiences for customers. The solution was to utilize Microsoft Azure Cloud to build the architecture that would store denormalized data along with the normalized, then transfer denormalized data to a relational Azure SQL database in the form of a sole object graph. After that, the data is normalized in the Microsoft SQL database in background mode. All commands and queries are performed by using the Service Bus pattern built on top of the Azure Message Queues. As a result, the architecture bears the workload of up to 20,000 queries per minute without performance loss on the customer side. In the meantime, normalized data is seamlessly interpreted and used for generating reports.
Delivering a Client Portal with Sophisticated Business LogicsThe client portal is an environment where users operate their gamification campaigns. 1) Campaign management: Clients pick games, choose their graphics using available assets, set campaigns, and apply various types of rewarding rules. 2) Access control: If some players aren’t welcome to participate, the access control can be set to define the categories of preferred users. 3) Reporting system: As all interaction data is gathered, the system suggests analyzing the success of campaigns via reports.
Responsive Team Management and Communication to Meet On-stream UpdatesThe dedicated team of four AltexSoft experts established a sustainable cooperation framework with a partner team consisting of a designer and a local solution architect. Working as a solid development unit, the team not only managed to launch early after 10 months of research and development but can also handle the integration of a new game or feature every 2-3 weeks.
Approach and Technical Info
The dedicated team consisted of a front-end developer, two .net engineers, and a quality assurance specialist. The platform was built with .NET, ASP.NET, and Microsoft Azure Cloud. The first version was launched after 10 months and the entire cooperation took 2 years.
Wondering how to build
an exclusive software product for your business?
Discuss your project needs with our architects.