NH
N.E. Hullegien
info
Please Note
<p>This page displays the records of the person named above and is not linked to a unique person identifier. This record may need to be merged to a profile.</p>
2 records found
1
Detecting anti-patterns in a MSA using distributed tracing
Detecting anti-patterns in a MSA using distributed tracing at ING
Master thesis
(2022)
-
N.E. Hullegien, L. Miranda da Cruz, A. van Deursen, A. Katsifodimos, Pieter Vallen, Kevin van der Vlist, Jonck van der Kogel
Microservice architectures (MSA) have become a dominant architectural style choice in the service oriented software industry. Because of this, as with any other system, some unoptimized approaches might creep into architectures. These are what we call anti-patterns, they can be considered the opposite of design patterns. Furthermore, a microservice architecture can quickly grow to an immense scale due to the number of services.
In this work, we present Luduan, a tool created within ING that provides engineers with insights into their MSA. Using different graph metrics and tracing data, we determine the likelihood of any service containing certain anti-patterns. We validate this methodology by gathering feedback from subject-matter experts, by ways of surveys and one-on-one sessions where Luduan is used as a support tool. Finally, we ask teams that are responsible for services, to figure out whether their service has an anti-pattern or not. We then use these results to fine tune the computations from metrics to anti-pattern likelihood. ...
In this work, we present Luduan, a tool created within ING that provides engineers with insights into their MSA. Using different graph metrics and tracing data, we determine the likelihood of any service containing certain anti-patterns. We validate this methodology by gathering feedback from subject-matter experts, by ways of surveys and one-on-one sessions where Luduan is used as a support tool. Finally, we ask teams that are responsible for services, to figure out whether their service has an anti-pattern or not. We then use these results to fine tune the computations from metrics to anti-pattern likelihood. ...
Microservice architectures (MSA) have become a dominant architectural style choice in the service oriented software industry. Because of this, as with any other system, some unoptimized approaches might creep into architectures. These are what we call anti-patterns, they can be considered the opposite of design patterns. Furthermore, a microservice architecture can quickly grow to an immense scale due to the number of services.
In this work, we present Luduan, a tool created within ING that provides engineers with insights into their MSA. Using different graph metrics and tracing data, we determine the likelihood of any service containing certain anti-patterns. We validate this methodology by gathering feedback from subject-matter experts, by ways of surveys and one-on-one sessions where Luduan is used as a support tool. Finally, we ask teams that are responsible for services, to figure out whether their service has an anti-pattern or not. We then use these results to fine tune the computations from metrics to anti-pattern likelihood.
In this work, we present Luduan, a tool created within ING that provides engineers with insights into their MSA. Using different graph metrics and tracing data, we determine the likelihood of any service containing certain anti-patterns. We validate this methodology by gathering feedback from subject-matter experts, by ways of surveys and one-on-one sessions where Luduan is used as a support tool. Finally, we ask teams that are responsible for services, to figure out whether their service has an anti-pattern or not. We then use these results to fine tune the computations from metrics to anti-pattern likelihood.
Bachelor thesis
(2019)
-
Maaike Visser, Stefan van der Heijden, Stas Mironov, Nils Hullegien, Adam Head, Jan S. Rellermeyer
The Organic Rankine Cycle Hybrid Integrated Device (ORCHID) is a small scale power plant that is used to study the fundamental gas dynamic behavior of dense organic fluids, as well as the behavior of turbomachinery. In order to draw accurate conclusions about the raw sensor data generated by the ORCHID one has to know when the system is in steady-state. Currently, determining the steady state over historical data is cumbersome, and difficult to do in real time.
Our application aims to solve the problems with the current information workflow by consolidating the functionality that is currently spread across multiple applications into one main application, as well by offering steady state detection over real-time data. Aside from the lack of steady state detection capabilities, our client indicated that the applications currently in use often lag or crash. Therefore we defined three design goals: Performance, Reliability, and Ease of Use.
The main challenge we encountered during this phase was finding a way to properly connect the different external applications needed to properly process the ORCHID's data. The design goals were continuously referenced during the implementation phase to ensure the quality of our application. Additionally, we used unit, integration, and manual testing. The last category also comprised user tests conducted with our client to ensure that the final product would meet his requirements.
With our final application, we solve the client's main problem: it is now possible to detect whether or not a system is in steady state while an experiment is being conducted. This greatly reduces both the amount of time the client has to invest, as well as the amount of energy needed to conduct a successful experiment. ...
Our application aims to solve the problems with the current information workflow by consolidating the functionality that is currently spread across multiple applications into one main application, as well by offering steady state detection over real-time data. Aside from the lack of steady state detection capabilities, our client indicated that the applications currently in use often lag or crash. Therefore we defined three design goals: Performance, Reliability, and Ease of Use.
The main challenge we encountered during this phase was finding a way to properly connect the different external applications needed to properly process the ORCHID's data. The design goals were continuously referenced during the implementation phase to ensure the quality of our application. Additionally, we used unit, integration, and manual testing. The last category also comprised user tests conducted with our client to ensure that the final product would meet his requirements.
With our final application, we solve the client's main problem: it is now possible to detect whether or not a system is in steady state while an experiment is being conducted. This greatly reduces both the amount of time the client has to invest, as well as the amount of energy needed to conduct a successful experiment. ...
The Organic Rankine Cycle Hybrid Integrated Device (ORCHID) is a small scale power plant that is used to study the fundamental gas dynamic behavior of dense organic fluids, as well as the behavior of turbomachinery. In order to draw accurate conclusions about the raw sensor data generated by the ORCHID one has to know when the system is in steady-state. Currently, determining the steady state over historical data is cumbersome, and difficult to do in real time.
Our application aims to solve the problems with the current information workflow by consolidating the functionality that is currently spread across multiple applications into one main application, as well by offering steady state detection over real-time data. Aside from the lack of steady state detection capabilities, our client indicated that the applications currently in use often lag or crash. Therefore we defined three design goals: Performance, Reliability, and Ease of Use.
The main challenge we encountered during this phase was finding a way to properly connect the different external applications needed to properly process the ORCHID's data. The design goals were continuously referenced during the implementation phase to ensure the quality of our application. Additionally, we used unit, integration, and manual testing. The last category also comprised user tests conducted with our client to ensure that the final product would meet his requirements.
With our final application, we solve the client's main problem: it is now possible to detect whether or not a system is in steady state while an experiment is being conducted. This greatly reduces both the amount of time the client has to invest, as well as the amount of energy needed to conduct a successful experiment.
Our application aims to solve the problems with the current information workflow by consolidating the functionality that is currently spread across multiple applications into one main application, as well by offering steady state detection over real-time data. Aside from the lack of steady state detection capabilities, our client indicated that the applications currently in use often lag or crash. Therefore we defined three design goals: Performance, Reliability, and Ease of Use.
The main challenge we encountered during this phase was finding a way to properly connect the different external applications needed to properly process the ORCHID's data. The design goals were continuously referenced during the implementation phase to ensure the quality of our application. Additionally, we used unit, integration, and manual testing. The last category also comprised user tests conducted with our client to ensure that the final product would meet his requirements.
With our final application, we solve the client's main problem: it is now possible to detect whether or not a system is in steady state while an experiment is being conducted. This greatly reduces both the amount of time the client has to invest, as well as the amount of energy needed to conduct a successful experiment.