High performance microservices architecture with Dynamo DB
How we helped the affiliate, e-commerce platform Clickbank shift to a cloud microservices architecture with predictable performance while delivering a seamless experience for both affiliates and users.
About ClickBank
ClickBank is a global e-commerce platform with a vast marketplace that enables businesses to connect with affiliates to promote their products. The company’s e-commerce tools help product owners sell more with less work, and its marketplace helps marketers and aspiring entrepreneurs find new ways to earn an income online.
The Challenge
ClickBank initially engaged Commerce Architects to rebuild and update an order history application for improved functionality. After the success of the project, the company expanded our team’s role as an extension of its development team. This partnership included supporting ClickBank’s pathway to modernization by moving key areas of functionality from an on-premises monolith to high performance cloud microservices architecture.
One of ClickBank’s top app modernization priorities was replacing an on-premises Apache Cassandra NoSQL database with a fully managed NoSQL database. The Cassandra database was being used for a wide range of services. One of the core services central to the ClickBank business model saw traffic surges ranging from 50 - 500 requests per second. As a result, the company needed to scale up and down with demand with a cost-effective, flexible pricing model.
Solutions and Outcomes
To address these two issues and support ClickBank’s overall objective of shifting to a microservices approach, our team leveraged Amazon DynamoDB to:
Ensure scalability
Set up a provisioned autoscaling system using Amazon DynamoDB to handle the company’s massive surges of traffic and deliver fast, predictable performance. This includes increased provisioned read/write capacity when traffic volume spikes and decreased capacity when demand is lower.
Improve redundancy
Because Amazon DynamoDB tables support a multi-region deployment model, ClickBank can now improve redundancy by deploying DynamoDB across multiple regions.
Reduce costs
By moving from an on-premises Cassandra database to Amazon DynamoDB, ClickBank can now scale based on traffic load in real time while leveraging Amazon’s pay-as-you-go pricing model – translating to significant cost savings for compute resources and eliminating database licensing and support contract costs.
Accelerate processing time and redirection
One of the critical services required recording data in a database and then redirecting a user on to the ultimate destination. By switching to Amazon DynamoDB, the company achieved a 50% reduction in process time to record the data and redirect the user.
Increase efficiencies
ClickBank is utilizing Amazon DynamoDB Time-to-Live (TTL) to automatically expire records after 60 days, eliminating the need to clean up expired data.
The company is also using the Amazon DynamoDB Enhanced Client for Java, making it easy to interact with Amazon DynamoDB via Java objects in SpringBoot using WebFlux.
In addition to the implementation outlined above, ClickBank now has the ability to leverage Amazon DynamoDB Streams and Amazon Kinesis Data Firehose to provide the business intelligence team with logs that can be ingested into the data warehouse, rather than programmatically creating and uploading files to Amazon S3. The company also has the flexibility to store additional data with each record as its needs evolve, without having to make a schema change or perform a data migration.
The Takeaway
As a fully managed NoSQL database service, Amazon DynamoDB offered the ideal solution for ClickBank’s scalability, performance, and cost saving objectives. Shifting functionality from on-premises to a microservices architecture also provides the company limitless growth opportunities matched with steady, predictable performance, delivering a seamless experience for both affiliates and users.