Contact us
Our team would love to hear from you.
Android app development and migration to Golang microservices unlocked the scalability and improved resilience of the gaming-and-chat applications.
Our customer is a startup that created iOS and Android native apps combining real-time multiplayer gaming with a messenger. In these apps, people can play and at the same time communicate with friends one-on-one and in group chat rooms or make new friends in public chat rooms. Players can also participate in tournaments to top the leaderboards. The catalog of curated multiplayer games now contains more than 50 games (including Pool, Draw Together, Sea Battle, Ocho, Hold’em, Ludo, etc.).
As the number of users and their message history were growing, the customer started experiencing operational challenges related to the server-side and the performance of an Android native app. To scale and deliver new features faster, the company decided to replace the monolith server-side written in the Dart programming language with microservices. The customer’s team also needed an admin panel to maintain the app more effectively.
Apart from the server-side migration, the customer wanted to add new functionality to the Android client app and resolve issues such as bugs, crashes, and slow rendering.
The engineers at EffectiveSoft joined the client’s team to:
Our team examined the code, planned the migration, and iteratively decomposed the app’s back-end into microservices to minimize risk and follow agile principles. One of the trickiest parts, the data migration, was also thoroughly planned, prepared, tested, and finally performed without downtime. As a result, the team created a serverless back-end with more than 20 microservices, each responsible for its own domain.There are services for user profiles, inventory, media (the images that users upload), etc.
All the microservices are deployed in AWS in containers fully managed by the Amazon Elastic Container Service (Amazon ECS). Terraform was used to model the AWS infrastructure.
The team also created a front-end layer for microservices–the admin panel. It is a simple internal developer tool for fast navigation and management of all microservices in one place. In the admin panel, team members can access
any microservice and set up items, configuration settings, version control, monitoring, diagnostics, etc.
The combination of Angular framework and TypeScript code makes the admin panel easy to maintain and extend with minimal engineering time, as every developer can add functionality to the panel.
While working on the Android app, an engineer at EffectiveSoft fixed stability issues and improved the app’s quality and performance. As the app evolved, he contributed to new functionality (Private Chat Group, Tournaments, InApp Purchases, etc.) and worked on tight integration with native C/C++ libraries. This integration allowed implementing such app features as:
Our engineers have been working as part of the customer’s team for almost 4 years.
After migration to microservices:
The work on stabilization, optimization, and advancement of the Android client app resulted in:
CTO
Plato
Our team would love to hear from you.
Fill out the form to receive a consultation and explore how we can assist you and your business.
What happens next?