• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 61
  • 4
  • 4
  • 3
  • 3
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 82
  • 36
  • 25
  • 24
  • 23
  • 22
  • 20
  • 19
  • 18
  • 16
  • 16
  • 14
  • 14
  • 14
  • 12
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
51

Managing Microservices with a Service Mesh : An implementation of a service mesh with Kubernetes and Istio

Mara Jösch, Ronja January 2020 (has links)
The adoption of microservices facilitates extending computer systems in size, complexity, and distribution. Alongside their benefits, they introduce the possibility of partial failures. Besides focusing on the business logic, developers have to tackle cross-cutting concerns of service-to-service communication which now defines the applications' reliability and performance. Currently, developers use libraries embedded into the application code to address these concerns. However, this increases the complexity of the code and requires the maintenance and management of various libraries. The service mesh is a relatively new technology that possibly enables developers staying focused on their business logic. This thesis investigates one of the available service meshes called Istio, to identify its benefits and limitations. The main benefits found are that Istio adds resilience and security, allows features currently difficult to implement, and enables a cleaner structure and a standard implementation of features within and across teams. Drawbacks are that it decreases performance by adding CPU usage, memory usage, and latency. Furthermore, the main disadvantage of Istio is its limited testing tools. Based on the findings, the Webcore Infra team of the company can make a more informed decision whether or not Istio is to be introduced. / Tillämpningen av microservices underlättar utvidgningen av datorsystem i storlek, komplexitet och distribution. Utöver fördelarna introducerar de möjligheten till partiella misslyckanden. Förutom att fokusera på affärslogiken måste utvecklare hantera övergripande problem med kommunikation mellan olika tjänster som nu definierar applikationernas pålitlighet och prestanda. För närvarande använder utvecklare bibliotek inbäddade i programkoden för att hantera dessa problem. Detta ökar dock kodens komplexitet och kräver underhåll och hantering av olika bibliotek. Service mesh är en relativt ny teknik som kan möjliggöra för utvecklare att hålla fokus på sin affärslogik. Denna avhandling undersöker ett av de tillgängliga service mesh som kallas Istio för att identifiera dess fördelar och begränsningar. De viktigaste fördelarna som hittas är att Istio lägger till resistens och säkerhet, tillåter funktioner som för närvarande är svåra att implementera och möjliggör en renare struktur och en standardimplementering av funktioner inom och över olika team. Nackdelarna är att det minskar prestandan genom att öka CPU-användning, minnesanvändning och latens. Dessutom är Istios största nackdel dess begränsade testverktyg. Baserat på resultaten kan Webcore Infra-teamet i företaget fatta ett mer informerat beslut om Istio ska införas eller inte.
52

Detecting and mitigating software security vulnerabilities through secure environment programming

Blair, William 26 March 2024 (has links)
Adversaries continue to exploit software in order to infiltrate organizations’ networks, extract sensitive information, and hijack control of computing resources. Given the grave threat posed by unknown security vulnerabilities, continuously monitoring for vulnerabilities during development and evidence of exploitation after deployment is now standard practice. While the tools that perform this analysis and monitoring have evolved significantly in the last several decades, many approaches require either directly modifying a program’s source code or its intermediate representation. In this thesis, I propose methods for efficiently detecting and mitigating security vulnerabilities in software without requiring access to program source code or instrumenting individual programs. At the core of this thesis is a technique called secure environment programming (SEP). SEP enhances execution environments, which may be CPUs, language interpreters, or computing clouds, to detect security vulnerabilities in production software artifacts. Furthermore, environment based security features allow SEP to mitigate certain memory corruption and system call based attacks. This thesis’ key insight is that a program’s execution environment may be augmented with functionality to detect security vulnerabilities or protect workloads from specific attack vectors. I propose a novel vulnerability detection technique called micro-fuzzing which automatically detects algorithmic complexity (AC) vulnerabilities in both time and space. The detected bugs and vulnerabilities were confirmed by vendors of real-world Java libraries. Programs implemented in memory unsafe languages like C/C++ are popular targets for memory corruption exploits. In order to protect programs from these exploits, I enhance memory allocators with security features available in modern hardware environments. I use efficient hash algorithm implementations and memory protection keys (MPKs) available on recent CPUs to enforce security policies on application memory. Finally, I deploy a microservice-aware policy monitor (MPM) that detects security policy deviations in container telemetry. These security policies are generated from binary analysis over container images. Embedding MPMs derived from binary analysis in micro-service environments allows operators to detect compromised components without modifying container images or incurring high performance overhead. Applying SEP at varying levels of the computing stack, from individual programs to popular micro-service architectures, demonstrates that SEP efficiently protects diverse workloads without requiring program source or instrumentation.
53

Monólise: Uma técnica para decomposição de aplicações monolíticas em microsserviços

Rocha, Diego Pereira da 17 September 2018 (has links)
Submitted by JOSIANE SANTOS DE OLIVEIRA (josianeso) on 2018-12-21T15:54:25Z No. of bitstreams: 1 Diego Pereira da Rocha_.pdf: 4394542 bytes, checksum: c92aa948a9a1de248deed850d6c19d5b (MD5) / Made available in DSpace on 2018-12-21T15:54:25Z (GMT). No. of bitstreams: 1 Diego Pereira da Rocha_.pdf: 4394542 bytes, checksum: c92aa948a9a1de248deed850d6c19d5b (MD5) Previous issue date: 2018-09-17 / Nenhuma / A recorrente necessidade de as empresas entregarem seus softwares em curto espaço de tempo e de forma contínua, combinada ao alto nível de exigência dos usuários, está fazendo a indústria, de um modo geral, repensar como devem ser desenvolvidas as aplicações para o mercado atual. Nesse cenário, microsserviços é o estilo arquitetural utilizado para modernizar as aplicações monolíticas. No entanto, o processo para decompor uma aplicação monolítica em microsserviços é ainda um desafio que precisa ser investigado, já que, na indústria, atualmente, não há uma estrutura padronizada para fazer a decomposição das aplicações. Encontrar uma técnica que permita definir o grau de granularidade de um microsserviço também é um tema que desperta discussão na área de Engenharia de Software. Partindo dessas considerações, este trabalho propôs a Monólise, uma técnica que utiliza um algoritmo chamado Monobreak, que possibilita decompor uma aplicação monolítica a partir de funcionalidades e também definir o grau de granularidade dos microsserviços a serem gerados. Nesta pesquisa, a Monólise foi avaliada através de um estudo de caso. Tal avaliação consistiu na comparação da decomposição realizada pela Monólise com a decomposição executada por um especialista na aplicação-alvo utilizada no estudo de caso. Essa comparação permitiu avaliar a efetividade da Monólise através de oito cenários realísticos de decomposição. O resultado dessa avaliação permitiu verificar as semelhanças e diferenças ao decompor uma aplicação monolítica em microsserviços de forma manual e a partir de uma técnica semiautomática. O desenvolvimento deste trabalho demonstrou que a técnica de Monólise apresenta-se com uma grande potencialidade na área de Engenharia de Software referente à decomposição de aplicações. Além disso, as considerações do estudo evidenciaram que essa técnica poderá ser um motivador para encorajar desenvolvedores e arquitetos na jornada de modernização de suas aplicações monolíticas em microsserviços bem como diminuir possíveis erros cometidos nessa atividade por profissionais com pouca experiência em decomposição de aplicações. / The recurring need for companies to deliver their software in a short time and on a continuous basis combined with the high level of demand of users is making the industry in general rethink how to develop the applications for the current market. In this scenario microservice is the architectural style used to modernize monolithic applications. However the process of decomposing a monolithic application into microservices is still a challenge that needs to be investigated since in industry there is currently no standardized framework for decomposing applications. Finding a technique that allows defining the degree of granularity of a microservice is also a topic that arouses discussion in the area of Software Engineering. Based on these considerations this work proposed the Monolise a technique that uses an algorithm called Mono- Break that allows to decompose a monolithic application from functionalities and also to define the degree of granularity of the microservices to be generated. In this research the Monolise was evaluated through a case study. Such evaluation consisted of comparing the decomposition performed by the Monolise with the decomposition performed by a specialist in the target application used in the case study. This comparison allowed to evaluate the effectiveness of the Monolise through eight realistic scenarios of decomposition. The result of this evaluation allowed to verify the similarities and differences in the decomposition of a monolithic application in microservices manually and from a semiautomatic technique. The development of this work demonstrated that the Monolise technique presents with great potentiality in the area of Software Engineering regarding the decomposition of applications. In addition the study’s considerations showed that this technique could be a motivator to encourage developers and architects in the modernization of their monolithic applications in microservices as well as to reduce possible mistakes made in this activity by professionals with little experience in decomposing applications.
54

Message brokers in a microservice architecture / Meddelandemäklare i en mikrotjänstarkitektur

Antonio, Christian, Fredriksson, Björn January 2021 (has links)
The microservice architectural pattern refers to a system consisting of independently deployable services that communicate across networks. RabbitMQ is a popular message broker that can be used to make this communication possible. An alternative to this is Amazon Simple Queuing Service (SQS), which is a fully managed queuing service. By performing a literature- and case study, two systems with a microservice architecture are developed. One using RabbitMQ to communicate between the services, and the other using Amazon SQS. The systems are compared, with regards to message latency, ease of use and maintainability. The results show that RabbitMQ provides much lower message latency than Amazon SQS. Amazon SQS is however both easier to maintain and to use than RabbitMQ. / En mikrotjänstarkitektur syftar till ett system bestående av tjänster som kan driftsättas oberoende av varandra och som kommunicerar över nätverk. RabbitMQ är en populär meddelandemäklare som nyttjas för att möjliggöra ovan nämnd kommunikation. Ett alternativ till detta är Amazon Simple Queueing Service (SQS), vilket är en meddelandetjänst som helt och hållet förvaltas av Amazon. Genom att utföra en litteratur- och fallstudie utvecklas två system med en mikrotjänstarkitektur. Det ena nyttjar RabbitMQ för kommunikation mellan tjänster, medan det andra använder Amazon SQS. Båda systemen jämförs därefter med hänsyn till meddelandens fördröjning, användarvänlighet samt enkelhet att underhålla. Resultaten visar att meddelanden skickade genom RabbitMQ har mycket lägre fördröjning än de skickade genom Amazon SQS. Ur perspektiven användarvänlighet och enkelhet att underhålla är Amazon SQS ett mer fördelaktigt akternativ än RabbitMQ.
55

[en] A LIBRARY FOR DETERMINISTIC TESTS IN DISTRIBUTED SYSTEMS WITH ASYNCHRONOUS COMMUNICATION / [pt] UMA BIBLIOTECA PARA TESTES DETERMINÍSTICOS EM SISTEMAS DISTRIBUÍDOS COM COMUNICAÇÃO ASSÍNCRONA

PEDRO FELIPE SANTOS MAGALHAES 15 June 2023 (has links)
[pt] Observamos que cada vez mais desenvolvedores estão adotando a arquitetura de microsserviços para o desenvolvimento de sistemas distribuídos. Usualmente nesse tipo de arquitetura há um serviço de fila de mensagens que fica responsável em fazer a comunicação assíncrona entre os microsserviços, um serviço bastante utilizado para isso é o Kafka. Nesse ambiente assíncrono, os testes de integração de um determinado serviço ficam complexos pela dificuldade de criar cenários reprodutíveis. No nosso trabalho propomos e avaliamos o uso de uma biblioteca em Go que ajuda no desenvolvimento de testes de integração para microsserviços que utilizam Docker e Kafka, garantindo a ordenação de eventos nos cenários de teste desenvolvidos. / [en] Nowadays more and more developers are adopting the microservices architecture for the development of distributed systems. Usually in this type of architecture there is a message queue service that is responsible for asynchronous communication between microservices; a service that is widely used for this is the Apache Kafka. In this asynchronous environment, integration tests for a given service become complex due to the difficulty of creating reproducible scenarios. In our work, we propose and evaluate the use of a library we developed in Go for the construction of integration tests for microservices that use Docker and Kafka, guaranteeing in the ordering of events as described in the test script.
56

Abandoning Monolithic Architecture: Leaving an old paradigm for the possibilities of containerized microservices using an automated orchestration tool

Cardell, Sabina, Widén, Oscar January 2023 (has links)
Många stora organisationer som myndigheter och banker arbetar med en monolitisk applikationsarkitektur som är ett gammalt sätt att strukturera applikationer. Flera faktorer som att attrahera och behålla talang, vara skalbar och flexibel, samt en bra tjänsteleverans driver dessa organisationer att byta till en mikrotjänstorienterad arkitektur. Att migrera stora applikationer och samtidigt leverera tjänster till kunder eller användare är en stor och svår uppgift. Problemet är att det inte finns tillräckligt med forskning om hur man arbetar under denna typ av modernisering av applikationsarkitekturen samtidigt som organisatorisk stabilitet upprätthålls. Denna studie syftar till att bättre förstå hur organisatorisk stabilitet kan upprätthållas under tider av stora tekniska förändringar i arbetssätt under övergångsperioden för arkitekturer. Studien utgick från följande forskningsfråga: Hur upprätthålls organisatorisk stabilitet under övergångsperioden för modernisering av arkitekturer under flytten mot mikrotjänster? Studien har baserats på en kvalitativ ansats, där en fallstudie har använts för att samla in empiriskt material. Studiens empiriska material har samlats in genom åtta semistrukturerade intervjuer med anställda med olika roller på myndigheten som utför ett storskaligt applikationsarkitektur projekt; containerprojektet. Datan analyserades med hjälp av tematisk analys. Studiens resultat visar hur både förberedande och löpande hantering är viktiga för framgång. I de förberedande stadierna är faktorer relaterade till risktagande och hantering av projektets arbetsstyrka viktiga att besluta om. När projektet väl har startat är det viktigt att aktivt arbeta med förändringsarbete och att vara flexibel, kommunicera med riktad information och hantera varje specifikt hinder noggrant. Studien visade också hur valet av teknik inte är avgörande för projektets framgång utan en metod för att nå dit. Resultaten har visat hur uppdelningen av en stor plan i mindre projekt, som vidare delas upp i faser, är en framgångsfaktor. Studien har bidragit med nya insikter till forskningen inom IT-hantering och applikationsarkitektur. / Many large organizations, such as government entities and banks, operate with a monolithic application architecture, an old way of structuring applications. Several factors including attracting and maintaining talent, being scalable and flexible, as well as a good service delivery, are driving these organizations to change toward a microservice-oriented architecture. To migrate large applications while simultaneously delivering the services to clients or users is a large and challenging task. The problem is that there is insufficient research on how to work during this type of application architecture modernization while maintaining organizational stability. This thesis aims to better understand how organizational stability can be maintained during times of disruptive technological change in the workspace during the transition period of architecture. The study utilized the following research question: How to maintain organizational stability in the transition period of architectural modernization moving towards microservices? The study has been based on a qualitative approach, where one case has been used in gathering empirical material. The study's empirical material has been collected through eight semi-structured interviews with employees of various roles at the Swedish agency performing a large-scale application architecture project; the containerization-project. The data were analyzed using thematic analysis. The thesis findings show how both preparatory and ongoing management contributions are essential for success. In the preparatory stages, factors related to risk-taking and managing the project workforce are essential to decide. Once the project has started, it is crucial to work on change management efforts actively and to be flexible, communicate with targeted information, and handle each specific obstacle carefully. The study also showed how the choice of technologies is not central to the project's success but a method to get there. The findings have shown how dividing a large plan into smaller projects, further divided into phases, is a success factor. The study contributed new insights to IT management and application architecture research.
57

The run-time impact of business functionality when decomposing and adopting the microservice architecture / Påverkan av körtid för system funktionaliteter då de upplöses och microservice architektur appliceras

Faradj, Rasti January 2018 (has links)
In line with the growth of software, code bases are getting bigger and more complex. As a result of this, the architectural patterns, which systems rely upon, are becoming increasingly important. Recently, decomposed architectural styles have become a popular choice. This thesis explores system behavior with respect to decomposing system granularity and external communication between the resulting decomposed services. An e-commerce scenario was modeled and implemented at different granularity levels to measure the response time. In establishing the communication, both REST with HTTP and JSON and the gRPC framework were utilized. The results showed that decomposition has impact on run-time behaviour and external communication. The highest granularity level implemented with gRPC for communication establishment adds 10ms. In the context of how the web behaves today, it can be interpreted as feasible but there is no discussion yet on whether it is theoretically desirable. / I linje med de växande mjukvarusystemen blir kodbaserna större och mer komplexa. Arkitekturerna som systemen bygger på får allt större betydelse. Detta examensarbete utforskar hur upplösning av system som tillämpar mikroservicearkitektur beter sig, och hur de påverkas av kommunikationsupprättande bland de upplösta och resulterande tjänsterna. Ett e-handelsscenario modelleras i olika granularitetsnivåer där REST med HTTP och JSON samt gRPC används för att upprätta kommunikationen. Resultaten visar att upplösningen påverkar runtimebeteendet och den externa kommunikationen blir långsammare. En möjlig slutsats är att påverkan från den externa kommunikationen i förhållande till hur webben beter sig idag är acceptabel. Men om man ska ligga inom teoretiskt optimala gränser kan påverkan ses som för stor.
58

Information visualization of microservice architecture relations and system monitoring : A case study on the microservices of a digital rights management company - an observability perspective / Informationsvisualisering av mikrotjänsters relationer och system monitorering : En studie angående mikrotjänster hos ett förvaltningsföretag av digitala rättigheter - ett observerbarhetsperspektiv

Frisell, Marcus January 2018 (has links)
90% of the data that exists today has been created over the last two years only. Part of the data space is created and collected by machines, sending logs of internal measurements to be analyzed and used to evaluate service incidents. However, efficiently comprehending datasets requires more than just access to data, as Richard Hamming puts it; "The purpose of computing is insight, not numbers." A tool to simplify apprehension of complex datasets is information visualization, which works by transforming layers of information into a visual medium, enabling the human perception to quickly extract valuable information and recognise patterns. This was an experimental design-oriented research study, set out to explore if an information visualization of microservice architecture relations combined with system health data could help developers at a Swedish digital rights management company (DRMC) to find root cause incidents, increase observability and decision support, i.e. simplifying the incident handling process. To explore this, a prototype was developed and user tests consisting of a set of tasks as well as a semi-structured interview was executed by ten developers at DRMC. The results concluded that the proposed solution provided a welcomed overview of service health and dependencies but that it lacked the ability to effectively focus on certain services, essentially making it difficult to find root causes. Visualizations like this seems to be best suited for overview-, rather than focused, comprehension. Further research could be conducted on how to efficiently render large complex datasets while maintaining focus and how to account for external factors. / 90% av alla data som finns idag har skapats under de senaste två åren. En del av datautrymmet skapas och samlas in av maskiner som genererar loggar innehållandes interna systemmätningar för att utvärdera felaktiga tjänster. För att effektivt förstå ett dataset krävs mer än bara tillgång till data, som Rickard Hamming har sagt; “Syftet med datoranvändning är insikt, inte siffror.” Ett verktyg för att förenkla ens uppfattning av komplexa dataset är informationsvisualisering. Det fungerar genom att transformera lager av information till ett visuellt medium, och på så sätt tillåta mänsklig perception att snabbt extrahera värdefull information och utläsa mönster. Det här var en experimentell, design-orienterad, forskningsstudie med syftet att utforska ifall en informationsvisualisering av mikrotjänsters relationer kombinerat med system-hälso-data kunde hjälpa utvecklare på ett svenskt förvaltningsföretag av digitala rättigheter (DRMC) att hitta grundorsaken till felaktiga mikrotjänster samt utöka observerbarhet och beslutstöd, d.v.s. förenkla felhanteringsprocessen. För att utforska detta problem så utvecklades en prototyp som testades genom att låta tio utvecklare på DRMC utföra ett antal olika uppgifter samt svara på en semi-strukturerad intervju. Resultatet visade på att den föreslagna lösningen möjliggjorde en välkommen överblick över systemets hälsa och relationer, men också att den saknade möjligheten att effektivt fokusera på specifika tjänster, vilket ledde till att grundorsaksproblem var svåra att hitta. Visualiseringar som denna verkar fungera bäst för att presentera en överblick av ett system, snarare än ett fokus på specifika tjänster. Framtida forskning skulle kunna utföras för att utreda hur visualiseringar effektivt kan återge komplexa dataset utan att förlora fokus på specifika delar, samt hur externa faktorer kan integreras.
59

Research on Interprocess Communication in Microservices Architecture / Forskning om kommunikation mellan processer i mikroservicearkitektur

Shafabakhsh, 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.
60

Mikrotjänster med Quarkus och Gin : En jämförelsestudie ur ett prestandaperspektiv / Microservices with Quarkus and Gin : A comparative performance study

Nilsson, 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.

Page generated in 0.0844 seconds