Spelling suggestions: "subject:"mikrotjänstarkitektur"" "subject:"mikrotjänstarkitekturer""
1 |
Mikrotjänstarkitektur: Systemutvecklares erfarenheter och framgångsfaktorerPersson, Åke, Myrestam, David January 2023 (has links)
En växande trend inom informationssystem är användningen av mikrotjänster som arkitekturstil för att bygga och underhålla system. Tidigare forskning har visat på fördelar som modularitet, skalbarhet samt möjlighet till snabb driftsättning av kodförändringar. Men tillsammans med välkända fördelar kommer även utmaningar. I den akademiska världen råder en begränsad tillgång till mikrotjänstapplikationer i stor skala, och det är därför intressant att undersöka systemutvecklares perspektiv. Denna studie kompletterar existerande litteratur med erfarenheter och insikter från systemutvecklare som jobbar med utveckling av mikrotjänster. Syftet med denna studie var att undersöka och analysera hur systemutvecklare tillämpar mikrotjänstarkitektur för att utnyttja dess teoretiska fördelar och hantera eventuella utmaningar, samt att identifiera vilka förutsättningar som är nödvändiga för en framgångsrik implementering av mikrotjänstarkitektur. Genom att utföra en kvalitativ intervjustudie med åtta systemutvecklare från sex olika organisationer kartlade vi de mest betydelsefulla fördelarna med mikrotjänster, inklusive tydliga avgränsningar, smidigare versionshantering samt möjlighet till kontinuerlig integration och leverans. Samtidigt identifierade vi även centrala utmaningar såsom tekniskt och operativt arv, organisatorisk tröghet samt komplexitet i hur mikrotjänster sammankopplas. Studiens resultat ledde fram till att en uppsättning framgångsfaktorer för att lyckas med mikrotjänstarkitektur kunde urskiljas. Dessa inkluderade bland andra tydligt ägandeskap, DevOps och centraliserad loggning. / A growing trend in information systems is the use of microservices as an architectural style for building and maintaining systems. Previous research has highlighted benefits such as modularity, scalability, and the ability for rapid deployment of code changes. However, along with these well-known advantages comes also challenges. In academia there is limited access to large-scale microservice applications, making it interesting to explore the perspectives of system developers. This study complements existing literature with experiences and insights from system developers involved in the development of microservices. The purpose of this study was to investigate and analyze how system developers apply microservice architecture to utilize its theoretical advantages and manage potential challenges, as well as to identify the prerequisites necessary for successful implementation of microservice architecture. By conducting a qualitative interview study with eight system developers from six different organizations we mapped the most significant benefits of microservices, including clear boundaries, easier version management, and the possibility of continuous integration and delivery. We also identified central challenges such as technical and operational legacy, organizational slowness and complexity in how microservices are interconnected. The results of the study led to the identification of a set of success factors for successful implementation of microservice architecture. These included clear ownership, DevOps and centralized logging.
|
2 |
Felhantering vid störning och avbrott i en mikrotjänstapplikation / Error handling during disturbances and interruptions in a microservice application.Lindell, Hugo, Simonsson, Arthur January 2021 (has links)
Dagens applikationer är alltmer byggda enligt en mikrotjänstarkitektur istället för den klassiska monolitiska formen. I en mikrotjänstarkitektur har tjänster beroenden av varandra. Detta betyder att systemet måste kunna hantera situationer där dessa beroenden inte kan mötas. För att lösa de problemen som kan uppstå krävs ett felhanteringssystem som försäkrar att viktiga delar inte korrumperas eller går förlorad. Denna studie tar fram en modell på ett felhanteringssystem, och föreslår ett flertal teknologier som kan användas för en praktisk implementation av felhanteringssystemet. En fallstudie genomförs för att visa att teknologierna kan användas för att realisera modellen i en simulerad produktionsmiljö. Undersökningen föreslår en plattformsoberoende modell av Saga-mönstret som förhindrar korrumperad data, och ett återhämtningssystem som med hjälp av en meddelandekö kan återskapa förlorad data. Det framtagna felhanteringssystemet utvärderas utifrån de krav och begränsningar som ställs av beställaren, Asteria AB. Studien ger en generell lösning för de problem, som uppstår i en mikrotjänstarkitektur vid störningar och avbrott. Detta gör det möjligt att återanvända lösningen i olika kontext med minimala ändringar. / Today's applications are increasingly built according to a microservice architecture instead of the classic monolithic pattern. In a microservice architecture, services are interdependent. This means that the system must be able to handle situations where these dependencies cannot be met. To solve the problems that may arise, an error handling system is required that ensures that important parts are not corrupted or lost. This study develops a model of a fault management system, and proposes several technologies that can be used for a practical implementation of the fault management system. A case study is conducted to show that the technologies can be used to realize the model in a simulated production environment. The study proposes a platform-independent model of the Saga pattern that prevents corrupted data, and a recovery system that can recover lost data using a message queue. The developed error handling system is evaluated on the basis of the requirements and limitations set by the customer, Asteria AB. The study provides a general solution to the problems that arise in a microservice architecture in the event of disruptions and interruptions. This makes it possible to reuse the solution in different contexts with minimal changes.
|
3 |
Simplifying Software Testing in Microservice Architectures through Service Dependency Graphs / Förenkla mjukvarutestningen i mikrotjänstarkitekturer genom tjänsteberoendegraferAlevärn, Marcus January 2023 (has links)
A popular architecture for developing large-scale systems is the microservice architecture, which is currently in use by companies such as Amazon, LinkedIn, and Uber. The are many benefits of the microservice architecture with respect to maintainability, resilience, and scalability. However, despite these benefits, the microservice architecture presents its own unique set of challenges, particularly related to software testing. Software testing is exacerbated in the microservice architecture due to its complexity and distributed nature. To mitigate this problem, this project work investigated the use of a graph-based visualization system to simplify the software testing process of microservice systems. More specifically, the role of the visualization system was to provide an analysis platform for identifying the root cause of failing test cases. The developed visualization system was evaluated in a usability test with 22 participants. Each participant was asked to use the visualization system to solve five tasks. The average participant could on average solve 70.9% of the five tasks correctly with an average effort rating of 3.5, on a scale from one to ten. The perceived average satisfaction of the visualization system was 8.0, also on a scale from one to ten. The project work concludes that graph-based visualization systems can simplify the process of identifying the root cause of failing test cases for at least five different error types. The visualization system is an effective analysis tool that enables users to follow communication flows and pinpoint problematic areas. However, the results also show that the visualization system cannot automatically identify the root cause of failing test cases. Manual analysis and an adequate understanding of the microservice system are still necessary. / En populär arkitektur för att utveckla storskaliga system är mikrotjänstarkitekturen, som för närvarande används av företag som Amazon, LinkedIn och Uber. Det finns många fördelar med mikrotjänstarkitekturen med avseende på underhållbarhet, motståndskraft och skalbarhet. Men trots dessa fördelar presenterar mikrotjänstarkitekturen sin egen unika uppsättning utmaningar, särskilt med hänsyn till mjukvarutestningen. Mjukvarutestningen försvåras i mikrotjänstarkitekturen på grund av dess komplexitet och distribuerade natur. För att mildra detta problem undersökte detta projektarbete användningen av ett grafbaserat visualiseringssystem för att förenkla mjukvarutestprocessen för mikrotjänstsystem. Mer specifikt var visualiseringssystemets roll att tillhandahålla en analysplattform för att identifiera grundorsaken till misslyckade testfall. Det utvecklade visualiseringssystemet utvärderades i ett användbarhetstest med 22 deltagare. Varje deltagare ombads att använda visualiseringssystemet för att lösa fem uppgifter. Den genomsnittliga deltagaren kunde i genomsnitt lösa 70.9% av de fem uppgifterna korrekt med ett genomsnittligt ansträngningsbetyg på 3.5, på en skala från ett till tio. Den upplevda genomsnittliga nöjdheten med visualiseringssystemet var 8.0, också på en skala från ett till tio. Projektarbetet drar slutsatsen att grafbaserade visualiseringssystem kan förenkla processen att identifiera grundorsaken till misslyckade testfall för minst fem olika feltyper. Visualiseringssystemet är ett effektivt analysverktyg som gör det möjligt för användare att följa kommunikationsflöden och peka ut problemområden. Men resultaten visar också att visualiseringssystemet inte automatiskt kan identifiera grundorsaken till misslyckade testfall. Manuell analys och en grundlig förståelse av mikrotjänstsystemet är fortfarande nödvändigt.
|
Page generated in 0.0416 seconds