Decompose the Monolith

Author: Shane Larson
Share This Article
Eliminate tech debt by breaking down monolithic applications with microservices.

Monolith To Microservice

Monolithic Applications

Monolithic applications slowly become too large and difficult to change . As the code base grows is becomes harder to implement new features and dependencies become more complex. This slows down the rate of innovation.

When demand on a single service requires scaling of the application, the entire monolith must be scaled. This impacts the economics of the application because resources that could be used elsewhere are dedicated to scaling some features that don't necessarily need to be scaled for the sake of ones that do.

Microservices

With a microservices architecture, each application component runs as its own service and communicates with other services using API's. Microservices are built around business capabilities, each performing only a single function. This makes it possible to scale out only the required services, rather than the entire application.

This also provides for rapid innovation because new business capabilities can be added by simply creating new microservices which act independently yet in concert with one another. Capacilities can be added and also recombined to create new features, services and products as well.

Deconstructing the Monolith

Deconstructing a monolithic application can be hard. It must be completed in iterative projects that allow for pieces of functionality to slowly be migrated out of the application. Each iterative release should be made up of at least one atomic change to the overall solution architecture. Slowly microservices can be extracted from the old monolith and it can eventually be retired and replaced by a microservices architecture.

Not a Silver Bullet

Microservices are not intended for every scenario. There needs to be a solid architectural plan in place in order to deconstruct a monolithic application, and it does not make sense in every scenario. It helps to start the design process with the parts that are important to the business and that require frequent change.

Recent Articles

Contact Us

We create solutions using APIs and AI to advance financial security in the world. If you need help in your organization, contact us!

Powered by Contentful