AWS Public Sector Blog

Concerts for Carers uses AWS Fargate, Amazon Aurora to deliver ticketing and events platform at any scale

AWS branded background design with text overlay that says "Concerts for Carers uses AWS Fargate and Amazon Aurora to deliver their ticketing and events platform at any scale"

At Amazon Web Services (AWS), we enable nonprofits of all sizes around the world to harness the power of cloud technology, helping them advance their mission and serve their beneficiaries. One way in which AWS and its partners help is by ensuring that nonprofits are running the most appropriate AWS services for their needs. Often, serverless technology plays an important role in running a cost-efficient environment with the agility to scale in response to changes in demand.

Website traffic for charity platforms can vary, with sudden increases in demand. For this reason, the AWS for UK Nonprofits team hosted a Twitch series that explored the use of AWS serverless services to build a donations platform. Charitable organizations see spikes in activity as they respond to disasters, host seasonal events, and perform outreach to their donor base during fundraising appeals. AWS serverless services such as AWS Lambda, Amazon Elastic Container Service (Amazon ECS) with AWS Fargate, Amazon Aurora, and Amazon Simple Storage Service (Amazon S3) enable developers to build applications that can respond to variable load, with lower running costs during quieter times. The importance of cost-optimized applications for charitable organizations is paramount in ensuring IT operating costs are as low as they can be, ensuring donations and efforts are focused on delivering value for their cause. Security is also a critical consideration, as nonprofits often handle sensitive donor and beneficiary information.

In April 2020, during the COVID-19 pandemic, while frontline workers were under immense pressure, Mark Lambert, Steve Gotkine, and Aidan de Brunner wanted to thank all of the UK’s National Health Service (NHS) workers and paid care workers. They combined their extensive experience and knowledge of the live event industry and founded the not-for-profit charity Concerts for Carers, whose mission is to promote the mental health and well-being of all NHS workers and paid caregivers and to provide them with free tickets to live events in the UK as an ongoing gesture of thanks.

“Our ambition was to unite the UK live music industry in thanking all NHS and paid care workers by partnering with live music and entertainment venues across the UK and providing free concert tickets for these staff. With our experience in working at venues across the UK, we felt that we were the right people to provide a centralized platform that allows the whole of the UK live music industry to show its thanks and appreciation” said Lambert.

The challenge was to build a scalable platform that would enable custom online registration, balloting, and ticketing, all while ensuring the lowest possible running costs. This would allow the majority of contributions given to the charity to be used to benefit NHS workers and caregivers. Security is a key consideration for Concerts for Carers, as they hold the personal information of more than 100,000 carers in their system. Respecting and maintaining the privacy of their beneficiaries is very important. The platform would see minimal traffic throughout the day and then hit traffic spikes of thousands of requests per minute and user registrations when venues and promoters released free tickets for NHS workers. This spikey traffic pattern becomes even more exaggerated when the charity receives media coverage, such as on one occasion with UK talk show Good Morning Britain, which caused the platform to suddenly see 30,000 additional page views and 4,000 new user registrations over the course of one morning.

Concerts for Carers worked with digital transformation company We Are Sweet, which specializes in custom platforms for sports and entertainment organizations. We Are Sweet saw the opportunity to build a primarily serverless platform using Fargate, Aurora, Amazon S3, and Amazon ElastiCache.

“The choice to use AWS as the underlying technology platform was driven by three key factors: scalability, performance, and operational simplicity. Being a start-up and a charity, Concerts for Carers does not have large budgets for DevOps teams, and we needed to find a solution that worked out of the box with minimal ongoing management. We did not want to manage infrastructure,” said James Haigh, director of We Are Sweet.

Serverless technologies power the spikiest of workloads

The Concerts for Carers platform is a three-tier web application with all three tiers using serverless AWS services. The front end is a static Gatsby based website hosted on Amazon S3 that users access with a content delivery network (CDN) solution which offers DDoS and other security protections. The connections from users to the platform, including between the CDN and Amazon S3 are protected using TLS (HTTPS). The content in Amazon S3 is also encrypted. Amazon S3 now applies server-side encryption with Amazon S3 managed keys (SSE-S3) as the base level of encryption for every bucket in Amazon S3. For details on encryption options for Amazon S3, please visit the data encryption page. The Amazon S3 static website hosting feature allows you to host individual webpages and static content as well as client-side scripts. This feature of Amazon S3 allows users a cost-effective method to host their front-end pages without having to manage servers.

Figure 1. The high-level architecture design for the Concerts For Carers platform described in this post. The platform uses an Amazon S3 static website developed with the Gatsby framework and an Amazon ECS cluster using AWS Fargate as a compute provider with an Amazon Aurora MySQL-Compatible Edition database.

The backend is a PHP Laravel based application that runs in an Amazon ECS cluster using Fargate as a compute provider. API requests from the front-end are distributed using an Application Load Balancer with path-based routing for the various API actions. All carers must log into the system in order to enter ballots. The registration process validates that they are legitimate NHS or paid care workers by verifying their work email address so only legitimate carers can register to the platform. This ensures that the platform is not accessible to the general public and is restricted to the intended beneficiaries.

We Are Sweet uses Docker for its local development environments, so being able to run Docker containers in the cloud for preproduction and production environments was a driving factor in their technology decision. The development team found Amazon ECS simple to understand and use, while the flexibility and serverless nature of Fargate compute provider was a perfect fit for the workload. Application Auto Scaling is configured and allows the cluster to scale to as many as 25 tasks during peak periods, this number of tasks is based on experience of running the platform. Customers can view and request changes to their Service Quotas using the Service Quotas console.

As well as serving API requests, the platform uses Amazon ECS tasks for performing background processes such as informing users that they have won tickets to a given event. The platform uses Amazon ElastiCache for Memcached as cache for their cache environment in the cloud.

The data layer for the application is powered by Aurora. The Aurora database stores customer (carer) data, event data, ballot entries, and ballot instances, including winning and losing carers. The data is encrypted, and IAM database authentication is in place to manage access to the database. The development team had previous experience with MySQL databases and required a relational database engine that combined the speed and reliability of a high-end commercial database with the simplicity and cost-effectiveness of open source databases. The variability of the workload meant that Aurora Serverless “was an obvious choice as it is fully managed, scalable, and when the Amazon ECS service scales up, the cluster can also keep up,” said Haigh.

Conclusion

Website traffic for nonprofit organizations can be variable with sudden increases in demand. AWS serverless services allow developers to build platforms that can withstand unpredictable load while remaining cost-optimized to ensure that as much of the contributions they receive as possible can go to good causes. Concerts for Carers is a leading example of using AWS serverless services to build a platform that is simple to configure and maintain, while being able to scale to meet demand.

Concerts for Carers makes use of the AWS Nonprofit Credit Program, which provides up to $5,000 USD per year in AWS promotional credits. In addition to serverless technology, these credits allow nonprofits to further offset the cost of running cloud-based solutions. If you are interested in exploring how your organization can use AWS for the first time or would like to discuss how best to invest nonprofit program credits, speak to your AWS account manager or submit a contact form. Similarly, if you are seeking to optimize your existing AWS environment, contact us or a partner in our network to discuss a review.

Nishant Casey

Nishant Casey

Nishant is a principal solutions architect at Amazon Web Services (AWS). He primarily supports non-profit organizations in the UK and EMEA. Nishant works with partners and colleagues to provide technical guidance and promote architectural best practices to customers. A DJ and gigging musician in his past life, he is an avid home chef, baker, and fan of RTS video games.

James Haigh

James Haigh

James Haigh is co-CEO and co-founder of We Are Sweet. He has more than 15 years of experience in creating high-quality web platforms. He works with sports and entertainment organisations to devise, design, and implement websites and systems. James is a multi-instrumentalist musician and enjoys cooking, eating, and everything around food.

Matthew Liggitt

Matthew Liggitt

Matt is an account manager at Amazon Web Services (AWS) and primarily works with non-profit organisations in the UK. He works with organisations to understand where they are on their cloud journey and to help them achieve their mission using AWS technology. Matt spends his time outside of work exercising, rolling around on jiu-jitsu mats, listening to a lot of music, and eating his way across the city of Dublin.