team colloboration
Modern Apps

Beyond the Technical: Building a Modern SaaS Billing Platform

by: VMware Domain Architect—Enterprise Architecture Kumaresan Marimuthu and VMware IT Director—SaaS and Commerce Billing Platforms, Advanced Technologies Sunder Vudhya

Like many large-scale enterprises, VMware uses several packaged applications to help manage customer orders and track, recognize and report revenue. While there are many benefits of using standard packaged applications, such as enterprise resource planning (ERP) systems like SAP or Oracle, they come with challenges. For instance, these out-of-the-box ERP apps:

  • Are built for generic use cases, which makes it difficult to decouple services
  • Require significant customization to add new business-specific features, which creates layers of complexity that make it difficult to scale, resulting in poor reliability
  • Lead to delayed time to market for delivering new functionality to customers.

These challenges prevent IT teams from acting in an agile manner and being responsive when business needs require adding functionality—dynamically, and with limited disruption. Packaged apps also make it difficult for developers to seamlessly enhance applications. In essence, development teams want an out-of-box experience that also allows them to make incremental changes easily.

This dovetails with the VMware expansion of software-as-a-service (SaaS) and subscription offerings, in which VMware IT must deliver new capabilities at an accelerated rate. A key area of focus is on enhancing our SaaS billing capabilities to deliver a superior billing experience.

To accomplish this, VMware IT grouped related billing capabilities, such as product catalog management, order management, and billing management into independent domain-based business objects (microservices) that cater to specific business groups. For example, ‘Product and Catalog’ is a domain that houses a set of related services like GetProduct, GetPrice, and GetProductRelationship. Each of these domains are abstracted from the out-of-the-box ERP system and deployed as independent services so that its metadata could be consumed by any user in the organization. 

Figure 1 shows an illustration of how VMware IT abstracts SaaS billing capabilities into domain-based microservices.


Figure 1. Billing capability abstraction.

By decoupling SaaS billing applications from the legacy monolith structure into discrete services, VMware IT accelerated software delivery and scale for each microservice independently while maintaining a resilient, highly available architecture. This adaptive approach enabled VMware IT to make new capabilities available to customers faster than its previous time-to-market average. Furthermore, the microservices architecture allowed engineering teams to focus on delivering features driven by business value rather than technical requirements. 

Figure 2. Restructuring of packaged ERP into independent business domains

In conjunction with adopting microservices and domain-driven patterns, VMware IT leveraged VMware Tanzu to help developers accelerate software delivery. VMware Tanzu improved developer productivity by providing an intuitive UI that enabled developers to focus on building business features and abstracting noncore dependencies. It also helped automate container management with enterprise-grade stability, scalability, and reduced manpower. Finally, VMware Tanzu helped simplify application deployments for multicluster, multiple data center environments.

From a business perspective, using VMware Tanzu enabled VMware IT to bring self-service to channel partners by providing a real-time view to correct orders. Hence, reducing incoming inquiries and enabling data retrieval through preferred messaging channels, such as Microsoft Teams and Slack, was possible without logging into an ERP system. Figure 2 illustrates the structured approach to how VMware IT broke the monolithic cycle.

Business applications that are managed using VMware Tanzu can also be deployed in the system independently (feature-based), allowing multiple servers to manage the workloads easily.

Figure 3 depicts the technical architecture using VMware Tanzu Application Service in a multiple data center environment, and its ability to host various business applications without compromising resiliency.

Figure 3. Technical architecture view using Tanzu Application Service.

This architecture brings substantial agility to the app development community and enables rapid delivery of business capabilities. This included improved resiliency for all SaaS services with increased uptime, faster response time for key capabilities, and faster feature delivery velocity.

VMware IT is committed to providing the best possible billing experience to its customers and addressing many of the challenges that come with ERPs. This resulted in several key benefits:

  • Using VMware Tanzu to build microservices ‘wrappers’ that expose the underlying ERP functionality to developers via APIs
  • Adding functionality quickly and easily when requested by the business, which an out-of-the-box ERP cannot do
  • Consuming the latest functionality available in the ERP, with no delays.

VMware on VMware blogs are written by IT subject matter experts sharing stories about our digital transformation using VMware products and services in a global production environment. Contact your sales rep or [email protected] to schedule a briefing on this topic. Visit the VMware on VMware microsite and follow us on Twitter.