Spelling suggestions: "subject:"[een] MICROSERVICES"" "subject:"[enn] MICROSERVICES""
61 |
Research on Interprocess Communication in Microservices Architecture / Forskning om kommunikation mellan processer i mikroservicearkitekturShafabakhsh, Benyamin January 2020 (has links)
With the substantial growth of cloud computing over the past decade, microservices has gained significant popularity in the industry as a new architectural pattern. It promises a cloud-native architecture that breaks large applications into a collection of small, independent, and distributed packages. Since microservices-based applications are distributed, one of the key challenges when designing an application is the choice of mechanism by which services communicate with each other. There are several approaches for implementing Interprocess communication (IPC) in microservices, and each comes with different advantages and trade-offs. While theoretical and informal comparison exists between them, this thesis has taken an experimental approach to compare and contrast common forms of IPC communications. In this the- sis, IPC methods have been categorized into Synchronous and Asynchronous categories. The Synchronous type consists of REST API and Google gRPC, while the Asynchronous type is using a message broker known as RabbitMQ. Further, a collection of microservices for an e-commerce scenario has been designed and developed using all the three IPC methods. A load test has been executed against each model to obtain quantitative data related to Performance Efficiency, and Availability of every method. Developing the same set of functionalities using different IPC methods has offered a qualitative data related to Scalability, and Complexity of each IPC model. The evaluation of the experiment indicates that, although there is no universal IPC solution that can be applied in all cases, Asynchronous IPC patterns shall be the preferred option when designing the system. Nevertheless, the findings of this work also suggest there exist scenarios where Synchronous patterns can be more suitable. / Med den kraftiga tillväxten av molntjänster under det senaste decenniet har mikrotjänster fått en betydande popularitet i branschen som ett nytt arkitektoniskt mönster. Det erbjuder en moln-baserad arkitektur som delar stora applikationer i en samling små, oberoende och distribuerade paket. Eftersom microservicebaserade applikationer distribueras och körs på olika maskiner, är en av de viktigaste utmaningarna när man utformar en applikation valet av mekanism med vilken tjänster kommunicerar med varandra. Det finns flera metoder för att implementera Interprocess-kommunikation (IPC) i mikrotjänster och var och en har olika fördelar och nackdelar. Medan det finns teoretisk och in- formell jämförelse mellan dem, har denna avhandling tagit ett experimentellt synsätt för att jämföra och kontrastera vanliga former av IPC-kommunikation. I denna avhandling har IPC-metoder kategoriserats i synkrona och asynkrona kategorier. Den synkrona typen består av REST API och Google gRPC, medan asynkron typ använder en meddelandemäklare känd som RabbitMQ. Dessutom har en samling mikroservice för ett e-handelsscenario utformats och utvecklats med alla de tre olika IPC-metoderna. Ett lasttest har utförts mot var- je modell för att erhålla kvantitativa data relaterade till prestandaeffektivitet, och tillgänglighet för varje metod. Att utveckla samma uppsättning funktionaliteter med olika IPC-metoder har erbjudit en kvalitativ data relaterad till skalbarhet och komplexitet för varje IPC-modell. Utvärderingen av experimentet indikerar att även om det inte finns någon universell IPC-lösning som kan tillämpas i alla fall, ska asynkrona IPC-mönster vara det föredragna alternativet vid utformningen av systemet. Ändå tyder resultaten från detta arbete också på att det finns scenarier där synkrona mönster är mer lämpliga.
|
62 |
Mikrotjänster med Quarkus och Gin : En jämförelsestudie ur ett prestandaperspektiv / Microservices with Quarkus and Gin : A comparative performance studyNilsson, Adrian January 2023 (has links)
Att utveckla applikationer med mikrotjänstarkitektur har idag blivit ett trendande tillvägagångssätt för att skapa tjänster som är anpassade för att köras i molnet med fördelar som mindre underhållsarbete och lättare skalbarhet. Mikrotjänster kännetecknas som löstkopplade och oberoende tjänster som kommunicerar genom att exponera ett API. För många populära programmeringsspråk, som till exempel Java, finns det flera ramverk att använda för att underlätta utvecklandet av mikrotjänster. Företaget Redpill Linpro i Karlstad, som är uppdragsgivare för den här studien, använder sig idag av Javaramverket Quarkus vid utvecklandet av mikrotjänster. De är dock intresserade av att veta hur mikrotjänster som utvecklats i Quarkus jämför sig prestandamässigt mot mikrotjänster som utvecklats i ett annat programmeringsspråk. Redpill Linpro har märkt att intresset för programmeringsspråket Go har ökat på sistone. I Gos officiella dokumentation rekommenderas ramverket Gin för att få bättre prestanda när det kommer till att utveckla tjänster som exponerar ett API. Redpill Linpro har tilldelat författaren av denna uppsats ett uppdrag att utveckla mikrotjänster med hjälp av ramverken Quarkus och Gin för att studera skillnader i prestanda samt beskriva tillvägagångssättet för hur utvecklingen av mikrotjänsterna gått till. Studien syfte är att identifiera vilken av mikrotjänsterna utvecklade i Gin eller Quarkus som presterar snabbast beträffande kompileringstid och uppstartstid, skillnader i filstorlek och skillnader i responstid vid HTTP-anropen GET och POST med och utan koppling till databas. Även vilken mikrotjänst som använder minst CPU-kraft och RAM-minne. Studiens resultat visar för- och nackdelar med båda ramverken men att mikrotjänsterna skapade med Gin presterade bäst i flest antalet parametrar som mättes i den här studien.
|
63 |
Recruit – an Adaptable Recruitment PlatformHeynes, Amanda, Rickman, Ina January 2021 (has links)
The rapid growth of the tech industry has led to a deficiency of qualified developers. Employing developers with adequate skills requires accurate assessments of the candidates. Today, an abundance of tools exists that companies can use in their recruitment processes. These tools are commonly prebuilt and often unadaptable, as well as being unrealistic in terms of real working life. In a normal work process, tasks have a duration of weeks instead of hours and developers can cooperate to solve assignments. Most companies today use recruitment tools created by external companies to facilitate their recruitment process. These tools are often rigid and cannot be adapted to the specific needs of the company. The consequences of these prebuilt tools have led to companies' rising desire to use an adaptable recruitment platform. The problem is that no such platform exists that provides a tool where companies can create their own assessments and adapt them according to their needs, with respect to the choice of tasks. The purpose of this thesis is to create an adaptable platform providing a tool for companies to use in their recruitment process, where tasks can be modified according to the requirements for the Recruit platform. The goal is to facilitate the recruitment process by creating an adaptable and expandable tool. The project strategy used for the development of the platform was an agile method inspired by Scrum. The development process resulted in a platform called Recruit that was built with a microservice architecture that fulfilled all the requirements for the functionality. This thesis was conducted on behalf of Knightec. The focus lies in building the platform with microservices using the cloud computing infrastructure of Amazon Web Services. The platform was built around social events where candidates can play a game proving their coding and problem-solving abilities. The implemented game supports different levels of difficulty and is accessed through API (Application Programming Interface) requests. Instead of candidates focusing on how to use the platform, the difficulty in the challenge lies in the focus of the candidates’ ability to create a solution to play the game. The development method used in this thesis is an agile method inspired by Scrum that is a part of a project method. The project method consists of five phases where the platform was designed and implemented, and lastly evaluated. The evaluation of this thesis concerned the project evaluation, prototype evaluation, and requirements evaluation. To prove that the requirements of the platform were fulfilled, semi-open interviews were conducted as well as acceptance tests. The discussion concerning the type of game resulted in implementing a turn-based single-player game, because of the increased complexity of implementing real-time or multiplayer games. / Den hastiga tillväxten av teknikindustrin har lett till en brist på kvalificerade utvecklare. För att anställa utvecklare med lämplig kompetens behövs noga utvalda tester. Idag existerar många verktyg som företag kan använda i deras rekryteringsprocess. Dessa verktyg är vanligtvis förbyggda och därmed inte anpassningsbara, samt speglar inte verkligheten korrekt. En arbetsuppgift, enligt verkligheten, har ofta en varaktighet på flera veckor snarare än timmar och utvecklarna kan samarbeta för att lösa uppgiften. Idag använder de flesta företag rekryteringsverktyg skapade av externa företag för att underlätta deras rekryteringsprocess. Dessa verktyg är ofta fasta och kan därför inte anpassas utefter företagets behov. Konsekvensen av dessa förbyggda verktyg har lett till ett begär hos företagen att använda anpassningsbara rekryteringsplattformar. Problemet är att ingen sådan plattform, som tillhandahåller ett verktyg där företag kan konstruera och skapa sina tester utefter behov, med hänsyn till val av test, existerar. Syftet med det här projektet är att skapa en anpassningsbar plattform som tillhandahåller ett verktyg, där företag kan modifiera sina tester utefter krav och använda dem i deras rekryteringsprocess. Målet är att underlätta rekryteringsprocessen genom att skapa en anpassningsbar plattform och ett expanderbart verktyg. Projekt-strategin som använts för att utveckla plattformen var en agil metod inspirerad av Scrum. Utvecklingsprocessen resulterade i plattformen Recruit som byggdes med en mikrotjänstarkitektur där alla krav uppfylldes. Det här examensarbetet har utförts på uppdrag av Knightec. Fokuset var att bygga plattformen med mikrotjänster genom att använda Amazon Web Services molnbaserade infrastruktur. Plattformen byggdes runt sociala evenemang där kandidater kan spela ett spel för att bevisa deras kodnings- och problemlösningsförmåga. Det implementerade spelet stödjer olika nivåer av svårighetsgrad och nås via API (Application Programming Interface) anrop. I stället för att kandidaterna ska fokusera på hur plattformen används, gör svårighetsgraden i utmaningen att kandidaternas förmåga till att konstruera en lösning för att spela spelet, hamnar i fokus. Utvecklingsmetoden som användes i detta examensarbete är en agil metod som är inspirerad av Scrum och är en del av en projektmetod. Projektmetoden bestod av fem faser där plattformen designades och implementerades, och till sist evaluerades. Evalueringen av det här examensarbetet omfattade projektevaluering, prototypevaluering, och kravevaluering. För att visa på att kraven för plattformen var uppfyllda genomfördes semi-öppna intervjuer, samt acceptanstester. Diskussionen kring typen av spel resulterade i en implementation av ett turbaserat enmansspel eftersom komplexiteten ökade med realtid- eller flermansspel.
|
64 |
Investigating the security of a microservices architecture : A case study on microservice and Kubernetes SecurityMuresu, Daniel January 2021 (has links)
The concept of breaking down a bigger application into smaller components is not a new idea, but it has been more commonly adopted in recent years due to the rise of the microservice application architecture. What has not been elaborated on enough however, is the security of the microservice architecture and how it differs from a monolithic application architecture. This leads to question what the most relevant security vulnerabilities of integrating and using a microservice architecture are, and what the correlating metrics that can be used to detect intrusions based on the vulnerabilities can be. In this report, the security of the microservice architecture is elaborated on in a case study of the system at Skatteverket, the Swedish tax agency, which is a microservice based architecture running on Kubernetes. Interviews are conducted with people that have experience in Kubernetes and microservices separately, both employed at Skatteverket and elsewhere. In the interviews, vulnerabilities and intrusion detection metrics are identified, which are then analyzed with respect to a use case in the Skatteverket system. A survey is also done on the existing technologies that can mitigate the identified vulnerabilities that are related to a microservice architecture. The vulnerabilities present in the use case are then concluded to be most relevant, the identified intrusion detection metrics are elaborated on and the service mesh technology Istio is found to mitigate largest number of the identified vulnerabilities. / Konceptet att bryta ner en större applikation i mindre komponenter är inte en ny idé, men den har blivit vanligare under de senaste åren på grund av växten i användning av mikrotjänstsarkitekturer. Vad som dock inte har utforskats tillräckligt är säkerheten för mikrotjänstarkitekturen och hur den skiljer sig från en monolitisk applikationsarkitektur. Detta leder till att fråga vilka de mest relevanta säkerhetsriskerna med att integrera och använda en mikrotjänstarkitektur är, och vilka mätvärden som kan användas för att upptäcka intrång baserat på riskerna kan vara. I denna rapport utforskas säkerheten för mikrotjänstarkitekturer genom en fallstudie av systemet hos Skatteverket, som är en mikrotjänstbaserad arkitektur som körs på Kubernetes. Intervjuer genomförs med personer som har erfarenhet av Kubernetes och mikrotjänster separat, både med anställda på Skatteverket och på annat håll. I intervjuerna identifieras risker och mätvärden för att märka av intrång som sedan analyseras med avseende på ett användningsfall i Skatteverketssystemet. En undersökning görs också om befintlig teknik som kan mildra de identifierade riskerna som är relaterade till en mikrotjänstarkitektur. De risker som förekommer i användningsfallet anses sedan till att vara mest relevanta i slutsatserna, de identifierade mätvärdena för att märka av intrång diskuteras och service mesh teknologin Istio anses mitigera störst antal av de identifierade riskerna.
|
65 |
Migrating monolithic system to domain-driven microservices : Developing a generalized migration strategy for an architecture built on microservices / Migration av monolitiskt system till domän-drivna mikrotjänster : Utveckling av en generaliserad migrationsstrategi för en arkitektur byggd på mikrotjänsterLanguric, Milan, Zaki, Leo January 2022 (has links)
As monolithic software grows in complexity, they tend to reach a point where further improvements and maintenance become a significant burden. Therefore, Many organizations consider moving components of their systems into separate microservices. Distributed systems with loosely coupled microservices tend to become more manageable involving development, deployment, and maintenance. Transitioning from a monolithic architecture to an architecture based on microservices is not straightforward. The purpose of this thesis is to study and develop a strategy for extracting microservices from a pre-existing monolithic system. It also intends to provide concepts for how to investigate and carry out migrations. The results showed that serverless computing would serve the system in question well while simultaneously leveraging DevOps principles across an entire domain. In conclusion, the strategy was summed up in several steps that represent the initiation towards full migration. Further research needs to be conducted on avoiding abrupt interruptions of services during migration and how to share data effectively across services and domains. / När monolitisk programvara växer i komplexitet finns det en tendens att den når ett tillstånd där ytterligare förbättringar och underhåll orsakar avsevärd börda. Många organisationer överväger därför att flytta komponenter från sina system till separata mikrotjänster. Distribuerade system med löst kopplade mikrotjänster syftar till att vara mer hanterbara med avseende till utveckling, driftsättning och underhåll. Övergången från en monolitisk arkitektur till en arkitektur baserad på mikrotjänster är ibland inte helt självklar. Därför är syftet med detta examensarbete att studera och utveckla en strategi för att extrahera mikrotjänster från ett redan existerande monolitiskt system. Rapporten avser även att ge koncept för hur man utreder och genomför en migration. Resultaten visar att serverlös databehandling skulle vara till nytta för systemet i fråga och samtidigt främja nyttjandet DevOps-principerna över en tjänst som utgör en hel domän. Strategin sammanfattades i flertalet steg, vilka representerar migrationsövergången. Ytterligare forskning behöver utföras för att undvika plötsliga avbrott i tjänster under migration och hur man effektivt kan dela data mellan tjänster och domäner.
|
66 |
Scalable and Energy-Efficient SIMT Systems for Deep Learning and Data Center MicroservicesMahmoud Khairy A. Abdallah (12894191) 04 July 2022 (has links)
<p> </p>
<p>Moore’s law is dead. The physical and economic principles that enabled an exponential rise in transistors per chip have reached their breaking point. As a result, High-Performance Computing (HPC) domain and cloud data centers are encountering significant energy, cost, and environmental hurdles that have led them to embrace custom hardware/software solutions. Single Instruction Multiple Thread (SIMT) accelerators, like Graphics Processing Units (GPUs), are compelling solutions to achieve considerable energy efficiency while still preserving programmability in the twilight of Moore’s Law.</p>
<p>In the HPC and Deep Learning (DL) domain, the death of single-chip GPU performance scaling will usher in a renaissance in multi-chip Non-Uniform Memory Access (NUMA) scaling. Advances in silicon interposers and other inter-chip signaling technology will enable single-package systems, composed of multiple chiplets that continue to scale even as per-chip transistors do not. Given this evolving, massively parallel NUMA landscape, the placement of data on each chiplet, or discrete GPU card, and the scheduling of the threads that use that data is a critical factor in system performance and power consumption.</p>
<p>Aside from the supercomputer space, general-purpose compute units are still the main driver of data center’s total cost of ownership (TCO). CPUs consume 60% of the total data center power budget, half of which comes from the CPU pipeline’s frontend. Coupled with the hardware efficiency crisis is an increased desire for programmer productivity, flexible scalability, and nimble software updates that have led to the rise of software microservices. Consequently, single servers are now packed with many threads executing the same, relatively small task on different data.</p>
<p>In this dissertation, I discuss these new paradigm shifts, addressing the following concerns: (1) how do we overcome the non-uniform memory access overhead for next-generation multi-chiplet GPUs in the era of DL-driven workloads?; (2) how can we improve the energy efficiency of data center’s CPUs in the light of microservices evolution and request similarity?; and (3) how to study such rapidly-evolving systems with an accurate and extensible SIMT performance modeling?</p>
|
67 |
Design and Evaluation of a Microservice Testing Tool for Edge Computing Environments / Design och utvärdering av Microservice Testing Verktyg i KantmolnmiljöTanfener, Ozan January 2020 (has links)
Edge computing can provide decentralized computation and storage resources with low latency and high bandwidth. It is a promising infrastructure to host services with stringent latency requirements, for example autonomous driving, cloud gaming, and telesurgery to the customers. Because of the structural complexity associated with the edge computing applications, research topics like service placement gain great importance. To provide a realistic and efficient general environment for evaluating service placement solutions that can be used to analyze latency requirements of services at scale, a new testing tool for mobile edge cloud is designed and implemented in this thesis. The proposed tool is implemented as a cloud native application, and allows deploying applications in an edge computing infrastructure that consists of Kubernetes and Istio, it can be easily scaled up to several hundreds of microservices, and deployment into the edge clusters is automated. With the help of the designed tool, two different microservice placement algorithms are evaluated in an emulated edge computing environment based on Federated Kubernetes. The results have shown how the performance of algorithms varies when the parameters of the environment, and the applications instantiated and deployed by the tool are changed. For example, increasing the request rate 200% can increase the delay by 100% for different algorithms. Moreover, complicating the mobile network can improve the latency performance up to 20% depending on the microservice placement algorithm. / Edge computing kan ge decentraliserad beräkning och lagringsresurser med låg latens och hög bandbredd. Det är en lovande infrastruktur för att vara värd för tjänster med strängt prestandakrav, till exempel autonom körning, molnspel och telekirurgi till kunderna. På grund av den strukturella komplexiteten som är associerad med edge computing applikationerna, får forskningsämnen som tjänsteplacering stor betydelse. För att tillhandahålla en realistisk och effektiv allmän miljö för utvärdering av lösningar för tjänsteplacering, designas och implementeras ett nytt testverktyg för mobilt kantmoln i denna avhandling. Det föreslagna verktyget implementeras på molnmässigt sätt som gör det möjligt att distribuera applikationer i en edge computing-infrastruktur som består av Kubernetes och Istio. Med hjälp av det konstruerade verktyget utvärderas två olika placeringsalgoritmer för mikrotjänster i en realistisk edge computing miljö. Resultaten visar att en ökning av förfrågningsgraden 200 % kan öka förseningen med 100 % för olika algoritmer. Dessutom kan komplicering av mobilnätet förbättra latensprestanda upp till 20% beroende på algoritmen för mikroserviceplaceringen.
|
68 |
Microservices identification in existing applications using meta-heuristics optimization and machine learningBarry, Hanifa 03 1900 (has links)
L’architecture en microservices met en évidence de multiples avantages pour les entreprises
et les développeurs. Cela explique pourquoi de nombreuses entreprises technologiques choisissent
de migrer leurs logiciels d’une architecture monolithique vers celle des microservices.
Cependant, la migration d’un système monolithique ou d’un système hérité vers une architecture
en microservices est une tâche complexe, risquée et chronophage. Pour faciliter et
améliorer ce processus, notre travail se concentrera sur la conception d’une approche semiautomatique
pour détecter et identifier les microservices dans les applications existantes.
Il s’agit d’une étape clé vers l’objectif global de migrer un système monolithique vers des
microservices. Notre approche consiste à combiner des méthodes de regroupement et d’optimisation
de la proximité entre les dépendances structurelles à un niveau de granularité
optimal. Dans ce projet, nous nous appuyons également sur plusieurs méthodes d’intelligence
artificielle, en particulier des algorithmes d’apprentissage automatique, pour mettre
en oeuvre notre approche. D’une part, nous effectuons l’extraction de dépendances et le
regroupement. D’autre part, nous mettons en oeuvre des méthodes qui nous aideront à optimiser
la proximité entre éléments constituant un microservice. Pour obtenir les scores de
proximité, nous ciblons à la fois les relations sémantiques et les dépendances structurelles.
L’analyse des graphes d’appels et des traces d’exécutions peut nous aider à générer les différentes
connexions structurelles. En ce qui concerne les connexions sémantiques, nous pouvons
tirer parti de techniques d’apprentissage de représentations numériques (embedding) telles
que SBERT. / The microservices architecture highlights multiple benefits for companies and developers.
This explains the reason why numerous tech companies choose to migrate their software from
a monolithic architecture to one of microservices. However, migrating from a monolithic or
a legacy system to a microservices architecture is a complex, risky, and time-consuming
task. To ease and improve this process, our work will focus on designing a semi-automatic
approach to detect and identify microservices in existing applications. This is a key step
toward the overall goal of migrating a monolithic system toward microservices.
Our approach consists in combining methods of clustering and optimization of proximity
between structural dependencies at an optimal level of granularity. In this project, we rely
on several Artificial Intelligence techniques as well, specifically Machine Learning algorithms,
to implement our approach. On one hand, we are performing dependency extraction and
clustering. On the other hand, we are implementing methods that will help us optimize the
proximity. To obtain the proximity scores, we are targeting both semantic relationships and
structural dependencies. Analyzing call graphs and execution traces can help us generate
the different structural links or relations. As for the semantic connections, we can take
advantage of highly useful embedding such as SBERT.
|
69 |
<b>LIFT AND SHIFT OF MODEL CODE USING MACHINE LEARNING MICROSERVICES WITH GENERATIVE AI MAPPING LAYER IN ENTERPRISE SAAS APPLICATIONS</b>Venkata C Duvvuri (20213724) 20 November 2024 (has links)
<p dir="ltr">In traditional Software as a Service (SaaS) enterprise applications, there is a need for easy-to-do machine learning (ML) frameworks. Additionally, SaaS applications are closely related when they form an application suite, which brings forth the need for an ML framework that can facilitate the “lift and shift” of ML model code in similar needs in multiple enterprise applications in a suite. To add to this, some SaaS applications are still using legacy infrastructure (on-premise) mandating the need for an ML framework that is backward compatible with coexisting platforms, both cloud and legacy on-premise infrastructure. This study first demonstrated that in SaaS applications, microservices were important ingredients to deploying machine learning (ML) models successfully. In general, microservices can result in efficiencies in software service design, development, and delivery. As they become ubiquitous in the redesign of monolithic software, with the addition of machine learning, the traditional SaaS applications are also becoming increasingly intelligent. Next, the dissertation recommends a portable ML microservice framework Minerva (also known as contAIn—second generation), a Micro-services-based container framework for Applied Machine learning as an efficient way to modularize and deploy intelligent microservices in both traditional “legacy” SaaS application suite and cloud, especially in the enterprise domain. The study also identified and discussed the needs, challenges, and architecture to incorporate ML microservices in such applications. Secondly, the study further identifies that there is an impetus to innovate quickly for machine learning features in enterprise SaaS applications. Minerva’s design for optimal integration with legacy and cloud applications using microservices architecture leveraging lightweight infrastructure accelerates deploying ML models in such applications. The study highlights the real-world implementation of Minerva, doubling innovation speed with the human resources. It evaluates ML model code reusability across applications, resulting in 1.15 to 2X faster adoption compared to previous methods in a marketing application suite. Minerva’s top-tier security encompasses several advanced features designed to protect sensitive data in SaaS marketing applications. It includes end-to-end data encryption, ensuring all data remains secure both in transit and at rest using robust cryptographic algorithms. While a layered design accelerated innovation through porting existing models to related business suites, generative AI methods, while promising, hadn't yielded significant gains with smaller models yet porting over already no code optimized model code.</p>
|
70 |
AOT kompilering för minskad starttid av Java-baserade tjänster / AOT compilation to reduce startup time for Java-based servicesPergler, Oscar January 2023 (has links)
Software engineering architectures, such as microservices and serverless, have been increasingly adopted for their ability to address architectural challenges through a modular approach. This modularity involves isolating components and assigning them specific responsibilities independently of other components. Java, a computationally robust language, is frequently utilized in microservice architectures; however, the Java Virtual Machine (JVM) is often criticized for its slow and unpredictable startup times in these environments. This study investigates the startup time, response time, and CPU load of Java services compiled with either the JVM or GraalVM. A microservice system comprising three testable Java services was developed and monitored to identify any differences in the aforementioned metrics. The results indicate that GraalVM outperforms the JVM in terms of startup time. However, the impact of GraalVM on response time is not statistically significant enough to reject the null hypothesis. Additionally, GraalVM demonstrates lower CPU usage during cold starts. From an environmental perspective it is important to note that the shortened start time potentially comes at the cost of an increased development time depending on the complexity of the system and the seniority of the developer. / <p>Det finns övrigt digitalt material (t.ex. film-, bild- eller ljudfiler) eller modeller/artefakter tillhörande examensarbetet som ska skickas till arkivet.</p><p>There are other digital material (eg film, image or audio files) or models/artifacts that belongs to the thesis and need to be archived.</p>
|
Page generated in 0.0423 seconds