Being straightforward and focused is the hallmark of a great microservice—so let me get right to the point:

If interoperability, extensibility, flexibility and scalability are important attributes of your business technology stack, then a microservices design architecture should be a fundamental requirement when choosing a cloud billing platform.

The traditional paradigm of software development was to create monolithic applications with intertwined, interdependent ‘functions.’ This meant that for every update, maintenance fix or feature enhancement, the entire application had to be exposed, regression tested and released to every single active installation. In this paradigm it didn’t matter if the solution was on premise or online—the built-in interdependency created more and more complexity over time.

Monolithic_application_design

As you can imagine, this complexity introduced enormous risk for both the software publisher and the end customer, especially for business critical applications like finance and billing. Even worse, integrations to third-party applications like taxation software were riddled with problems as they, too, had to be tightly coupled with these monolithic systems. A change in one or both of the systems could cause the data exchange or synchronizations to fail causing finger pointing between vendors and lots of frustration with customers.

Pulling Apart the Monolithic Application

As the growth of the web began to focus us on a networked view of applications, we shifted to Service Oriented Architecture (SOA). The concept was to break up enormous, intertwined applications into like-sets of logic, i.e. separation of concerns, that are encapsulated and loosely coupled into topological layers, or interfaces. Complex functionality still lives within the core application, but the service layers began to disperse the functionality into components run in different locations and possibly by different providers.

Traditional-SOA

Software publishers began adopting this approach, end customers gained increased security controls, fewer defects went out with each release and greater stability of the overall logical application minimized risk to the business continuity. Despite these benefits, this generation of applications still obscured a lot of complexity in big block components. The decoupling of these components was often true in principle but not practical in most cases. We needed to take the decomposition of the application a bit further to see the full promise.

Rise of Microservices

A Microservices Architecture (MSA) takes the principles of SOA—separation of concerns, encapsulation and loose coupling—and adds three additional core principles: development agility, deployment flexibility and precise scalability. [1] The result is moving complexity out of the monolithic application and into independent components. These components are scoped as discrete functionality and strongly encapsulated to allow for independent deployment and scale, essentially balancing or spreading the processing load and transforming an application into a platform.

Microservices

Both the platform provider and end customer benefit greatly from this approach in the following ways:

Benefit Platform Provider Customer
Time to Benefit Develop and deploy new functionality and updates rapidly. Receive critical changes or new functionality in rapid increments.
Risk Reduction Small, independent deployments minimize risk to the overall platform. Small, independent deployments minimize risk to business continuity.
Technology Flexibility Ability to use a variety of technologies to architect the platform for optimum performance. Transparently benefit from best-in-class and niche technologies for optimum performance.
Functional Flexibility Develop independent functions that can be re-used by multiple customers in unique ways. Use only the platform capabilities you require, in precisely the way required to create new business capabilities.
Scalability Ability to scale only the necessary parts of the platform that require high volume or those that traditionally created bottlenecks. Ability to handle burst or growth without excessive technology overhead—just in time scalability.

The bottom line: platform providers using MSA are as responsive as possible to customer needs while maintaining high levels of software quality, system availability and reliability.

Application to a Billing Platform

The ability to bill for something is what makes you a business—having lived through the dot.com bust I know this from experience. And HOW you bill is both a critical touchpoint for your customers and an enabler of new and unique business models. By adopting an MSA approach to our cloud billing platform, Gotransverse enables unprecedented agility and scale, future-proofing your business as you grow and freeing your team to drive forward and innovate. How you bill today does not have to limit your business tomorrow—if you Gotransverse.


[1] Thomas, Anne. Gartner. Innovation Insight for Microservices,