Logo Header Menu

Monoliths to microservices: What to know about modernising enterprise applications

Pavlo Matusiak, head of .NET Stack at Ciklum, explains what you need to know about modernising enterprise applications, from monoliths to microservices What to know about modernising enterprise applications image

Business environments are constantly changing, forcing companies to react quickly to modernise enterprise applications. That not only means bringing products and services to market faster; it means optimising systems and processes to remain competitive.

This is daunting for larger enterprises whose applications and development teams face bottlenecks as they grow. Breaking up monolith applications into small autonomous pieces — each deployed and sustained by its own agile team — helps companies overcome operational and collaborative roadblocks and support future business initiatives.

What are microservices?

When a company is born, its applications usually begin as monoliths. This is reasonable, at first — these systems work well within limited scopes and demand less from their teams at the start. But just as companies grow and evolve, so must their application architecture. As systems become large and complex, companies are turning to microservices as a long-term infrastructure solution.

Broadly, ‘microservices’ is an increasingly popular approach to application development. It involves the creation of a large ‘application’ that is actually a suite of modular components or ‘services,’ each of which encapsulates a single capability — an action in a specific business context that contributes to the company’s greater objectives.

Sam Newman, author of microservice architecture theory, describes microservices as “small, autonomous services modelled around a business domain that work together.” In fact, the enablement and scaling of specific business functions is central to the microservices approach. Each module exposes a simple application programming interface (API) that developers can use to support a well-defined task or business goal and communicate with other sets of services.

Each module has its own independent lifecycle and database as well, so that developers can build, test, and release each microservice independently. Still — and much like a monolith application — the collective services must cooperate to implement a complete business process.
Are they worth the investment?

The benefits of microservices include application security, speed, agility and scalability, all of which contribute to long-term business value. Microservices have their own fast and independent release cycles, for example; services coupled with monolith release cycles do not.

But the core benefit of microservices architecture is the organisation of its functionalities around business capabilities, which maximises opportunities for developers to drive incremental improvements, minimise downtime and be responsive to changing business demands.

How digital service providers (DSPs) can refactor legacy O/BSS applications to microservices-based architecture

Prodapt Solutions discuss how a telco could refactor their legacy apps to a microservices-based architecture thus enabling them to meet the growing demands from consumers. Read here

Why migrate to microservices?

As companies grow, add roles and functions, and require more from their applications, monoliths make the pace of progress slower and more labor-intensive. Business owners must wait longer for the functionalities they demand.

In fact, development teams of more than 20 members will start suffering from collaboration difficulties while maintaining monolith applications. That’s because even small changes call for building and deploying entirely new applications, adding to team workloads and company expenses.

Common problems that signify a need for change

A shorthand diagnosis can help business leaders determine if it’s time to consider adopting or migrating to microservices. Common problems that signify a need for change include:

● Long deployment cycles
● Deployment of new product increments cause to long downtime of hole system
● No separation of modules—i.e., a small change in code involves other modules to build, test and deploy
● Legacy technology stacks
● Scalability issues—i.e., an inability to scale a portion of an application
● Difficulty starting projects for new developers

Leaders may also find that common, ‘go-to’ solutions for solving problems and driving results become less effective over time. Consider the following examples:

● The software development process is becoming less linear
● Assigning more team members to work on systems provides fewer benefits
● The pace of system development no longer keeps up with business requirements

Introducing microservices can improve processes related to developing and maintaining software, but also enable teams to improve collaborations on hybrid projects that require multiple assets. In this way, this singular new IT approach can improve scalability and agility, speed up time-to-market and support business growth. A microservice architecture creates a foundation for new functionalities years into the future as well.

How to modernise your data analytics strategy, according to Gartner

Your organisation needs to modernise its data analytics strategy, because traditional methods can’t satisfy digital business demands. Read here

How to organise your migration to microservices

Shifting to microservices can be done in one of two ways. The first option is to keep a solid monolithic base and start building microservices around it. The second option is to iteratively transform whole applications to microservices.

In either case, teams need to identify the boundaries of each microservice — they must encapsulate each business function as a ‘bounded context.’ To do so, teams must minimise dependencies of newly formed microservices to monolith applications. They must establish service-to-service intercommunication outside monoliths and begin fostering trust in a new, decomposed application environment.

In this setting, they can extract bounded contexts to a single microservice and its database. They must start and stop CRUD operations with each microservice, thereby establishing that microservice’s autonomy. In doing so, they will not need to split data between several microservices’ databases to maintain consistent performance. A simple checklist for completion of each microservice includes:

1. Private data storage for each microservice
2. Reduced dependencies between microservices
3. Data consistency across the whole system, avoid distributed transaction
4. Async communication over sync (preferred)
5. An event-driven approach (preferred)

Once a microservice API is defined, communication with the original monolith can be restricted to API only, which prepares the service to be completely detached. The service then becomes a standalone microservice running in a separate process. Teams can repeat this process until all services have been decoupled from the monolith in question.

Deploying microservices in this way increases the organisation’s ability to provide cross-unit and cross-application functions. Companies can create a perpetual evolution of their architecture and support new business processes by enforcing the established boundaries between new and existing modules as well.

How can organisations take advantage of the API economy?

The API economy is growing rapidly. How can organisations take advantage of it — both internally and externally — to break down silos and accelerate innovation? Read here

Enterprise successes

Leading companies are already realising the benefits of microservices, and are vocal about the results. Wix.com transitioned from a monolith that handled all of the company’s processes to a smaller service environment and new internal culture, improving scalability and quality assurance.

When Best Buy’s ‘single monolithic structure’ became a bottleneck for deployments, the company designed its microservice architecture using its people and ideal processes as prerequisites. Cloud Elements, a cloud API integration platform developer, used microservices design to match new business demands during extended periods of growth.

As an architectural style, microservices focuses on the speed of software development, from concept to deployment (i.e., ‘time to market’). System architecture is strongly tied to the development process, but also the organisation of the company and its culture.

Microservices are no exception — they can be thought of as an evolutionary component of company growth, with which each of these elements interfaces. Microservices were born not as an IT solution alone, but as a response to the demands of the modern market. They represent a winning option for business leaders looking to align their IT infrastructure with core business objectives, no matter what the future holds in store.

Written by Pavlo Matusiak, head of .NET Stack at Ciklum

Latest news

divider
M&A
Global software sector has seen a surge in M&A deals

Global software sector has seen a surge in M&A deals

6 December 2019 / The volume of M&A deals in the global software sector has soared to its highest [...]

divider
Releases & Updates
BP to move data to AWS, closing European data centres

BP to move data to AWS, closing European data centres

5 December 2019 / This move by BP, which involves closure of their two Europe-based mega centres, was made [...]

divider
Cloud & Edge Computing
AWS and Verizon partner to deliver 5G edge solutions

AWS and Verizon partner to deliver 5G edge solutions

4 December 2019 / In what’s been touted as a world-first, the solution is set to be deployed on [...]

divider
Telecoms
More than mobile: how rapidly diversifying telcos can avoid critical overload and downtime

More than mobile: how rapidly diversifying telcos can avoid critical overload and downtime

4 December 2019 / How can telcos avoid downtime? As industry rivals go, telecoms businesses are among the fiercest [...]

divider
Digital Transformation
How are ASEAN countries leading the digital transformation wave

How are ASEAN countries leading the digital transformation wave

4 December 2019 / Association of Southeast Asian Nations (ASEAN) has one of the most robust economies in Asia. [...]

divider
Automation
Top five automation challenges in 2020, according to Forrester analyst

Top five automation challenges in 2020, according to Forrester analyst

4 December 2019 / Every enterprise is automating. That’s not the story. The challenge most CTOs face is that [...]

divider
Cybersecurity
10 ways businesses can protect customer data

10 ways businesses can protect customer data

3 December 2019 / The Information Commissioners Office (ICO) has warned organisations that they should be doing everything they [...]

divider
AI & Machine Learning
AI and the future of design

AI and the future of design

2 December 2019 / The design industry is yet another area where AI is making huge strides. Just recently, [...]

divider
Diversity
Women in IT Awards New York 2020: Nominations Open!

Women in IT Awards New York 2020: Nominations Open!

2 December 2019 / Taking place at the Grand Hyatt, this will be the third annual iteration of New [...]

Do NOT follow this link or you will be banned from the site!

Pin It on Pinterest