BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

How To Use Software Microservices

Following

Software is getting bigger. Every iteration and release of enterprise software builds upon an already extensive base of code, datasets, functions and formulations that ultimately results in a bigger, more expansive and increasingly all-encompassing software application, suite or platform.

Equally, software is getting smaller.

In the pleasingly disaggregated world of the web and the cloud computing network that weaves throughout it, we are making increasing use of smaller incremental (often reusable) components and microservices. The use of microservices (and a microservices architecture) describes a software system built using modules, all with their own particularly defined function, task and role - each of which is connected via a standardized and clearly defined interface such as an Application Programming Interface (API).

There’s no question that the microservice approach is superior in most ways to legacy monolithic architectures. Many organizations turn to microservices to avoid vendor lock-in, combat the costs and limitations associated with the monolithic approach and increase agility (e.g. each service can be developed and deployed independently without incurring downtime or needing to refactor other parts of the app). Plus, there are obvious benefits to getting the right tool with the right capabilities for the job.

How to run microservices

If these introductory statements describe the shape of modern software, then at what cadence and in what operational format should we be using microservices? Co-founder and CEO of open source data platform company Directus Ben Haynes is convinced that a hub and spoke arrangement is the key.

He has tabled his theory as a result of the obvious truth that manifests itself in this sector of software application development i.e. there are a number of downsides to deploying a vast matrix of microservices.

“Moving from a simple monolithic model to a complex model with hundreds, or even thousands, of interdependencies can lead to a data ecosystem that is difficult to understand and maintain, requires many costly licenses and forces a steep learning curve for user training and onboarding,” explained Haynes. “If one of the services advances and another stagnates or is no longer supported, the integrations and dependencies between them may break. One dependency breaking can have a domino effect, bringing operations to a halt.”

Because microservices often don’t perfectly bookend to each other, there can be gaps in capabilities that need to be filled with custom-built software code and logic. In instances where data is siloed across disparate platforms, the tenuous connections between data streams doesn’t make things any easier either.

Why go hub & spoke

“When evaluating their technology stack, organizations should instead work toward a more balanced ‘hub-and-spoke’ approach, where they turn to solutions that lay a complete and solid data foundation that covers business needs (the hub) while still integrating with microservices to allow specialization, as needed (the spokes). This approach combines the stability of a monolithic architecture with the agility of microservices so organizations can take advantage without overrotating on the complexity,” enthused Haynes, speaking to a small group of international press.

Where he’s going with this whole theory and rationale is relatively easy to comprehend and grasp; organizations can think of the hub as the foundational data layer i.e. a single point of data access that can provide about 80% of the functionality they need.

“The hub is designed to connect with other tools and applications through APIs, Software Development Kits (SDKs), webhooks etc. allowing for specialized solutions to come together that best meet the needs of the business,” explained Haynes.

He then states that the hub serves as a baseline of common or critical functionality but still allows organizations to easily connect other business-critical systems such as Stripe, Hubspot, Salesforce, or any number of hyper-specialized tools.

“Removing the need to manage multiple base services eliminates any functionality gaps, as it becomes easy to connect a new tool or capability without altering the stack or interfering with operations,” clarified Haynes.

Proof of the pudding

How can he be so confident that this approach works? Because… he says openly, Directus used this exact template to create the open data platform technology proposition that it goes to market with today. Its platform is designed to replace many disparate systems within a single platform (consolidating data and making it accessible through a single, extensible API).

In a recent example, an international airline used the Directus platform to consolidate multiple systems with a single source of data, including reservations, inventory, airport kiosks, a mobile app and more, to ultimately cut costs and eliminate data discrepancies between systems.

“In general, we’ve found that the hub and spoke model eliminates roadblocks to software development/deployment and reduces the burden on engineers – freeing up their time to work on higher-value, revenue-generating activities,” concluded Haynes.

There’s an old much-loved maxim by the software engineering community that says something like ‘when faced with a choice, take both’ - and that truism is well borne out and validated here. As the software universe gets bigger and smaller at the same time, we need to be able to embrace zen-like balance at every level.

It’s time to go large, but also go small with hub & spoke logic - but let’s pump the tires up first, please.

Follow me on Twitter or LinkedIn

Join The Conversation

Comments 

One Community. Many Voices. Create a free account to share your thoughts. 

Read our community guidelines .

Forbes Community Guidelines

Our community is about connecting people through open and thoughtful conversations. We want our readers to share their views and exchange ideas and facts in a safe space.

In order to do so, please follow the posting rules in our site's Terms of Service.  We've summarized some of those key rules below. Simply put, keep it civil.

Your post will be rejected if we notice that it seems to contain:

  • False or intentionally out-of-context or misleading information
  • Spam
  • Insults, profanity, incoherent, obscene or inflammatory language or threats of any kind
  • Attacks on the identity of other commenters or the article's author
  • Content that otherwise violates our site's terms.

User accounts will be blocked if we notice or believe that users are engaged in:

  • Continuous attempts to re-post comments that have been previously moderated/rejected
  • Racist, sexist, homophobic or other discriminatory comments
  • Attempts or tactics that put the site security at risk
  • Actions that otherwise violate our site's terms.

So, how can you be a power user?

  • Stay on topic and share your insights
  • Feel free to be clear and thoughtful to get your point across
  • ‘Like’ or ‘Dislike’ to show your point of view.
  • Protect your community.
  • Use the report tool to alert us when someone breaks the rules.

Thanks for reading our community guidelines. Please read the full list of posting rules found in our site's Terms of Service.