• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 34
  • 3
  • 2
  • 1
  • 1
  • Tagged with
  • 42
  • 25
  • 18
  • 18
  • 13
  • 12
  • 11
  • 10
  • 10
  • 9
  • 9
  • 9
  • 9
  • 9
  • 9
  • 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.
21

Performance Interference Detection For Cloud-Native Applications Using Unsupervised Machine Learning Models

Bakshi, Eli 01 June 2024 (has links) (PDF)
Contemporary cloud-native applications frequently adopt the microservice architecture, where applications are deployed within multiple containers that run on cloud virtual machines (VMs). These applications are typically hosted on public cloud platforms, where VMs from multiple cloud subscribers compete for the same physical resources on a cloud server. When a cloud subscriber application running on a VM competes for shared physical resources from other applications running on the same VM or from other VMs co-located on the same cloud server, performance interference may occur when the performance of an application degrades due to shared resource contention. Detecting such interference is crucial for maintaining the Quality-of-Service of cloud-native Web applications. However, cloud subscribers lack access to underlying host-level hardware metrics traditionally used for interference detection without needing to instrument high overhead-inducing per-request response time values. Machine learning (ML) techniques have proven effective in detecting performance interference using metrics available at the subscriber level, though these techniques have predominantly focused on supervised models with pre-existing labeled data sets that can distinguish between normal and interference conditions. In contrast, this work proposes an unsupervised clustering ML approach to identify performance interference in cloud-native applications. The proposed approach implements a lightweight method for collecting container metrics in normal and interference scenarios and applies a dimensionality reduction technique to mitigate redundancy and noise in the collected dataset. We then apply a density-based clustering approach to this unlabeled data set to classify interference in two applications running on the AWS EC2 cloud: a microbenchmark Web application called Acme Air and a large-scale production-realistic Web benchmark called DeathStarBench. Results indicate that our density-based clustering approach effectively distinguishes between normal and interference conditions and achieves an average Density-Based Clustering Validation (DBCV) index of 0.781 and a cluster homogeneity of 0.875 across both applications.
22

Observability of Cloud Native Systems: : An industrial case study of system comprehension with Prometheus & knowledge transfer

Widerberg, Anton, Johansson, Erik January 2021 (has links)
Background:                                                                                                            Acquiring comprehension and observability of software systems is a vital and necessary activity for testing and maintenance; however, these tasks are time-consuming for engineers. Concurrently cloud computing requires microservices to enhance the utilization of cloudnative deployment, which simultaneously introduces a high degree of complexity. Further,codifying and distributing technical knowledge within the organization has been proven to be vital for both competitiveness and financial performance. However, doing it successfully has been proven to be difficult, and transitioning to working virtually and in DevOps brings new potential challenges for software firms. Objective:                                                                                                              The objective of this study is to explore how system comprehension of a microservice architecture can be improved from performance metrics through an exploratory data analysis approach. To further enhance the practical business value, the thesis also aims to explore the effects transitioning to virtual work and DevOps have had on knowledge sharing for software firms. Method:                                                                                                                    A case study is conducted at Ericsson with performance data generated from testing of a system deployed in Kubernetes. Data is extracted with Prometheus, and the performance behavior of four interacting pods is explored with correlation analysis and visualization tools.Furthermore, to explore virtual work and DevOps effects on intra-organizational knowledge sharing of technical knowledge, semi-structured interviews were cross analyzed with literature. Results:                                                                                                                  An overall high correlation between performance metrics could be observed with deviations between test cases. Also, we were able to generate propositions regarding the performance behavior as well as bring forward possible candidates for predictive modeling. Four new potential decisive factors driving the choice of activities and transfer mechanisms for knowledge transfer are identified, namely, accessibility, dynamicity, established processes, and efficiency. The transition to virtual work showed five positive factors and three negatives. Effects from DevOps were mostly connected to the frequency of sharing and the potentials of automation.  Conclusions: Our findings suggest that correlation analysis, when used along with visualization tools, can improve system comprehension of cloud-native systems. And while it shows promise for analyzing individual services and hypothesis creation, the method utilized in the study showcased some drawbacks which are covered in the discussion. The findings also point towards the fact that performance metrics can be a rich information source for knowledge and thus deserves further investigation.Findings also suggest that knowledge sharing is not only considered an important element by academia but also deliberately practiced by industry agents. Looking at the transition to virtual work and DevOps, the results imply that they affect knowledge transfer, both in combination and isolation. However, the case study findings do point towards the fact that the transition to working virtually potentially exerts a larger influence. Interviewees expressed both positive and negative aspects of virtual knowledge sharing. Simultaneously, the positive influences of DevOps were followed by extensive challenges. / Bakgrund:  Att erhålla förståelse och observerbarhet av mjukvarusystem är en vital och nödvändig aktivitet, speciellt för testning och underhåll. Samtidigt så är dessa uppgifter både komplexa och tidskrävande för ingenjörer. Mikroservicearkitekturen som utnyttjas för att bygga molnintegrerade lösningar introducerar en hög grad av komplexitet. Fortsättningsvis, att kodifiera och distribuera teknisk kunskap har visats vara kritiskt för organisationers konkurrenskraft och finansiella resultat. Att göra det framgångsrik har dock flertal utmaningar och när flera mjukvarubolag under senare tid övergått till att arbeta virtuellt samt skiftat till DevOps har flertalet nya potentiella utmaningar uppdagats. Syfte:  Målet med denna studie är att utforska hur systemförståelse av mjukvarusystem baserade på en mikroservicearkitektur kan förbättras utifrån prestandamätningar med hjälp av undersökande dataanalysmetoder. För att ytterligare utöka det praktiska affärsvärdet så avser avhandlingen även att undersöka effekterna som övergången till virtuellt arbete och DevOps har haft på denintern kunskapsspridning inom mjukvarubolag.  Metod: En fallstudie utförs på Ericsson AB med prestandadata som genererats under testkörningar av ett system som kör på Kubernetes. Data extraherad med Prometheus och prestationsbeteendet utav fyra interagerande ”pods” utforskas genom korrelationsanalys och visualiseringsverktyg. För att undersöka effekterna från virtuellt arbete samt DevOps har på intraorganisatorisk kunskapsdelning av teknisk kunskap så utförs semi-strukturerade intervjuer som sedan korsanalyseras med litteratur. Resultat:  Överlag så uppvisas hög korrelation mellan prestandamätvärden samtidigt som tydliga avvikelser observerades mellan testfall. Utöver detta så generades propositioner angående prestationsbeteendet samtidigt som potentiella kandidater för prediktiv modellering framhävs. Fyra nya potentiella determinanter identifieras för valet av aktiviteter samt överföringsmekanism, nämligen tillgänglighet, dynamik, etablerade processer, och effektivitet. Övergången till virtuellt arbete uppvisade främst fem positiva faktorer och tre negativa. Effekterna utav DevOps var särskilt kopplade till frekvensen av delning samt potential för automation. Slutsatser: Våra resultat tyder på att korrelationsanalys i kombination med visualiseringsverktyg kan användas för att skapa systemförståelse av molnbaserade system. Samtidigt som metoden visar potential för att analysera individuella tjänster och generera hypoteser så påvisar metoden i vår studie vissa nackdelar vilket tas upp i diskussionen. Resultatet tyder dessutom på att prestandadata kan vara en rik informationskälla för kunskapsskapande och bör vara av intresse för ytterligare studier.Resultaten av den kvalitativa undersökning indikerar att kunskapshantering inte bara är ett viktigt element ur akademins perspektiv men även något som omsorgsfullt praktiseras av industrin. Resultatet angående övergången till virtuellt arbete samt DevOps antyder på att båda har inflytande på hur kunskapsspridning bedrivs, både var för sig och i kombination. Samtidigt pekar våra undersökningsresultat på att övergången till att arbeta virtuellt potentiellt har påverkat kunskapshantering i betydligt större utsträckning än DevOps. Intervjuerna uppvisade både positiva och negativa aspekter utav den virtuella påverkan samtidigt som de positiva effekter som uppmättes av DevOps uppföljdes av omfattande utmaningar.
23

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.
24

Selecting a service mesh implementation for managing microservices / Välja en service mesh-implementering för hantering av mikrotjänster : En jämförelse mellan service mesh-teknologier för valda parametrar

Joshi, Asawari January 2022 (has links)
Microservice architectures are the base of modern cloud applications. With the adoption of microservices, application teams manage to reduce codebase complexity and write more modular services that can run inter-dependently. Despite all the advantages offered by microservices over monolithic architectures, they introduce additional complexities, such as handling inter-service communication, ensuring security, introducing traceability, and achieving acceptable performance. To manage all these microservices, the orchestrator tool Kubernetes has shown promising results, but it is not sufficient to tackle all the cross-cutting concerns of the applications. With more complex architectures, it becomes difficult to troubleshoot and trace inter-service application programming interface calls. For this purpose, the service mesh technology emerged and is being introduced in many companies. There are different implementations available for service mesh, with some being more compatible with specific cloud providers than others. The selection of an adequate service mesh shapes the entire application deployment process. If chosen wrongly, it might introduce further complexities or performance losses. This thesis investigates ways to make this decision more efficiently. It takes into account the company’s needs of service mesh and compares implementations to meet performance expectations with minimal deployment efforts. Specially, we perform different testing scenarios to compare AWS cloud specific, AWS App Mesh with most widely used, Istio service mesh. The outcome suggests that AWS App Mesh performs consistently for all cases with acceptable latency ranges, but, Istio outperforms AWS App Mesh under standard conditions, such as high but manageable request load on the application. In addition, Istio can achieve the same deployment with less lines of code as compared to that of AWS App Mesh. On the other hand, resource utilization by these service meshes is found to be a non-conclusive factor for selecting the service mesh implementation. With these outcomes, application teams can make more well-informed decisions to run the production-grade workloads with an efficient service mesh implementation. / Mikroservicearkitekturer är basen för moderna containerapplikationer. Med antagandet av mikrotjänster lyckas applikationsteam minska kodbaskomplexiteten och skriva fler modulära tjänster som kan köras beroende av varandra. Trots alla fördelar som mikrotjänster erbjuder framför monolitiska arkitekturer, introducerar de ytterligare komplexitet, såsom kommunikation mellan tjänster, säkerhet, spårbarhet och prestanda. För att hantera alla dessa mikrotjänster har orkestreringsverktyget Kubernetes visat lovande resultat, men det är inte tillräckligt för att ta itu med alla övergripande problem med applikationerna. Med mer komplexa arkitekturer blir det svårt att felsöka och få synlighet i mikrotjänster. För detta ändamål växte servicemesh-tekniken fram och introduceras i många företag. Det finns olika implementeringar tillgängliga för servicemesh, där vissa är mer kompatibla med specifika molnleverantörer än andra. Valet av ett adekvat servicenät formar hela applikationsdistributionsprocessen. Om det väljs fel kan det leda till ytterligare komplexitet eller prestandaförluster. Denna avhandling undersöker sätt att göra detta beslut mer effektivt. Den tar hänsyn till företagets behov av servicenät och jämför implementeringar för att möta prestandaförväntningar med minimala implementeringsinsatser. Speciellt genomför vi olika scenarier för prestandatestning för att jämföra AWS App Mesh med Istio servicemesh. Resultatet tyder på att AWS App Mesh presterar konsekvent för alla fall med acceptabla latensintervall, men Istio överträffar AWS App Mesh under standardförhållanden, såsom hög men hanterbar förfrågningsbelastning på applikationen. Istio kan uppnå samma distribution med färre rader kod jämfört med AWS App Mesh. Resursutnyttjande av dessa tjänstenät har visat sig vara en icke avgörande faktor för val av tjänstenätimplementering. Med dessa utfall kan företaget där detta examensarbete genomförs, Infor (Sweden) AB, fatta mer välinformerade beslut för att driva de produktionsmässiga arbetsbelastningarna med en effektiv implementering av servicenät.
25

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.
26

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.
27

Developing Bleeding-edge microservice solutions for complex problems : Non-intrusive technology in Walking Meetings / Cloudlösning baserad på mikrotjänster med bleeding-edge technology vid utveckling av interaktivt tekniskt support för gå-möten

Meenakshi Sundaram, Vignesh January 2017 (has links)
The last decade has seen an emergence of various types of cloud services and development frameworks offered by leading companies in the software industry. While each of these services has been used to solve specific tasks, their specifications have changed over time as they have matured. Therefore, integrating these components to solve a whole new task tends to get tricky due to their incompatible and experimental nature. While some technology components might continue to be developed, others might deprecate. In this thesis, using a user-centered design and agile development approach, we have attempted to develop a cloud solution using microservice software architecture by integrating state-of-the-art technology components to solve a totally new task of providing a non-intrusive technology experience during walking meetings. We present our results based on interaction with the research group, user studies as a part of the research study “Movement of the mind”, and expectations of the working prototype within the context of walking meetings. We also present the features of the prototype and our motivation for choosing the tools to develop them. Finally, we discuss the development challenges faced during our attempt and conclude whether it is plausible to integrate various components of bleeding-edge technology to solve complex real-life problems or rather wait for these technologies to mature. / Under det senaste decenniet har marknaden erbjudits en mängd olika typer av molntjänster och utvecklings-ramverk framtagna av ledande företag inom mjukvaruindustrin. Dessa tjänster har ofta använts för att lösa specifika uppgifter. Olika komponenterna som ingår i dessa specifika lösningar har med tiden utvecklats ändrats allteftersom de har mognat. Att integrera dessa komponenter för att lösa en helt ny uppgift tenderar därför att bli svårt på grund av deras instabila, inkompatibla och experimentella karaktär. Medan vissa teknikkomponenter kan fortsätta att utvecklas kan andra avstanna och utgå. Vi har närmat oss detta problemområde genom agil och iterativ utveckling samt användar-centrerad design-metod. En moln-baserad lösning som bland annat integrerat bleeding-edge teknikkomponenter har utvecklats och utvärderats med syfte att ge en icke-påträngande tekniskt support för gå-möten. De resultat som här presenteras och diskuteras baseras på interaktion med forskargruppen inom projektet "Med rörelse i tankarna", användarstudier och användartesteter i fält på olika arbetsplatser där den prototyp som utvecklats sökt motsvara användarnas utryckta förväntningar på tekniskt support för gångmöten. Vi diskuterar också prototypens egenskaper och vår motivation för val av metoder för att utveckla den. Slutligen diskuterar vi de utvecklingsutmaningar vi ställdes inför under vårt försök och om det är rimligt att integrera olika bleeding-edge komponenter för att lösa komplexa verkliga problem eller huruvida man hellre bör vänta på att dessa teknologier nått en stabilare mognadsgrad.
28

Anomaly Detection in Microservice Infrastructures / Anomalitetsdetektering i microservice-infrastrukturer

Ohlsson, Jonathan January 2018 (has links)
Anomaly detection in time series is a broad field with many application areas, and has been researched for many years. In recent years the need for monitoring and DevOps has increased, partly due to the increased usage of microservice infrastructures. Applying time series anomaly detection to the metrics emitted by these microservices can yield new insights into the system health and could enable detecting anomalous conditions before they are escalated into a full incident. This thesis investigates how two proposed anomaly detectors, one based on the RPCA algorithm and the other on the HTM neural network, perform on metrics emitted by a microservice infrastructure, with the goal of enhancing the infrastructure monitoring. The detectors are evaluated against a random sample of metrics from a digital rights management company’s microservice infrastructure, as well as the open source NAB dataset. It is illustrated that both algorithms are able to detect every known incident in the company metrics tested. Their ability to detect anomalies is shown to be dependent on the defined threshold value for what qualifies as an outlier. The RPCA Detector proved to be better at detecting anomalies on the company microservice metrics, however the HTM detector performed better on the NAB dataset. Findings also highlight the difficulty of manually annotating anomalies even with domain knowledge. An issue found to be true for both the dataset created for this project, and the NAB dataset. The thesis concludes that the proposed detectors possess different abilities, both having their respective trade-offs. Although they are similar in detection accuracy and false positive rates, each has different inert abilities to perform tasks such as continuous monitoring or ease of deployment in an existing monitoring setup. / Anomalitetsdetektering i tidsserier är ett brett område med många användningsområden och har undersökts under många år. De senaste åren har behovet av övervakning och DevOps ökat, delvis på grund av ökad användning av microservice-infrastrukturer. Att tillämpa tidsserieanomalitetsdetektering på de mätvärden som emitteras av dessa microservices kan ge nya insikter i systemhälsan och kan möjliggöra detektering av avvikande förhållanden innan de eskaleras till en fullständig incident. Denna avhandling undersöker hur två föreslagna anomalitetsdetektorer, en baserad på RPCA-algoritmen och den andra på HTM neurala nätverk, presterar på mätvärden som emitteras av en microservice-infrastruktur, med målet att förbättra infrastrukturövervakningen. Detektorerna utvärderas mot ett slumpmässigt urval av mätvärden från en microservice-infrastruktur på en digital underhållningstjänst, och från det öppet tillgängliga NAB-dataset. Det illustreras att båda algoritmerna kunde upptäcka alla kända incidenter i de testade underhållningstjänst-mätvärdena. Deras förmåga att upptäcka avvikelser visar sig vara beroende av det definierade tröskelvärdet för vad som kvalificeras som en anomali. RPCA-detektorn visade sig bättre på att upptäcka anomalier i underhållningstjänstens mätvärden, men HTM-detektorn presterade bättre på NAB-datasetet. Fynden markerar också svårigheten med att manuellt annotera avvikelser, även med domänkunskaper. Ett problem som visat sig vara sant för datasetet skapat för detta projekt och NAB-datasetet. Avhandlingen slutleder att de föreslagna detektorerna har olikaförmågor, vilka båda har sina respektive avvägningar. De har liknande detekteringsnoggrannhet, men har olika inerta förmågor för att utföra uppgifter som kontinuerlig övervakning, eller enkelhet att installera i en befintlig övervakningsinstallation.
29

Mikrotjänst-arkitektur och dess skalbarhet / The Scalability of Microservice Architecture

Larsson, Mattias January 2018 (has links)
Att designa mjukvaruapplikationer med en viss struktur kan ofta framhäva efterfrågade egenskaper. För att välja rätt arkitektur behövs ofta övervägningar, och ibland till och med kompromisser, göras om applikationens planerade karaktär. Det är ofta bra att i detta stadie ha en klar bild om vilka attribut en applikation önskas ha. Ett av de viktigare attributen på sikt är skalbarhet. Kunskapen om olika arkitekturers skalbarhet spelar en definitiv roll i designfasen, vilket avgör hur en applikation senare skalas. På senare år har mikrotjänst-arkitektur blivit ett populärt sätt att bygga mjukvara på där den höga skalbarheten sägs vara en bidragande faktor. Detta arbete har till syfte att undersöka skalbarheten hos mikrotjänst-arkitektur i förhållande till monolitisk arkitektur och visa hur detta kvalitetsattribut påverkas när en transformering från en monolit till en mikrotjänst-arkitektur görs. Arbetet har valt att utgå ifrån en existerande modul i en E-handelsplattform med öppen källkod. Modulen som transformerades till en mikrotjänst, skalades horisontellt för respektive arkitektur och applikations-version. Vid användandet av lämpliga verktyg, såsom Docker, visar resultatet att horisontell skalbarhet finns i högre grad hos mikrotjänst-arkitekturen och fortsätter därefter vara hög. Skalning av mikrotjänster kan göras med en högre precision av det som önskas förändras. Detta står i kontrast till den monolitiska strukturen, där skalning begränsas av prestandan av den miljö där mjukvaruapplikationen körs. Efter transformationen till en mikrotjänst-arkitektur ökade skalbarheten, då skalningsmetoden gjordes med mer finkornighet och isolering av den utvalda modulen. För att individuellt skala den monolitiska modulen horisontellt behövdes förändringen göras virtuellt med hjälp av bakgrundsprocesser. Denna lösning visar sig vara en indirekt skalning av hela den monolitiska strukturen. Utöver horisontell skalbarhet fokuserar utvärderingen av resultatet på kvalitativa attribut i form av simplicitet, autonomi och modularitet. / In designing software applications, a chosen structure can often accentuate desired properties. To choose the correct architecture, one must often do considerations and sometimes even compromises, about the intended characteristics of the application. In that stage it is often well motivated to have a clear picture about which attributes the application shall possess. Over time, one of the most important attributes is scalability. The knowledge about the scalability of different architectures could play a crucial part in the design phase, determining how an application is scaled in the future. In recent years Microservice Architecture has been a popular way of building software and its high scalability is said to be a contributing factor. This work has the purpose of examine the scalability of microservice architecture relative to the monolithic architecture and how this quality attribute is affected after a transformation is done from a monolith to a microservice system. This work is based on an existing module from an open source E-commerce platform. The module was first transformed into a working microservice, then both architectures was horizontally scaled. Using suitable tools such as Docker, the result of this work shows that horizontal scalability exists in a high degree within the microservice architecture and continues being high there after. Scaling of microservices can be done with higher precision of what are to be changed. This stands in relation to the monolithic approach where scaling is limited to the performance of the environment where the software application is running. The transformation to a microservice architecture resulted in an increase of scalability. The scaling method was more fined-grained and isolated to the selected module. In contrast, individual horizontal scaling of the monolithic module was required to be done virtually with background processes. This concluded in an indirect scaling of the whole structure of the monolith. Besides horizontal scalability, the evaluation is focused on the system quality attributes of simplicity, autonomy and modularity.
30

A framework to unify application security testing in DevOps environment / Ett ramverk för enhetlig testning av applikationssäkerhet i DevOps-miljöer

Le, Duc Quang January 2021 (has links)
In recent years, companies and organizations have increasingly integrated software security testing into the software development life cycle using DevOps practices. The current integration approach introduces multiple challenges in an information technology environment that consists of a large number of software development projects and multiple software security testing tools. This thesis aims to address these challenges by proposing a microservice-based framework to unify application security testing. The thesis first identifies the challenges, then proposes a design for a framework based on relevant literature and common characteristics of application security testing tools. The main components of the proposed framework are implemented and evaluated. The evaluation result shows that the framework offers many benefits: more secure credential management process, reduced execution time for Continuous Integration (CI) pipelines, and more efficient project onboarding and management. Furthermore, the integration of the proposed framework does not introduce major security threats to the current environment. / Under de senaste åren har företag och organisationer i allt högre grad integrerat testning av programvarusäkerhet i livscykeln för programvaruutveckling med hjälp av DevOps-metoder. Den nuvarande integrationsmetoden medför flera utmaningar i en informationsteknisk miljö som består av ett stort antal programvaruutvecklingsprojekt och flera verktyg för testning av programvarusäkerhet. Detta examensarbete syftar till att ta itu med dessa utmaningar genom att föreslå en mikrotjänstbaserat ramverk för enhetlig testning av programsäkerhet. I arbetet identifieras först utmaningarna och därefter föreslås en konstruktion baserad på relevant litteratur och gemensamma egenskaper hos verktyg för testning av applikationssäkerhet. De viktigaste komponenterna i det föreslagna ramverket implementeras och utvärderas. Utvärderingsresultatet visar att ramverket erbjuder många fördelar: säkrare process för hantering av autentiseringsuppgifter, kortare genomförandetid för Continuous Integration (CI)-pipelines och effektivare projektstart och -hantering. Dessutom medför integrationen av det föreslagna ramverket inga större säkerhetshot i den nuvarande miljön.

Page generated in 0.0587 seconds