A Solid Foundation: Choosing a Microservices Architecture Approach

by Eldon Richards Sept/Oct 2023
In today’s business landscape, your business is often only as strong as the technology architecture upon which it has been built. Eldon Richards explores the benefits and challenges of several architectural types and what secured lenders should look for in their technology partners.

Eldon Richards,
Chief Technology Officer,
Solifi

In today’s rapidly evolving business landscape, organizations face a multitude of challenges when it comes to addressing threats and opportunities with agility, scaling their operations, adopting new technologies and delivering value to customers efficiently. Many software architectures pose obstacles to business growth and agility. This article will explain some of the pitfalls to look for while evaluating your technology partners’ software architecture.

A Monolithic Approach

The original architecture is the monolith. Characterized by tightly coupled components that are compiled and deployed together, the monolithic architecture is considered a closed architecture that is expensive to scale and modify. Monolithic architecture has been used for decades, dating back to some of the earliest commercial software. While products with this architecture are relatively simple to install and operate, their architecture often hinders scalability and agile delivery of new functionality. In an era when most commercial software was hosted by customers in their own data centers (on premise installations), monoliths were common because they required less administration from the IT team. However, they have limited options for scaling and use their hardware inefficiently, requiring more IT infrastructure to run at scale. As they grow in complexity, they require exponentially higher amounts of development and testing to make changes, which impedes agility. Monoliths typically have limited integration options. While they may offer APIs or filebased integration points, their tightly coupled nature often leads to difficulty in providing clean interfaces for external integration. These issues often yield high hosting costs, delayed product releases, limited integration into customers’ ecosystems and missed opportunities to capitalize on emerging market demands.

Layered or Tiered Architecture

Other popular architectures that have been used for commercial software include layered (or tiered) architectures and service-oriented architectures (SOA). These architectures became popular in the 1990s and 2000s. Compared to monoliths, layered architectures improve scaling and code maintenance. They usually separate into two to three tiers, and each tier is usually hosted on separate servers, which allows IT teams to optimize each server specifically for its job. Some layered architectures support horizontal scaling, allowing the IT team to add servers to share the load for any of the application’s tiers.

Service-oriented architectures take this a step further and allow specific functions or services to run independent of each other. When designed well, each of these services can be maintained and scaled independent of the others, which improves the system’s overall agility and scalability. The cost of getting these benefits comes with the added complexity for the IT team, who now have more components and servers to maintain. While these architectures reduce the impediments for customers to scale and adapt, the improvements are small compared to more modern architectures.

The Agility of Low-Code

Two architectures that have become popular in more recent years are low-code and microservice architectures. Low-code architectures are meant to provide extremely agile change by taking the vendor out of the process. While this can sometimes work, they sometimes lack the ability to scale and to remain agile as they become more complex over time. Lowcode applications provide means for customers to essentially develop their own custom application on the vendor’s platform without using traditional software code. Instead, they use drag-and-drop visual tools, rules and simple domain-specific languages to customize the platform for the customer’s needs. This usually allows the customer to quickly adapt the product to meet changing needs. However, it is common for these changes to have a negative impact on scalability and performance because low-code tools don’t offer the same level of support for managing these more technical features of a product. Also, complex configurations on these platforms tend to become difficult to maintain. At a basic level, ‘low code’ is still code and these platforms tend to lack the sophisticated capabilities needed to maintain many layers of dependencies and changes that occur during the life of the product. For some, difficulties in maintenance can even show up during the system’s initial implementation.

The Modularity of Microservices

Many of the challenges noted above with monolithic, layered, SOA and low-code architectures can be overcome with a well-designed microservices architecture. A well-planned microservices architecture means the technology provider develops and tailors independently deployable microservices to serve specific business capabilities, promoting modularity and decoupling between components. This modular approach facilitates the development and integration of new technologies and functionality, as each microservice can be developed, tested and deployed independently.

Microservice architectures are inherently open because each service communicates with the others through APIs, and these APIs can provide integration points with the customer’s ecosystem. Microservice architectures go hand-in-hand with software-as-a-service (SaaS) in the cloud. They make it possible to take advantage of the extreme scalability of the cloud. Usually, each service is set up to ‘auto scale’ (automatically scale horizontally with the load placed on it). When managed in the cloud by a SaaS provider, the deployment, monitoring, scaling and upgrading of microservices can be automated. This allows the partner to seamlessly deploy updates without taking the system down. This approach is used by many of the technology platforms that we all use on a regular basis, including search engines like Google, media platforms like Spotify and Netflix and social media platforms like LinkedIn and Facebook. These platforms are continuously upgraded and improved, and we almost never experience downtime or other negative consequences.

Through a reliable and innovation-minded technology partner, secured finance providers will be able to capitalize on the latest architectures, tools, frameworks and technologies for specific services without being constrained by the limitations of the monolith and other dated architectures. This technical flexibility enables secured finance lenders to capitalize on emerging technologies and stay ahead of the competition, while offering their customers tailored solutions which fully meet their requirements and needs.

At Solifi, we have taken the microservice approach. We have found that this architecture allows us to provide the agility, scalability, quality and efficiency that our customers require. We have the added benefit of improving our internal development scalability and quality, which we pass on through improved responsiveness and quality to our customers. With the loosely coupled, independent nature of our services, we can make changes and deploy them safely in minutes and hours instead of weeks and months. The quick response time to market demands positions Solifi as an adaptive and customer-centric organization.

When you evaluate partners for your next technology upgrade, remember to look beyond the functionality provided by the products you evaluate and consider the ability of the software and partner to enable your company’s growth and agility.

ABOUT THE AUTHOR: Eldon Richards joined Solifi’s Executive Team as chief technology officer at the start of 2020, bringing more than 20 years of enterprise software product development and global technology leadership. In this role, he leads the development of the company’s product portfolio, including Solifi’s Open Finance Platform.

Leave a comment

No categories available

No tags available