Menu
Home
Log in / Register
 
Home arrow Computer Science arrow Microservices Flexible Software Architecture
Source

Sustainable Software Development

Starting a new software project is simple because there is not much code, the code structure is clean, and developers can make rapid progress. Over time, however, the architecture can erode and development becomes more difficult as its complexity increases. At some point, the software turns into a legacy system. As previously discussed, microservices prevent architectural erosion. When a microservice has turned into a legacy system, it can be replaced. This means that microservices can make sustainable software development possible and that a high level of productivity can be reached over the long term. However, in a microservice-based system, it can be the case that a lot of code has to be newly written. This will, of course, decrease productivity.

Handling Legacy

Replacing microservices is only possible if the system is already implemented in a microservice-based manner. However, the replacement and amendment of existing legacy applications can be made easier with microservices, too. The legacy applications only have to provide an interface that enables the microservice to communicate with the legacy application. Comprehensive code changes or the integration of new code components into the legacy system is not necessary. This can mean that code level integration can be avoided. Otherwise such integration is a big challenge in the case of legacy systems. Amending the system is particularly easy when a microservice can intercept the processing of all calls and process them itself. Such calls can be HTTP requests for the creation of web sites or REST calls.

In this situation, the microservice can complement the legacy system. There are different ways for this to happen:

  • • The microservice can process certain requests by itself while leaving others to the legacy system.
  • • Alternatively, the microservice can change the requests and then transfer them to the actual application.

This approach is similar to the SOA approach (see Chapter 6, “Microservices and SOA”), which deals with the comprehensive integration of different applications. When the applications are split into services, these services be orchestrated anew, and it is also possible to replace individual services with microservices.

 
Source
Found a mistake? Please highlight the word and press Shift + Enter  
< Prev   CONTENTS   Next >
 
Subjects
Accounting
Business & Finance
Communication
Computer Science
Economics
Education
Engineering
Environment
Geography
Health
History
Language & Literature
Law
Management
Marketing
Mathematics
Political science
Philosophy
Psychology
Religion
Sociology
Travel