In the nine months since we began using AWS, we have completed in excess of 1,700 software builds. In comparison, prior to AWS, we were averaging five builds a week and limited to one core deployment per month.  
Phil Basford Head of Engineering

UK-based app developer Palringo is a long-standing provider of mobile chat, entertainment bots, and gaming services to millions of people around the world. Palringo brings users together in an immersive second world to chat and play in groups of all sizes, exchanging millions of messages per hour. With ten years’ expertise in fostering a thriving atmosphere of community and friendly competition among users, Palringo is building on its strengths in the Middle East and North Africa with plans for expansion in Western markets. With increasing emphasis on user-created content, Palringo is pushing the boundaries of social and mobile technologies.

Palringo has always had to adapt to the changing world in which it operates. Because mobile technology never stands still, the company has had to remain agile to stay relevant with consumers. In late 2015, it was running its IT out of a collocated data center, with a monolithic software stack that was intricately tied to the physical hardware on which it ran. Phil Basford, Palringo’s head of engineering, outlines some of the challenges this presented. “We’d been having some power outages—which should never happen in the first place—but recovering from them took hours, because all the components had to be restarted in a certain order. Then there would often be a day of small service disruptions while we tried to put things right,” he says.

Palringo’s CEO had outlined a vision in early 2016 for the company that put a renewed focus on quality of service for customers, delivering new products quickly, and being able to scale during busy periods. As the company grew, Palringo’s development team had swollen to 60 people, while it still had just three people looking after the infrastructure. “Our ratio of ‘dev’ to ‘ops’ was way too high,” says Basford. “The infrastructure guys were seen as bottlenecks to getting new services and features out fast. We knew things had to change if we were going to fulfil the aims of the business.”

Basford and his colleagues set a goal of migrating Palringo’s data center to Amazon Web Services (AWS) within one year—by April 2017—just in time for the renewal of the company’s data-center contract. “We had done some prototyping on AWS before, so we knew that it was a good fit for the business,” says Basford. “We also had read a lot of background material, which confirmed that AWS could help us meet our goal of shifting our whole development mindset to DevOps and continuous delivery.”

By April 2017, Palringo had moved all its services to AWS on time and on budget. “We were able to plan and execute a lot ourselves because a colleague and I became AWS Certified Solutions Architects,” says Basford. Palringo uses Amazon EC2 Container Service (Amazon ECS) and Docker to move code from its build, to staging, to production environments.

Palringo also looked at developing new products and features along the way. “We’ve also got one project that’s already been a great success, and two more in the next six months that will revolutionize how we work,” adds Basford. The first uses Amazon Kinesis Analytics to produce real-time metrics on group game activity and other statistics, and then AWS Lambda to serve visualizations directly to customers and internally. “Our senior management were bowled over,” says Basford. “They’ve never had the ability to see what games were being played in real time, and it was all done in a few days with a small amount of code using the streaming data platform provided by Amazon Kinesis.”

Palringo was so pleased with the results of this that it replaced its in-group chat metrics solution with Amazon Kinesis Analytics and AWS Lambda. “Previously we had 10 hugely expensive databases with complex PHP scripts running on obscure, out-of-date servers. This was unsupportable and did not scale, so we replaced those with Amazon Kinesis Analytics and a single AWS Lambda function in two days. Building our own stream-processing pipeline would have required us to hire a team of developers with advanced skills in distributed computing and stream processing frameworks, adding months and huge investments before we could release these improvements,” says Basford.

The other two projects Basford is excited about are a framework that allows external game developers to plug into Palringo’s platform and provide content, and a data lake to provide more in-depth knowledge about the platform’s users. The team plans to use the Amazon API Gateway and AWS Lambda for the former, and Amazon Kinesis Analytics again for the latter. “We’ve had some great conversations with the Amazon Kinesis team about how to blend real-time data with historic business intelligence,” says Basford.

For Basford and his team, the most immediate benefits of moving to AWS have been the more agile development processes it has encouraged. “In the nine months since we began using AWS, we have completed in excess of 1,700 software builds,” says Basford. “In comparison, prior to AWS, we were averaging five builds a week and limited to one core deployment per month.” Palringo used to limit the core platform changes per month due to the complexities and efforts required, which involved four people talking to each other constantly, restarting components in the right order. “It was quite horrific,” Basford remembers. “Now we can do that four times a month with much less disruption, plus we have the ability to do 20 to 30 minor deployments a day with no disruption at all.” Palringo currently has 70 continuous-development pipelines pushing out new products and games to the chat platform, and this number is increasing as the migration continues.

The environment is also more resilient than before. “Because we designed everything in AWS with multiple Availability Zones and self-healing in mind, we shouldn’t have the same service-quality issues we had before,” says Basford. We can also handle busy periods better, with around 1,500 messages per second as opposed to the normal rate of 500. “And moving away from a physical data center has even improved the quality of our builds. Having the infrastructure as code on AWS means environments are built to best-practice standards, whereas before, ‘best practice’ might be written in some documentation people don’t adhere to or don’t even check,” he says.

With the move to AWS over, Palringo will soon begin looking to save money. “Now that we’re all-in on AWS, we’ll begin optimizing our architecture,” says Basford. “One example where we’ve already done that is by moving one database that was costing us a lot of money from Amazon Relational Database Service (Amazon RDS) to Amazon DynamoDB. That was a lesson learned, and, in any event, it was a lot cheaper than the 10 components doing that job in the data center.”

Palringo has also increased its app engagement by processing user activity in real time using Amazon Kinesis Analytics and providing those statistics to customers. Customers now have better visibility into group chat statistics like number of messages or total messages sent over time by their type. In addition, internal metrics on which games are being played in which chat groups and which groups are the most active give product managers and game developers better insight to increase game adoption and length of play. “AWS is allowing us to be more focused on our users, what makes them happy, offering them a great product and a rock-solid reliable service. We no longer have to spend our days worrying about running our infrastructure, dealing with power cuts, renewing hardware, and responding to distributed-denial-of-service (DDOS) attacks,” says Basford.

Basford is confident the main benefit to Palringo has come from the shift in culture. “In moving to AWS, we’ve built a dramatically different way of working that will see us consolidate and expand for years to come,” he says. “We’ve doubled down on AWS because we think it’s the best way to help us improve performance, scalability, and availability and offer a great experience to the users of our app.”

Palringo diagram

Caption: Amazon Kinesis Analytics architecture at Palringo

To learn more about how AWS can help move your app to the cloud, visit our mobile details page.