Hybrid Microservices

Use what you want and leave out the rest

Hybrid microservices is an architectural style
that combines many of the best aspects of microservices without compromising the
existing enterprise architecture.

Enterprises with heavy dependencies on
centralized databases, on-premises setups or a reluctance to expose data on the
cloud can still achieve greater scalability, containerization and an independent
API-driven architecture.

In this two-part series, we will explore how microservices
patterns can be disintegrated to meet your unique enterprise needs.

Hybrid Microservices Defined

Microservices is one of today’s hottest IT trends,
but a closer look reveals that many organizations use the microservices components
and technical stack, but without completely re-inventing their enterprise

Once the microservices components are analyzed
and segregated within an existing IT landscape, we can implement a Hybrid Model, which can be simply
defined as "Use what you want and
leave out the rest."

To be more specific, any hybrid microservices
model must possess a few essential characteristics:

  • It derives isolated and scalable business components without altering the existing architecture landscape
  • It achieves near 100% cloud native, containerized applications, with design and development of platform-agnostic business components
  • It features variable traffic management between components and systems
  • It takes a “business-first” approach with a high degree of reusable components
  • It relies heavily on open source technologies and resources

The Business Case for Hybrid Microservices

At a broad level, there are two sets of
stakeholders in an enterprise. One is the core
, and the other is enterprise
, which will collaborate and use tools, technologies and resources to develop
a business solution.

First, we will explore the key challenges
facing these stakeholders.

  1. Lack of reusable resources

    This is a key problem for both stakeholders, but it has a different meaning and implication in each context.

    For core businesses, a reusable resource (or asset) consists of a business component that can be served, consumed or integrated with a variety of business cases with zero or minimal changes to the existing component. In the absence of reusable assets, the core business must invest both time and materials, which leads to redundant efforts to create identical assets across a variety of business platforms or applications.

    For enterprise IT, the same problem relates to IT resources such as storage, drivers, servers, administration, etc. If these resources are not properly managed, it can have a domino effect that will increase maintenance, time and cost in both the short and long-term.

  2. Agility and speed challenges

    As enterprises evolve, they are moving toward next-generation application development that delivers a responsive and intuitive user experience.

    The challenge is to scale up and modernize the model without compromising agility and speed. Unfortunately, IT modernization is often mistaken for architecture modernization, but they are separate disciplines.

    Given the limitations of traditional architecture and the evolution of systems and businesses, there is a great deal of pressure to modernize quickly. To meet the challenges of the digital age, enterprise systems and architecture must become highly agile and robust, with fast turnaround time.

Fortunately, the reusable, flexible, scalable
nature of microservices offers a solution to both of these challenges.

One of the great benefits of microservices is
agnosticism, or the liberty to build technology
and platform agnostic systems
.  It
opens the door to a variety of solutions that can run on a wide range of
available technologies.

The benefits to IT are multifold. It allows you
to choose the right tool for both the business and IT use cases, and solutions
can be designed using specific technologies best suited to the problem.

By way of example, let’s assume you have a
traditional environment and have identified a great opportunity to apply AI and
machine learning to a business problem. Unfortunately, it would require a huge
investment to implement Python and MATLAB before you could even begin
developing an AI application.

This puts a huge drag on your business — not
only due to the lost opportunity, but because it limits your potential to
implement ideas that can have an impact on many different business cases.

In the next installment, we will look at an
approach for implementing hybrid microservices.