Helaas, deze vacature is niet actief.

master graduation project: architecture visualization in Amsterdam

... In ING we created a microservice architecture in order to deliver customer features in an agile way.  We have employees working squads that are responsible for one of more microservices delivered as REST APIs. Working in...

Beschrijving

Context


In ING we created a microservice architecture in order to deliver customer features in an agile way.  We have employees working squads that are responsible for one of more microservices delivered as REST APIs. Working in small teams allows fast coding and high availability as the scope of the single API is limited. The result of this is a highly connected environment with a lot of interdependencies between APIs that brings another challenge.

Challenge

Fast coding? It turns out teams have a lot of dependencies that need to be in place before teams can code out their API. E.g. if API A needs data from API B to deliver its functionality then API B needs to have its documentation stable (Interface contract), test environment needs to be set up and stable, test data needs to be aligned with other APIs). 

High availability? As the single API can be quite stable, the whole chain of APIs is as stable as its weakest link. There appear hot spots APIs in the architecture that need to be called a lot by other APIs. These APIs can have a large change frequency and have to cope with high load. They are commonly the root cause of outages (both in test and production environments)

For most of these APIs, tracing data is available. In the precious student assignment, an architecture diagram can be extracted from the tracing data. Based on this visualization, some graph metrics are applied to detect architecture changes and anti-patterns.  Moreover, the performance information is also included in the edge attribute and visualized in the architecture. For example, response time, number of calls in the past an hour between two APIs etc.

We would like to extend the previous assignment on the following directions:

  • Using the architecture visualization for monitoring availability of customer features
  • If a change happens, can we do a simulation on how the architecture is impacted?
  • Improve visualization: currently the architecture is visualized as a graph, is there another way to visualize it so that all possible paths in one journey can be visualized once? For example, applying process mining techniques.
  • Etc.

Extra informatie

Status
Inactief
Plaats
Amsterdam
Dienstverbanden
Fulltime (ervaren)

Amsterdam | ICT / IT / Programmeur | Fulltime (ervaren)

We heten wel YoungCapital, maar iedereen is even welkom. Ook als je al wat meer ervaring hebt. Meer weten? Check onze FAQ.