MovieStarPlanet Modernizes Architecture Using Microservices on AWS, Saving Over 40% on Hosting Costs
2022
With over 400 million registered players, MovieStarPlanet has a lot of data to store. But scaling was a struggle on the company’s aging SQL-based monolithic architecture, and servers could take up to 20 minutes to boot. To create a better experience for its players, MovieStarPlanet decided to modernize its architecture. By modernizing using microservices on Amazon Web Services (AWS), MovieStarPlanet improved engagement and retention, reduced dynamic hosting costs by over 40 percent, and increased developer productivity, helping create new experiences for players.
We don’t have to prepare databases and tables before we can create new features. Using Amazon Neptune, we already have that in our hands.”
Caspar Strandbygaard
Chief Technology Officer, MovieStarPlanet
Making the Decision to Modernize
MovieStarPlanet, a software development studio focusing on creating social games for children, has been using AWS services for many years. Its most popular game, also called MovieStarPlanet, was launched in 2010, and its userbase has been increasing ever since.
With the growing popularity of the game, however, came challenges. The company’s enormous databases, consisting of social networking and gaming data from hundreds of millions of players, were very expensive to run. The SQL-based monolithic architecture wasn’t scaling quickly or efficiently, making it difficult to avoid downtime during peak times, such as after school. The code base had grown over time, becoming spaghetti code: disorganized code that made it difficult to maintain and update features and services without impacting the entire server. MovieStarPlanet encountered approximately 5–10 alerts every week, which could take developers a significant amount of time to fix—time that might have been spent creating new features for players to enjoy. The company decided to modernize its architecture using microservices on AWS to improve backend efficiency and help it reach its business objectives of improving player engagement, increasing developer productivity, and reducing costs.
Moving to a Microservices-Based Architecture
In 2017, the company became an early adopter of Amazon Neptune, a fast, reliable, fully managed graph-database service that makes it easy to build and run applications. Graph databases are purpose built to store and navigate relationships. They use nodes instead of tables to store data, and there’s no limit to the number and kind of relationships a node can have—which makes them an ideal choice for social applications. Using Amazon Neptune helps MovieStarPlanet capture granular details on player interests, such as which items players purchase and which user-generated content their friends have liked. “Some of our applications have data structures that fit really well in a graph database,” says Jacob Olesen, senior DevOps engineer at MovieStarPlanet. “We were thrilled by the social features that using Amazon Neptune would help us create.”
Using Amazon Neptune, MovieStarPlanet built identity graphs to track users’ friendships, items, and purchases to make recommendations—something that was difficult to do previously. “When we tried to do something similar in our SQL-based world, it was almost impossible,” Olesen says. The company can now gain insights on players beyond the surface level, making it possible for MovieStarPlanet to create a personalized recommendation engine to increase user engagement. “We don’t have to prepare databases and tables before we can create new features,” says Caspar Strandbygaard, chief technology officer at MovieStarPlanet. “Using Amazon Neptune, we already have that in our hands.” MovieStarPlanet has continued to optimize its use of the service over time, and in the past 12 months, it has reduced its cost by 50 percent.
One of the goals of the new backend architecture was improved scalability. MovieStarPlanet had begun using Amazon DynamoDB—a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at virtually any scale—in 2015. During the development of the new architecture in 2017, MovieStarPlanet adopted the service more widely. The scaling capabilities of Amazon DynamoDB help the company improve game performance while also freeing up resources. Alarms have been reduced to fewer than one per week, so now developers can focus on creating new features instead of managing or provisioning databases. “Amazon DynamoDB, compared to a SQL or similar database, is so simple to set up, to work with, to scale up and down, to have completely hands-off management,” says Olesen. “We have really pushed for our developers to use that whenever it is feasible.”
Another major part of MovieStarPlanet’s microservices architecture is Amazon Elastic Compute Cloud (Amazon EC2), a web service that provides secure, resizable compute capacity in the cloud. MovieStarPlanet also uses Amazon Elastic Kubernetes Service (Amazon EKS), a managed container service to run and scale Kubernetes applications in the cloud or on premises. “When Amazon launched Amazon EKS, we didn’t have to manage the host nodes, management plane, and so on,” says Olesen. “From a DevOps perspective, it’s made it so simple to work with.”
In addition to increased scalability, performance, and staff productivity, MovieStarPlanet has seen significant cost savings by implementing a microservices-based architecture on AWS. The base cost for its SQL-based monolith was approximately $70,000. For the new microservices-based architecture, the base cost was approximately $1,500. Additionally, its dynamic hosting costs have been reduced by over 40 percent. “Our cost will scale more with users now than ever before and may help us become more competitive,” says Strandbygaard.
Gaining the Flexibility to Experiment with New Features
Moving from the SQL-based monolith presented a challenge. “It was a pretty big task because we were changing all the layers—not just the physical or the virtual infrastructure but also the code that ran on that at the same time,” says Olesen. However, the benefits that MovieStarPlanet realized through moving to a microservices-based architecture have been well worth the effort. The company appreciates the ease with which it can add services or features to its network. “Everything is simple to set up,” Olesen says. “So if tomorrow we make a new game where we need a new service to make it work, that’s not going to be a big deal. That’s just a comfortable, future-proof situation to be in.”
Additionally, the agility that using AWS provides helps MovieStarPlanet to feel comfortable introducing new features. “If there are any issues with a new feature or update, we know we can just turn a dial to add more capacity to provide uptime until we improve the performance or fix the issue,” says Olesen. “Whereas with the old architecture, if we introduced something that didn’t perform, we would bring down the whole system.”
In the future, MovieStarPlanet will develop all of its games to run on the same backend, which will drastically reduce the time to market. The company no longer worries about outages caused by server overload during peak times or game launches. “I don’t think any of us fears having hundreds of thousands of concurrent users now, as we did with the old backend,” says Strandbygaard. “The old infrastructure could be brought down by success, but that’s not an issue anymore.”
About MovieStarPlanet
MovieStarPlanet is a software developer with a focus on creating social games for children. Its vision is to provide an inspiring and safe social network by delivering safe digital entertainment.
Benefits of AWS
- Reduced dynamic hosting costs by over 40%
- Improved user engagement and retention
- reduced alarms from 5-10 per week to fewer than 1 per week
- Increased developer productivity
- Increased scalability
AWS Services Used
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers.
Amazon Neptune
Amazon Neptune is a fast, reliable, fully managed graph database service that makes it easy to build and run applications.
Amazon DynamoDB
Amazon DynamoDB is a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at any scale.
Amazon Elastic Kubernetes Service
Amazon Elastic Kubernetes Service (Amazon EKS) is a managed container service to run and scale Kubernetes applications in the cloud or on-premises.
Get Started
Organizations of all sizes across all industries are transforming their businesses and delivering on their missions every day using AWS. Contact our experts and start your own AWS journey today.