Application Modernization:
Monolith to Microservices
How ClickBank‘s new self-service application restored faith with developers & pride in leaders.
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 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 did what we do, so ClickBank could too
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 did all the things we do on every project
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—From ‘arg’ to ‘ahh’
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