Browse Prior Art Database

Method and System for Effectively Testing the Quality of a Microservice Based Application

IP.com Disclosure Number: IPCOM000248582D
Publication Date: 2016-Dec-20
Document File: 3 page(s) / 61K

Publishing Venue

The IP.com Prior Art Database

Abstract

In computing, microservices is a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task facilitating a modular approach to system-building. This opens new challenges on testing the quality of applications based on microservices specially for reproducing locally customer problems because, for example, the microservices can be private or chargeable and so not available for testing and problem determination purposes. What happens today with the traditional approach is that a scenario, usually simple, executed in a customer environment can be recorded using tools or recreated based on the log files and network traffic and then it can be re-executed 'as is' in a local environment. In fact, although some solutions already exist today for performing the above scenario, they require a duplicate of the customer environment in house in order to reproduce the problem or just the capability to simulate the microservices invocation returning 'predefined values' red from external sources like log files. There is still no one which has the logic to calculate in a dynamic way the response to the microservices calls without the need to replicate the customer environment and being able to 'learn' the values to be returned based on external sources like log files, DBs combined with the information of the customer scenarios invocated and the relationshipsbetween the data to provided.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 54% of the total text.

1

Method and System for Effectively Testing the Quality of a Microservice Based Application

Introduction What is proposed in this article is a new approach to perform an

effective end to end (E2E) testing and scenarios execution of microservices based applications without the need to replicate locally a complex Customer environment.

It relies on a smart logic to simulate the calls toward the microservices deriving the information form previous customer executions (logging, trace files, network traffic...) and/or correlating them with local application content information (DB,...).

The goal is to be able to: - Perform in "house" the same scenario the customer has executed without changing the Application. The typical use case is for reproducing a customer issue. - Reduce the complexity to setup locally a customer-like environment for reproducing an error. - Minimize the bandwidth/calls toward microservices that can be also not free of charge or time consuming.

Overview -- "How' it works The architecture as described in the next picture is based on:

· A new SW entity, Application Advisor for Microservices (AAM), that is able to intercept and manage microservices invocation and provide a response retrieving the information from the data stored in the MKD or deriving from external sources.

A new repository called Microservices knowledge base (MKB) that contains the information related to the micro-services invocation calls and responses.

2

2

1

4

3

Application Advisor For Microservices

Microservices Info

Database

User B

Application User A

Service1 Service2

Service3

Plugings to retrieve microservices usage and scenario from different sources like log files, UI interaction , console log, ...

Logs

and below there are the 2 main scenarios we envision: - Recorded Microservices Scenario - Reproducing Microservices Scenario

Recorded Microservices Scenario Flow (Customer Environment): The scenario can be highlighted wi...