AWS Startups Blog
PushEngage: Scaling-up Customer Engagement, One Push at a Time
Industry knowledge states that web push notifications are more effective than email newsletters – open rates for email are between 15% and 30%. Push notifications deliver considerably better ROI, with higher views ranging between 45% and 90%.
Based in Bangalore, India, PushEngage is leading the charge in the push notifications market and counts brands such as Ajio, TUI, Times Now, Glamour, Harvard Business Review, and Dominos as customers. Our team at PushEngage has built a platform that has increased click rates 3x to 10x times, increased subscription rates, and delivered significantly higher ROI to marketers across 150 countries. While this was originally conceived as a product for in-house use, the PushEngage team recognized the potential for wider deployment and launched it as a SaaS offering in January 2016.
The Need to Scale
Built by a team of industry experts with a deep understanding of marketing and technology, PushEngage now serves 3 to 5 billion customized and contextualized push messages on 10,000 websites every month. This feat has only become possible by moving away from traditional infrastructure and by adopting a cloud-based SaaS solution.
The company’s initial MVP monolithic architecture was restrictive in nature and could not handle volatile requests. For example, an e-commerce site would need to churn out 10X more notifications during a weekend or sale day than say, a Wednesday. This required a solution that was flexible, and which could efficiently support scalable databases.
Within six months of its inception, PushEngage decided to adopt a SaaS platform and re-architect its solution from a monolithic architecture to a containerized architecture. It chose the AWS platform to meet its goal.
How AWS Addressed the Challenges
PushEngage enables websites with notifications through Javascript code. These websites typically handle 500 million page loads every day and should render quickly. PushEngage needed a scalable solution for these voluminous page loads. To meet this requirement, PushEngage adopted Amazon CloudFront, a content delivery network (CDN) solution, as it helps deliver quick Javascript responses. It also added AWS Elastic Load Balancing capabilities with auto-scalable servers to handle load spikes.
When a notification needs to be sent, data must be quickly fetched from the backend database. This data could not be cached and thus, the database needed to be easily scalable. That’s where autoscaling helps. So PushEngage selected Amazon DynamoDB with the autoscaling feature. It ensures that scaling could be increased or decreased, based on the handling volumes. With Amazon Dynamo DB, Input-Output Operations Per Second (IOPS) could be easily increased The Amazon DynamoDB service can handle more than 10 trillion requests per day and can support peaks of more than 20 million requests per second.
A combination of auto-scale servers and AWS Lambda, a serverless compute service, makes it easy for businesses to build scalable applications that respond quickly to new information. It allows PushEngage a concurrency of over 1,000 servers at once.
AWS Lambda is a service that lets you run code without provisioning or managing servers. It’s a cost-effective way of running code as the business pays for the service only for the compute time consumed; it is not billed when the code is not running.
The next challenge to meet was getting the system to automatically retry pushing a notification, in case of message delivery failure due to external factors (message persistence and reliable retry). This was resolved by using Amazon SQS (Simple Queue Service), which helps queue and send messages at scale and ensures a reliable retry. Resending failed notifications is also enhanced by messaging-based microservices.
PushEngage wanted to provide analytics capabilities at scale. It wanted to help a marketer make sense of the data and cull out insights to help them serve effective marketing campaigns. For example, if a business sends out 10 million messages in a burst of a few minutes, PushEngage needed a solution to handle the “bursty” nature of analytics of the views/clicks of that send. It chose Amazon Kinesis as it makes it easy to collect, process, and analyze real-time, streaming data, so companies could get timely insights and react quickly to new information.
Business Benefits
Moving from a monolithic to a containerized architecture and adopting a scalable SaaS-based solution introduced some immediate benefits. PushEngage can now serve billions of requests from thousands of customers. Additionally:
· The self-managing AWS microservices architecture requires a very lean team (1-2 people) resulting in significant savings on the cost of human talent
· AWS microservices enabled the creation of a Minimum Viable Product which was then scaled-up rapidly
· Where earlier it needed 10 minutes to send 10 million notifications through a website, the same can now be done in 10 – 20 seconds.
· PushEngage can now provide customers with in-depth analytics and insights for effective marketing campaigns.
The Road Ahead
While PushEngage is today serving over 10,000 websites, it is anticipating an annual growth rate of 3X to 10X in technology scale. This will be possible due to the supportive AWS ecosystem it has invested in. PushEngage is considering adding additional AWS services, including Machine Learning (ML) and Artificial Intelligence (AI) algorithms to mine customer data and provide valuable, mission-critical business insights.
Marketers using PushEngage services can now send out a higher volume of personalized, smart push notifications. Thanks to the scaling capabilities of these services, it seems volume and scale will no longer be a challenge for the moment. The customer experience will be enhanced and the stickiness factor for the website will be increased. And marketers using this service will notice more accurate targeting and customer retention.
Don’t be surprised to see some old customers coming back to your site to shop or consume your services!