Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Testing Resilience of Envoy Service Proxy with Microservices
KTH, School of Electrical Engineering and Computer Science (EECS).
2019 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Large scale internet services are increasingly implemented as distributed systems to achieve availability, fault tolerance and scalability. To achieve fault tolerance, microservices need to employ different resilience mechanisms such as automatic retries, rate limiting, circuit breaking amongst others to make the services handle failures gracefully and cause minimum damage to the performance of the overall system. These features are provided by service proxies such as Envoy which is deployed as a sidecar (sidecar proxy is an application design pattern which abstracts certain features, such as inter-service communications, monitoring and security, away from the main architecture to ease the tracking and maintenance of the application as a whole), the service proxies are very new developments and are constantly evolving. Evaluating their presence in a system to see if they add latency to the system and understand the advantages provided is crucial in determining their fit in a large scale system.Using an experimental approach, the services are load tested with and without the sidecar proxies in different configurations to determine if the usage of Envoy added latency and if its advantages overshadow its disadvantages. The Envoy sidecar proxy adds latency to the system; however, the benefits it brings in terms of resilience, make the services perform better when there is a high number of failures in the system.

Abstract [sv]

Storskaliga internettjänster implementeras alltmer som distribuerade system för att uppnå tillgänglighet, feltolerans och skalbarhet. För att uppnå feltolerans måste microservices använda olika typer av resiliens mekanismer som automatisk återförsök, hastighetsbegränsning, kretsbrytning bland annat som tillåter tjänsterna att hantera misslyckanden graciöst och orsaka minimala skador på prestandan hos det övergripande systemet. Dessa funktioner tillhandahålls av service proxies som Envoy. Dessa proxies används som sidovagn (sidvagnproxy är ett applikationsdesignmönster som abstraherar vissa funktioner, såsom kommunikation mellan kommunikationstjänster, övervakning och säkerhet, bort från huvudarkitekturen för att underlätta spårningen och underhåll av ansökan som helhet). Dessa tjänster är väldigt nya och utvecklas ständigt. Att utvärdera deras närvaro i ett system för att se om de lägger till latens för systemet och förstå fördelarna som tillhandahålls är avgörande för att bestämma hur väl de skulle passa i ett storskaligt system. Med hjälp av ett experimentellt tillvägagångssätt testas tjänsterna med och utan sidospårproxys i olika konfigurationer för att avgöra om användningen av Envoy lägger till latens och om dess fördelar överskuggar dess nackdelar. Envoy sidecar proxy ökar latensen i systemet; De fördelar som det ger med avseende på resiliens gör tjänsterna bättre när det finns ett stort antal misslyckanden i systemet.

Place, publisher, year, edition, pages
2019. , p. 51
Series
TRITA-EECS-EX ; 2019:226
Keywords [en]
Service Proxy, Distributed Systems, Resilience Patterns, Automatic Retries, Rate Limiting, Circuit Breakers
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-264111OAI: oai:DiVA.org:kth-264111DiVA, id: diva2:1372122
External cooperation
Spotify AB
Supervisors
Examiners
Available from: 2019-11-22 Created: 2019-11-22 Last updated: 2019-11-22Bibliographically approved

Open Access in DiVA

fulltext(1500 kB)6 downloads
File information
File name FULLTEXT01.pdfFile size 1500 kBChecksum SHA-512
8cffa35f822ca76b38fc21d56a77f174f034103d6f611fe622abb065672144051095a36a3c45e2813128c8728d470945baca1f5535eb2e034e3a9b90c092cb87
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 6 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 5 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf