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 Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Data Engineering
  3. Databases
  4. API Management Design Patterns for Digital Transformation

API Management Design Patterns for Digital Transformation

No matter what kind of architecture has been applied to your code base, we look at three API management patterns that you might find useful.

Chanaka Fernando user avatar by
Chanaka Fernando
CORE ·
Jan. 24, 18 · Analysis
Like (1)
Save
Tweet
Share
9.16K Views

Join the DZone community and get the full member experience.

Join For Free

Digital Transformation (DT) has become the buzz word in the tech industry these days. The meaning of DT can be interpreted in different ways at different places. Put simply, it is the digitization of your business assets with the increased use of technology. If that definition is not simple enough, you can think of an example like moving your physical file/folder based documents to computers and making them accessible instantly rather than browsing through thousands of files stacked in your office. In a large enterprise, this will go to the levels where every asset in the business (from people to vehicles to security cameras) becomes a digital asset and instantly reachable as well as authorized.

Once you have your assets in a digitized format, it is quintessential to expose that digital information to various systems (internal as well as external) through properly managed interfaces. Application Programming Interfaces (APIs) are the de facto standard for exposing your business functionalities to internal and external consumers. It is evident that your DT story will not be completed without having a proper API management platform in place.

Microservices Architecture (MSA) has evolved from being a theory of Martin Fowler’s to a go-to technology to implement REST services for your organization when achieving DT. Most developers in the enterprise are moving towards MSA when writing business logic to implement backend core services. But, in reality, there are so many other systems which are coming about as Commercial Off the Shelf (COTS) offerings which do not fit into the microservices landscape natively.

With these basic requirements and unavoidable circumstances within your organization’s IT ecosystem, how are you going to implement an efficient API management strategy? This will be the burning problem in most enterprises and I will be touching upon possible solution patterns to address this problem.

API Management for Green Field MSA

If your organization is just a startup and you don’t want to use high-cost COTS software in your IT ecosystem, you can start off with a full MSA. These kinds of organizations are called 'green field ecosystems,' where you have complete control over what needs to be developed and how those services are going to be developed. Once you have your backend core services written as microservices, you can decide whether or not to expose them as APIs through a proper API management platform.

Pattern 1 - Central API Manager to Manage All Your Microservices

As depicted in the below figure, this design pattern can be applied to a green field MSA where microservice discovery, authentication, and management can be delegated to the central API management layer. There is a message broker for asynchronous inter-service communication.

MSA central API gateway.png

Figure 1: Central API management in a green field MSA

Pattern 2 - Service Mesh Pattern With Sidecar (Micro Gateway)

This pattern also applies to a green field MSA where all the backend systems are implemented as microservices. But this pattern can also be applied to scenarios where you have both microservices as well as monolithic (COTS) applications with slight modifications.


MSA micro API gateway (Service mesh architecture).png

Figure 2: API management with service mesh and side car (micro gateway)

API Management for Practical Enterprise Architecture

As mentioned at the beginning of this post, most of the real world enterprises use COTS software as well as various cloud services to fulfill their day-to-day business requirements. In such an environment, if you are implementing an MSA, you need to accept that existing systems are there to stay for a long time and MSA should be able to live along with those systems.

Pattern 3: API Management for Modern Hybrid Ecosystem

This design pattern is mostly suited for enterprises which have COTS systems as well as an MSA. This pattern is easy to implement and has been identified as the common pattern to apply to a hybrid microservices ecosystem.


Modern enterprise central API gateway with ESB.png

Figure 3: API management for modern enterprise

The same pattern can be applied to any enterprise which does not have any microservices but only traditional monolithic applications as backend services. In such scenarios, microservices will be replaced by monolithic web applications.

API microservice Design Web Service

Published at DZone with permission of Chanaka Fernando, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • What Is API-First?
  • Implementing PEG in Java
  • Seamless Integration of Azure Functions With SQL Server: A Developer's Perspective
  • MongoDB Time Series Benchmark and Review

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: