Application Modernization:Monolith to Microservices
- Suzanna Capone
- Feb 22, 2024
- 4 min read
Updated: Apr 8
ClickBank knows affiliate marketing
They’re one of the granddaddies of affiliate marketplaces & global internet retailing. Some impressive numbers include: 200 million customers across 190 countries. 87th largest Internet retailer in North America. 276 categories & 21,562 product listings. With 6 million entrepreneurs on the platform. And over $200 million in annual sales.
Not bad for a company founded in a San Diego garage back in 1998. But there was this one (not-so) little thing…
Their customer-facing, self-service application could be better
It was buggy. Didn’t do what is was supposed to do. Customers were unable to address & resolve their issues online. The call center became inundated with too many support calls. They were paying too much to host a monolithic application in AWS.
And, ClickBank engineers hated fixing this 20-year-old application so frequently. No one understood the codebase. Developers wasted precious time updating the site for new languages. “No way I’m working on that onerous system,” said some.
Frustrated customers. Exasperated developers. One outdated, cantankerous application. ClickBank had higher expectations for customers, developers and their brand.
ClickBank knew who to call
The Commerce Architects team worked with the CEO, CTO & CFO on previous projects. We helped them scale a website from $150M to $500M over a 3-year period. They knew us, trusted us, so they called on us.
We met with their people—leaders, product owners & developers. We learned what hurt. What they needed. When they needed it. And how we would help. We clarified their goals. ClickBank wanted…
To reduce support calls with a new customer, self-service application
A trusted, partnered development team following ClickBank’s standards & practices
A team of quality software developers to meet their tech commitments to the board
A new cloud-native application using current technologies
An application built with tools already familiar to ClickBank’s development team
An automated process for translating text on the site into other languages
A solid foundation for the internal dev team to add new features themselves
Move from a monolithic solution to a distributed, microservices architecture
Nothing unreasonable about that, right? Oh, and to achieve all that within time commitments already made to the board. “We can do that.” And did. Here’s how…
We did what we do, so ClickBank could do what it does best
ClickBank’s business? Helping people & vendors sell more, shop faster & promote better. Our business? Help them to accomplish that—with top-notch, online, customer support. By building a site & application that ClickBank can be proud of and grow themselves.
We integrated with the team. An architect, a React front-end engineer, 2 Java services engineers. And a product owner to help discover & document key requirements. We rolled up our tech sleeves. Built a roadmap for what to build—and by when. Got sign off & buy in for features & approach from all IT leaders. Then started building the software, delivering features iteratively, to start & sustain forward progress. To keep up with their goals, we used…
React front-end to match the UI framework used on other ClickBank applications
Kubernetes (AWS EKS) to be consistent with ClickBank’s deployment platform
Java Spring Boot REST services to work perfectly with other ClickBank services
Other technologies to build a component-based solution included…
GraphQL to allow flexibility with data returned by the REST services
AWS Cognito for managing & paying service fees based on number of monthly users
AWS Simple Email Service (SES) to send emails
AWS Lambdas where server-less was appropriate to pay only for what ClickBank uses
AWS Elasticache as part of two-factor authentication security
Figma and Storybook for rapid UI prototyping
Lokalise service to manage and automate multi-language translation of text
And of course…
We used our experience & savvy to do everything using standard, agile best practices. Showed & shared progress early & often to make small course corrections.
Kept everyone informed. With daily stand-ups during the project. Weekly updates to leadership. And demos of features every two weeks before they went out the door.
They had automated unit tests to ensure new features don’t break old ones. And user acceptance testing to get feedback about features—from a user’s point-of-view. Then documented everything so everyone knew what was built—and how.
6 months later
So nice to see pride restored for ClickBank’s online customer service support.
Customers are happy—fixing problems all by themselves, online
Developers are giddy—working with technologies they know & love
Support people are satisfied—no longer pulling their hair out
Leaders are relieved—keeping their promises to deliver in 2020
Board members are pleased—because leaders said what they’ll do & did what they said
All because of… A new application launched with no downtime and hardly any issues during the warranty period. A stable, production application easy to maintain by developers. A modern microservices architecture for developers to grow the solution. A new, intuitive, modern user interface they’re proud of. All built using ClickBank technologies & standards that fits with their business.
In Clickbank’s own words…
“Commerce Architects clearly understands AWS technologies. And when & why to use each AWS service. They clearly explained how to use each service. What would be expected ongoing costs. And set expectations for any associated maintenance plans. Their deep technical knowledge & communication skills made them a great partner for our business.”
~ Jason Scherer, CTO of ClickBank
Comments