JustGiving has been operating as an online fundraising service for over a decade, but the company has now turned to cloud provider AWS to help it deliver a more effective service, including meeting unexpected peaks in online traffic and analytics to help connect donors with causes that might appeal to them.
When JustGiving started in 2001, its aim was to help charities and other good causes to take advantage of the power of the web for fundraising activities. Back then, the cloud did not really exist, and so the firm had to build its platform using traditional hosted infrastructure.
Now, the firm has started migrating to Amazon Web Services (AWS) in order to take advantage of the greater scalability and reliability that the cloud provider is able to offer, but also because of the features and application programming interface (API) capabilities that enable it to implement new ways of doing things.
"Like many businesses of our age, we didn't have the option of cloud when we started, so we went for physical hosting facilities. Now we are re-architecting our software; we have traditionally used a large monolithic application platform, and we are chiselling away at it and taking those functions and features and deploying them as microservices on AWS," JustGiving chief information officer Richard Atkinson told V3.
This means that JustGiving has been able to split its platform into a number of different modules running on AWS, parts of which can be scaled up and down automatically as necessary in order to cope with changing patterns of demand.
"In our field, you get international disasters where media coverage is moving faster than it ever did, and the demand picks up very quickly without warning. And with social media, things like when the ice bucket challenge takes off or Stephen Fry tweets something about the JustGiving page, we can have 10,000 visitors in 10 seconds, which means you need to scale up very quickly," Atkinson explained.
To illustrate this, JustGiving usually sees a baseline donation rate of about one per second on average, but Atkinson said that the 95th percentile for donations can be 20 times that, and the absolute peak is another three times higher still.
Meanwhile, the firm has been moving to take advantage of recent capabilities added by AWS, including analytics and NoSQL database services. With these, JustGiving is starting to sift through the data generated by visitors to its site to analyse what kind of causes they are donating to.
"We've built an analytics capability that takes data from about seven sources, one of which is weblogs, and we're using DynamoDB to capture specific sessions of users on JustGiving. We're using Kinesis to stream that through, we're using S3 to store it, and we're using Redshift [Amazon's data warehouse service] to make sense of it. We're using the building blocks that AWS provides and putting it together into a solution for our own use," Atkinson said.
JustGiving is also using resources from Microsoft's Azure cloud to create what it calls the GiveGraph, which shows each visitor a personalised view of activity from friends and contacts showing who they are fundraising for or donating to, analogous to the way social networks operate.
JustGiving is also exploring using Amazon's Machine Learning service to analyse what causes are being supported by specific charities, in order to deliver a better search capability for visitors coming to the site looking for a good cause to donate to.
"For example, if you take two well-known charities, Cancer Research UK and Macmillan, they both work in the area of cancer, but one works in the field of researching treatments while the other provides palliative care and practical support for those affected by it, and these are slightly different causes," Atkinson said.
These reasons and more are why JustGiving settled on AWS as the provider for its services, according to Atkinson.
"JustGiving has responsibility for $1.6m in donations each day, and we‘ve got 20,000 causes that entrust us with their fundraising activities, so we're kind of mission critical for the whole sector. This means that we had to have a technology partner we could rely on, and AWS is so far ahead of the rest of the crowd they were the first people to speak to," he said.
"AWS gives us a high level of robustness, and it's up to us to turn that into resilience in our architecture. Any service can and will go down at some point, but what you can do with AWS, is if you engineer your software the right way, you can suffer something not working by building in redundancy and re-routing," Atkinson said.
Users are told that their non-existent 'iPhoneID' is expiring soon
Expansion of SDK intended to expand Amazon Alexa ecosystem
Locky returns from a prolonged rest with two new variants
AMD lambasted over Radeon RX Vega pricing that will add an extra £100 to RX Vega 56 and 64 graphics cards
Company accused of failing to tell anyone that the launch prices were only introductory offers