DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Designing and Maintaining Event-Driven Architectures
  • Navigating the Maze: A Comprehensive Guide To Selecting the Right Messaging Queue
  • Elevating B2B Products Through User-Centricity
  • When One Giant Payload Must Serve Many Small Consumers: Designing a Scalable Fanout Service

Trending

  • Product-Led Software Delivery: Intelligent Platforms for DevOps at Scale
  • How to Format Articles for DZone
  • Docker Hardened Images Are Free Now — Here's What You Still Need to Build
  • S3 Vectors: How to Build a RAG Without a Vector Database
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. Case Study: Scaling Intuit’s Revenue Platform for Global Commerce

Case Study: Scaling Intuit’s Revenue Platform for Global Commerce

Explore the key strategies and architectural decisions behind scaling Intuit's revenue platform, the challenges faced along the way, and how they were overcome.

By 
Lohith Kumar Paripati user avatar
Lohith Kumar Paripati
·
Sep. 18, 24 · Analysis
Likes (3)
Comment
Save
Tweet
Share
4.4K Views

Join the DZone community and get the full member experience.

Join For Free

A few years back, in my role as a platform product manager at Intuit, I was charged with the responsibility of building and scaling the revenue platform that fuels all of Intuit’s products such as QuickBooks and TurboTax. The system I managed was integral to Intuit’s trading networks and money-making capabilities which accounted for over $10 billion in annual revenues. This case study discusses the problems, principles of architecture, and best practices that I implemented in order to create a scalable country-agnostic customer-agnostic platform supporting both B2B and B2C transactions.

The Challenge: Building a Unified Revenue Platform

Intuit’s product suite covers different areas, ranging from accounting software like QuickBooks designed for small and medium businesses (B2B) to consumer tax preparation services like TurboTax (B2C). This compilation posed a special challenge: How do we build a revenue platform that caters to multiple product lines, different pricing models, and varied customer segments while guaranteeing frictionless scalability and performance?

Moreover, this complexity was further heightened by the need to support different billing models – pay-as-you-go, tiered pricing, volume-based pricing, bundled offerings, etc. Furthermore, the various types of subscriptions needed an order management system whereas other products such as Turbo Tax were one-time purchases.

Architectural Insights for Scalability

To tackle these issues, we went by some architectural principles:

1. Microservices Architecture

This way, we were able to split up the application into microservices which each had their own responsibilities like pricing, product catalog and processing of orders since our platform requires diverse functionalities. As a result, it was possible to write each service individually so that they can be developed rapidly deployed and scaled independently reducing the chances of failure in one area and increasing fault tolerance.

2. API-First Design

Integrating seamlessly with various Intuit products, as well as external systems was crucial for our platform. By taking an API-first approach on all services thus ensuring that every service is open and interoperable; this is easily accomplished because the platform makes it easy to integrate new services thereby making it flexible for future growth.

3. Event-Driven Architecture

To achieve real-time responsiveness, we designed the solution around event-driven architecture (EDA). With asynchronous communication between services under EDA, this improved our platform’s performance during periods of peak loads such as tax season when TurboTax encounters more users.

4. Containerization and Orchestration

Being consistent across different environments enabled us leverage containerization tools such as Docker. Further improving resilience and scalability of the platform Kubernetes was used for containers deployment and scaling management through orchestration.

Actualization of the Worldwide, Customer-Agnostic Platform

When designing revenue platform for Intuit, one of the most important requirements was not to be country, currency and customer identity specific. The platform needed to offer customers’ consistent and dependable services whether it was facilitating a business-to-business (B2B) transaction for a small company in US buying QuickBooks or enabling Canadian consumers utilize TurboTax in filing their tax returns (B2C).

The following helped to achieve this:

1. Multi-Currency and Multi-Country Support

This required an intricate tax engine that could comply with national legislations at the same time maintaining uniformity in customer experience.

The platform is capable of handling large volumes of data In different currencies and countries throughout the world. It has been designed to cater for multiple currencies when processing transactions while still meeting varied tax regulations as imposed by various countries. This meant that there must be a complex tax engine that could comply with local laws but keep customer engagement uniform across all areas. For instance; it has to provide the output files needed by each particular country’s tax authority.

2. Customer Identity Agnosticism

All transactions were treated equally regardless if it were a small business buying QuickBooks or a consumer purchasing TurboTax. Although there are many products lines available on our website, this kind of approach ensured that the need for extensive customization was avoided making it possible for the marketplace to expand its potential into other more diverse segments without having long product tail development cycle times.

3. Scalable Billing and Revenue Recognition

The platform supported different billing model types which include subscription management for SaaS products like QuickBooks and Payroll, and revenue recognition for multiple pricing models. This adaptability enabled Intuit to offer different pricing frameworks without compromise on the performance of the platform.

Overcoming Scalability Challenges

It is no mean task scaling a platform that handles over $10 billion in revenue. We faced several challenges especially around ensuring that the platform could handle spikes in demand such as during the tax season with TurboTax or launching new products.

To address these issues, we used:

1. Auto-Scaling Groups

Auto-scaling let us change the number of instances depending on demand in real time so that it would be able to handle peak loads without affecting response times or user experience.

2. Load Balancing

To prevent one server from becoming overwhelmed, we distributed incoming traffic over multiple instances using load balancers. This made the platform more stable and reduced chances of outages when there was high-traffic volume.

3. Caching and Content Delivery Networks (CDNs)

By caching frequently accessed data and delivering content through CDNs, we were able to reduce server load while improving response times for users irrespective of their location on earth.

Findings and Implications

Intuit’s ability to grow and innovate was greatly influenced by our scalable architecture and best practices. A revenue platform that supported the seamless transaction of millions of customers from different countries and currencies at the same time maintaining high availability and performance.

Some key results were:

  • Enhanced consumer experience: We improved user experience as well as customer satisfaction by making sure that the platform could handle large transaction volumes without slowing down.
  • Operational effectiveness: The use of cloud infrastructure and modular design reduced operational costs while improving resource utilization.
  • Business agility: The capability to support multiple billing models, integrate with different product lines enabled Intuit to introduce new offerings quickly and go into new markets.

Conclusion

It was a challenging, yet very fulfilling initiative, building and scaling Intuit’s revenue platform. These included architectural principles implemented, coupled with several best practices that enabled the platform to process over $10 billion in revenues, offer various product lines and deliver consistent global customer experience throughout its operation areas.

This case study is important for product managers as it emphasizes the need for scalability in designing, modularity in architecture and leveraging of cloud infrastructure to facilitate growth. Adherence to these principles can assist you in developing platforms that are strong, dependable and able to drive your organization to long term achievements.

Customer experience Event-driven architecture Scalability product manager

Opinions expressed by DZone contributors are their own.

Related

  • Designing and Maintaining Event-Driven Architectures
  • Navigating the Maze: A Comprehensive Guide To Selecting the Right Messaging Queue
  • Elevating B2B Products Through User-Centricity
  • When One Giant Payload Must Serve Many Small Consumers: Designing a Scalable Fanout Service

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook