The Fallacies of Distributed Computing: What if the Network Fails?
|
|
- Gervais Ferguson
- 5 years ago
- Views:
Transcription
1 The Fallacies of Distributed Computing: What if the Network Fails? Bert Ertman and Willem Dekker Those who stand for nothing, fall for anything - Alexander Hamilton
2 About us Bert Ertman Fellow Willem Dekker Architect @BertErtman
3 Introduction In 1994 Peter Deutsch drafted 7 assumptions architects and designers of distributed systems are likely to make, which prove wrong in the long run In 1997 James Gosling added another fallacy
4 The 8 Fallacies 1. The network is reliable 2. Latency is zero 3. Bandwidth is infinite 4. The network is secure 5. Topology doesn't change 6. There is one administrator 7. Transport cost is zero 8. The network is homogeneous
5 Freely translated, the paper says.
6 The Network hates us!
7 The Cloud hates us too!
8 Latency control
9 Fault tolerance
10 Fault tolerance It s-all-your-fault tolerance
11 Resilience The ability of a system to handle unexpected situations at all times - without the user noticing it (best case) - with graceful degradation of service (worst case)
12 Case
13 Case introduction Liquid Sunshine is a modern web shop selling well liquid sunshine a.k.a. Whisky We sell great products, aim for customer intimacy, and offer great service Our architecture looks like this
14 web application database
15 web application web application web application database
16 web application web application web application database
17 web application web application web application database
18 But suddenly we realised OMG, we ve built a MONOLITH!
19 At that point we switched to Microservices because well just because! and Amazon does it too! :-P
20 Shop UI Search Special Offers Products Order Auth Accounts Stock Billing Shipping Returns Care Center
21 And we were all happy
22
23 Loading Please Wait
24
25 bad response times
26 Shop UI Search Special Offers Products Order Auth Accounts Stock Billing Shipping Returns Care Center
27 Shop UI Special Offers Purchase history Cascading failures
28 Web Application thread pool
29 Web Application thread pool Special Offers
30 Web Application thread pool Special Offers
31 Web Application thread pool Special Offers
32 Web Application thread pool Special Offers Products Order
33 Web Application thread pool Special Offers Products Order
34 Web Application thread pool Special Offers Products Order
35 Problem public class SpecialOffersClient { private final URL endpoint; public Offers getoffers() throws IOException { HttpURLConnection connection = (HttpURLConnection) endpoint.openconnection(); connection.connect(); } InputStream inputstream = connection.getinputstream(); return readtoobject(inputstream);
36 What could possibly go wrong? Well, actually a lot! - connection might take a while to establish - the target service might be slow - the network might be slow or experience hiccups - a response might comprise of multiple packets
37 Dealing with the problem HttpURLConnection connection = (HttpURLConnection) endpoint.openconnection(); connection.setconnecttimeout(300); connection.setreadtimeout(1000); connection.connect(); InputStream inputstream = connection.getinputstream(); Offers result = readtoobject(inputstream);
38 Solution Use timeouts to prevent blocked threads Set aggressive timeouts Apply to every call here here too! Shop UI Special Offers Purchase history
39 And we were all happy
40
41 Loading Please Wait
42
43 bad response times awful throughput
44 Shop UI Search Special Offers Products Order Auth Accounts Stock Billing Shipping Returns Care Center
45 Shop UI Special Offers Timeouts
46 Web Application thread pool timeout Special Offers
47 Web Application thread pool Special Offers many timeouts
48 Throughput < incoming requests Our response times degraded to 5 rps because of timeouts But we had > 10 rps incoming requests
49 Web Application thread pool Special Offers many timeouts
50 Problem Someone had moved the special deals section to the template that is included for every page on the site Throughput of the Special Offers service became lower than the number of incoming requests Result: many timeouts, blocked threads, and queues causing our site to be unreachable
51 Solution For frequently called services, timeouts alone are not enough! You have to make sure that calls to broken services fail fast Guard services with a Circuit Breaker
52 Circuit Breaker try 1 exception/timeout try 1 exception/timeout circuit is CLOSED Initiating Service try 2 exception/timeout try 3 exception/timeout Circuit Breaker try 2 exception/timeout Target Service circuit trips and is OPEN try 83 exception/timeout try 3 exception/timeout circuit is HALF-OPEN
53 Circuit Breaker example public class GetSpecialOffersCommand extends HystrixCommand<Offers> { private final SpecialOffersClient client; public GetSpecialOffersCommand(SpecialOffersClient client) { super(factory.askey("special-offers")); this.client = client; protected Offers run() throws Exception { return client.getspecialoffers(); } } GetSpecialOffersCommand command = new GetSpecialOffersCommand(client); Offers result = command.execute();
54 Solution (revisited) With a Circuit Breaker - calls to broken services fail fast - broken services will be offloaded as well
55 And we were all happy
56
57 Loading Please Wait
58
59 bad response times awful throughput again?!!
60 Shop UI Search Special Offers Products Order Auth Accounts Stock Billing Shipping Returns Care Center
61 Shop UI Special Offers Slow response
62 Web Application thread pool Special Offers slow responses
63 Web Application thread pool Special Offers throughput < incoming requests (again) slow responses
64 Problem Timeouts and Circuit Breakers are not enough if response time < timeout and a sudden increase in load occurs Somehow we need another means of isolating services to prevent cascading failures
65 Solution Introduce Bulkheads Limit the number of concurrent calls to a service Set an upper bound on the number of waiting threads
66 Bulkheads In shipping: partition the load into sections allowing you to seal them off if there is a breach In software: isolate services to prevent cascading failures to cripple the entire system
67 Web Application thread pool bulkhead (size=3) Special Offers
68 Web Application thread pool bulkhead (size=3) Special Offers
69 Web Application thread pool bulkhead (size=3) Special Offers
70 Web Application thread pool bulkhead (size=3) slow response with special offers Special Offers fast response no special offers
71 Bulkheads for each service Shop UI BH BH BH BH BH Search Special Offers Products Order Auth
72 Tuning bulkheads As a rule of thumb: - Determine peak load when healthy 25 rps w/ 200 ms response time 25 x 0.2 = 5 add a bit of breathing room (+2) = 7
73 Bulkheads for each service Shop UI B=5 B=7 B=10 B=4 B=2 Search Special Offers Products Order Auth 28
74 Bulkhead example Semaphore semaphore = new Semaphore(3); Offers result; if (semaphore.tryacquire()) { result = client.getspecialoffers() semaphore.release(); } else { result = Offers.EMPTY; } return result;
75 And we were all happy
76
77 Loading Please Wait
78
79 All service calls are being rejected!
80 But how can this be? The site had a sudden increase in load But we had all our measures in place: - Bulkheads - Circuit Breakers - Timeouts What happened?
81 Shop UI B=5 B=7 B=10 B=4 B=2 Search Special Offers Products Order Auth
82 Problem It turned out we d upgraded our client library and this messed up our settings - timeouts were gone Client libraries are mostly black box - implementation changes can cause disruptions
83 Solution Introduce thread pool handovers - hand over the service call to another thread pool so the initial caller can walk away after timeout
84 Web Application request thread pool service thread pool Service
85 request thread pool Web Application timeout service thread pool Service
86 Web Application request thread pool error service thread pool timeouts are still required! X X X Service
87 Web Application request thread pool service thread pool Bulkhead included Service X X error
88 Solution (revisited) Thread pool handovers are a powerful construct - generic timeouts - bonus bulkhead included when fixing the thread pool size - client library issues are confined to just a single service thread pool
89 ThreadHandOver example ExecutorService executor = new ThreadPoolExecutor(3, 3, ); try { Future<Offers> future = executor.submit(specialoffersclient::getoffers); return future.get(1, TimeUnit.SECONDS); } catch (RejectedExecutionException TimeoutException e) { return Offers.EMPTY; }
90 Hystrix example GetSpecialOffersCommand command = Future<Offers> future = command.queue(); return future.get(); public class GetSpecialOffersCommand extends HystrixCommand<Offers> protected Offers getfallback() { return Offers.EMPTY; }
91
92 Monitoring Monitor all service calls - remote dependencies == integration points Monitor stability measures (problem detector) - errors, timeouts, waits - validate configuration
93 Monitoring TODO - example screenshot van Hystrix monitoring?
94 Monitoring TODO - example screenshot van Hystrix monitoring?
95 Testing Focus on client demand rather than supplier s definition - BDD-style testing Lots of stuff happens on the wire - Wiremock, Saboteur, Simian Army, Chaos Monkey, etc - JMeter, Gatling, Jenkins Performance Plugin
96 Moral of the story Now this case was just to show you what could go wrong with just a very insignificant service and some distribution. - we focused on client side protection, but there are other patterns that can be applied e.g. on the service-side Image what could go wrong on a bigger scale
97 Thanks!
Building Fault Tolerant Micro Services
Building Fault Tolerant Micro Services Kristoffer Erlandsson kristoffer.erlandsson@avanza.se @kerlandsson Building Fault Tolerant Why? Micro Services Stability patterns Failure modes Monitoring guidelines
More informationPatterns of Resilience How to build robust, scalable & responsive systems
Patterns of Resilience How to build robust, scalable & responsive systems Uwe Friedrichsen (codecentric AG) GOTO Night Amsterdam 18. May 2015 @ufried Uwe Friedrichsen uwe.friedrichsen@codecentric.de http://slideshare.net/ufried
More informationHow to write Cynical software
How to write Cynical software Stability patterns and anti-patterns dagi@goodata.com https://twitter.com/_dagi How to become cynical Eat your own dog food Strong feedback Pager duty (Engineer on duty) DevOps
More informationApplication Resilience Engineering and Operations at Netflix. Ben Software Engineer on API Platform at Netflix
Application Resilience Engineering and Operations at Netflix Ben Christensen @benjchristensen Software Engineer on API Platform at Netflix Global deployment spread across data centers in multiple AWS regions.
More informationMicroprofile Fault Tolerance. Emily Jiang 1.0,
Microprofile Fault Tolerance Emily Jiang 1.0, 2017-09-13 Table of Contents 1. Architecture.............................................................................. 2 1.1. Rational..............................................................................
More informationServerless The Future of the Cloud?!
DEV4867 Serverless The Future of the Cloud?! by Bert Ertman Those who stand for nothing, fall for anything - Alexander Hamilton @BertErtman Fellow, Director of Technology Outreach at Luminis Background
More informationDeveloping Resilient Apps on SAP Cloud Platform
PUBLIC 2018-09-05 2018 SAP SE or an SAP affiliate company. All rights reserved. THE BEST RUN Content 1 About this Guide.... 4 2 What is Resilient Software Design.... 5 2.1 Availability....5 2.2 Failure
More informationMicroservices at Netflix Scale. First Principles, Tradeoffs, Lessons Learned Ruslan
Microservices at Netflix Scale First Principles, Tradeoffs, Lessons Learned Ruslan Meshenberg @rusmeshenberg Microservices: all benefits, no costs? Netflix is the world s leading Internet television network
More informationFault tolerance made easy A head-start to resilient software design
Fault tolerance made easy A head-start to resilient software design Uwe Friedrichsen (codecentric AG) QCon London 5. March 2014 @ufried Uwe Friedrichsen uwe.friedrichsen@codecentric.de http://slideshare.net/ufried
More informationISTIO 1.0 INTRODUCTION & OVERVIEW OpenShift Commons Briefing Brian redbeard Harrington Product Manager, Istio
ISTIO 1.0 INTRODUCTION & OVERVIEW OpenShift Commons Briefing Brian redbeard Harrington Product Manager, Istio 2018-08-07 PARTY TIME 2018-07-31 Istio hits 1.0!!! ONE STEP CLOSER TO BORING* * http://mcfunley.com/choose-boring-technology
More informationHuge Codebases Application Monitoring with Hystrix
Huge Codebases Application Monitoring with Hystrix 30 Jan. 2016 Roman Mohr Red Hat FOSDEM 2016 1 About Me Roman Mohr Software Engineer at Red Hat Member of the SLA team in ovirt Mail: rmohr@redhat.com
More informationSaaS Providers. ThousandEyes for. Summary
USE CASE ThousandEyes for SaaS Providers Summary With Software-as-a-Service (SaaS) applications rapidly replacing onpremise solutions, the onus of ensuring a great user experience for these applications
More informationHands-On: Hystrix. Best practices & pitfalls
Hands-On: Hystrix Best practices & pitfalls Hystrix...What? built, heavily tested & used in production by Net ix Java library, implementation of resilience patterns Goals: fault tolerant/robust self-healing
More informationArchitectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)
Architectural Code Analysis Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Agenda Intro to Structural Analysis Challenges addressed during traditional software development The new world
More informationAnti-fragile Cloud Architectures. Agim Emruli - mimacom
Anti-fragile Cloud Architectures Agim Emruli - @aemruli - mimacom Antifragility is beyond resilience or robustness. The resilient resists shocks and stays the same; the antifragile gets better. Nasim Nicholas
More informationResilience Validation
Resilience Validation Ramkumar Natarajan & Manager - NFT Cognizant Technology Solutions Abstract With the greater complexities in application and infrastructure landscapes, the risk of failure is ever
More informationECE 587 Hardware/Software Co-Design Lecture 07 Concurrency in Practice Shared Memory I
ECE 587 Hardware/Software Co-Design Spring 2018 1/15 ECE 587 Hardware/Software Co-Design Lecture 07 Concurrency in Practice Shared Memory I Professor Jia Wang Department of Electrical and Computer Engineering
More informationSecurity Precognition: Chaos Engineering in Incident Response
SESSION ID: ASD-W03 Security Precognition: Chaos Engineering in Incident Response Aaron Rinehart Chief Technology Officer Verica.io @aaronrinehart Kyle Erickson Director of IoT Security Medtronic Resilience
More informationDistributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems
Distributed Architectures & Microservices CS 475, Spring 2018 Concurrent & Distributed Systems GFS Architecture GFS Summary Limitations: Master is a huge bottleneck Recovery of master is slow Lots of success
More informationChapter 8 Applying Thread Pools. Magnus Andersson
Chapter 8 Applying Thread Pools Magnus Andersson Execution policies Not all task are suitable for all execution policies Dependent task Task exploiting thread confinement Response time sensitive tasks
More informationHystrix Python Documentation
Hystrix Python Documentation Release 0.1.0 Hystrix Python Authors Oct 31, 2017 Contents 1 Modules 3 2 Indices and tables 11 Python Module Index 13 i ii Contents: Contents 1 2 Contents CHAPTER 1 Modules
More informationScaling Up Performance Benchmarking
Scaling Up Performance Benchmarking -with SPECjbb2015 Anil Kumar Runtime Performance Architect @Intel, OSG Java Chair Monica Beckwith Runtime Performance Architect @Arm, Java Champion FaaS Serverless Frameworks
More informationTesting in the Cloud. Not just for the Birds, but Monkeys Too!
Testing in the Cloud. Not just for the Birds, but Monkeys Too! PhUSE Conference Paper AD02 Geoff Low Software Architect I 15 Oct 2012 Optimising Clinical Trials: Concept to Conclusion Optimising Clinical
More informationEclipse Incubator. https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License.
Current Status 1 Eclipse Incubator https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License http://microprofile.io/ - Home Page https://github.com/eclipse - Eclipse Foundation GitHub
More informationFour times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow
Four times Microservices: REST, Kubernetes, UI Integration, Async Eberhard Wolff @ewolff http://ewolff.com Fellow http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/ http://microservices-buch.de/
More informationSeptember 15th, Finagle + Java. A love story (
September 15th, 2016 Finagle + Java A love story ( ) @mnnakamura hi, I m Moses Nakamura Twitter lives on the JVM When Twitter realized we couldn t stay on a Rails monolith and continue to scale at the
More informationTransformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's
Building Agile and Resilient Schema Transformations using Apache Kafka and ESB's Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's Ricardo Ferreira
More informationElastic Load Balancing
Elastic Load Balancing Deep Dive & Best Practices Mariano Vecchioli, Sr. Technical Account Manager AWS Michaela Kurkiewicz, Principal Service Manager Co-op Tina Howell, Platform Lead - Co-op June 28 th,
More informationWHITEPAPER AMAZON ELB: Your Master Key to a Secure, Cost-Efficient and Scalable Cloud.
WHITEPAPER AMAZON ELB: Your Master Key to a Secure, Cost-Efficient and Scalable Cloud www.cloudcheckr.com TABLE OF CONTENTS Overview 3 What Is ELB? 3 How ELB Works 4 Classic Load Balancer 5 Application
More information[module lab 1.2] STRUCTURING PROGRAMS IN TASKS
v1.0 Sistemi Concorrenti e di Rete LS II Facoltà di Ingegneria - Cesena a.a 2008/2009 [module lab 1.2] STRUCTURING PROGRAMS IN TASKS 1 STRUCTURING CONCURRENT PROGRAMS INTO TASKS Task concept abstract,
More informationThread Safety. Review. Today o Confinement o Threadsafe datatypes Required reading. Concurrency Wrapper Collections
Thread Safety Today o Confinement o Threadsafe datatypes Required reading Concurrency Wrapper Collections Optional reading The material in this lecture and the next lecture is inspired by an excellent
More informationEpisode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto
Episode 4. Flow and Congestion Control Baochun Li Department of Electrical and Computer Engineering University of Toronto Recall the previous episode Detailed design principles in: The link layer The network
More informationEclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java Microservices Emily Jiang twitter @emilyfhjiang 10 th October 2017 What is Eclipse MicroProfile? Eclipse MicroProfile is an open-source community
More informationMicroservices stress-free and without increased heart-attack risk
Microservices stress-free and without increased heart-attack risk Uwe Friedrichsen (codecentric AG) microxchg Berlin, 12. February 2015 @ufried Uwe Friedrichsen uwe.friedrichsen@codecentric.de http://slideshare.net/ufried
More informationDesigning Fault-Tolerant Applications
Designing Fault-Tolerant Applications Miles Ward Enterprise Solutions Architect Building Fault-Tolerant Applications on AWS White paper published last year Sharing best practices We d like to hear your
More informationModern Database Concepts
Modern Database Concepts Basic Principles Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz NoSQL Overview Main objective: to implement a distributed state Different objects stored on different
More informationStability Patterns and Antipatterns
Stability Patterns and Antipatterns Michael Nygard mtnygard@thinkrelevance.com @mtnygard Michael Nygard, 2007-2012 1 Stability Antipatterns 2 Integration Points Integrations are the #1 risk to stability.
More informationJava Without the Jitter
TECHNOLOGY WHITE PAPER Achieving Ultra-Low Latency Table of Contents Executive Summary... 3 Introduction... 4 Why Java Pauses Can t Be Tuned Away.... 5 Modern Servers Have Huge Capacities Why Hasn t Latency
More informationFault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together
Fault-Tolerant Computer System Design ECE 695/CS 590 Putting it All Together Saurabh Bagchi ECE/CS Purdue University ECE 695/CS 590 1 Outline Looking at some practical systems that integrate multiple techniques
More informationDistributed Systems Principles and Paradigms. Chapter 01: Introduction
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Introduction Version: October 25, 2009 2 / 26 Contents Chapter
More informationThousandEyes for. Application Delivery White Paper
ThousandEyes for Application Delivery White Paper White Paper Summary The rise of mobile applications, the shift from on-premises to Software-as-a-Service (SaaS), and the reliance on third-party services
More informationSUPERIOR MISSION SYSTEMS Faster, Resilient, Secure & More Affordable
SUPERIOR MISSION SYSTEMS Faster, Resilient, Secure & More Affordable Dave Manley, Chief Mission Systems Architect February 27, 2018 Emerging Requirements Are More Demanding Faster change velocities (sustainable)
More informationCloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0
Cloud-Native Applications Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0 Cloud-Native Characteristics Lean Form a hypothesis, build just enough to validate or disprove it. Learn
More informationDistributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Version: February 21, 2011 1 / 26 Contents Chapter 01: 02: Architectures
More informationDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 01 (version September 5, 2007) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2004
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2004 Lecture 9: Readers-Writers and Language Support for Synchronization 9.1.2 Constraints 1. Readers can access database
More informationIGL S AND MOUNT NS. Taking AKKA to Production
IGL S AND MOUNT NS Taking AKKA to Production THIS TALK Hello! I m Derek Wyatt, Senior Platform Developer at Auvik Networks! and author of Akka Concurrency Scala, Play and Akka form the foundational triad
More informationThread Pools SE 441. Prof. Bullinger
Thread Pools SE 441 Prof. Bullinger Thread Pools Thread Pool Limitations Sizing Thread Pools ThreadPoolExecutor Queuing Tasks Parallelizing Loops Thread Pool Limitations Task Dependencies Different types
More informationParallel Programming Practice
Parallel Programming Practice Threads and Tasks Susanne Cech Previtali Thomas Gross Last update: 2009-10-29, 09:12 Thread objects java.lang.thread Each thread is associated with an instance of the class
More informationHow Emerging Optical Technologies will affect the Future Internet
How Emerging Optical Technologies will affect the Future Internet NSF Meeting, 5 Dec, 2005 Nick McKeown Stanford University nickm@stanford.edu http://www.stanford.edu/~nickm Emerged (and deployed) Optical
More informationIntroduction to reactive programming. Jonas Chapuis, Ph.D.
Introduction to reactive programming Jonas Chapuis, Ph.D. Reactive programming is an asynchronous programming paradigm oriented around data flows and the propagation of change wikipedia Things happening
More informationParallel Task Executor in Java
Parallel Task Executor in Java Niravkumar Patel Computer Science Department San Jose State University San Jose, CA 95192 425-772-2509 niravkumar.patel1989@gmail.com ABSTRACT In software development there
More informationSecurely Access Services Over AWS PrivateLink. January 2019
Securely Access Services Over AWS PrivateLink January 2019 Notices This document is provided for informational purposes only. It represents AWS s current product offerings and practices as of the date
More informationThe Total Network Volume chart shows the total traffic volume for the group of elements in the report.
Tjänst: Network Health Total Network Volume and Total Call Volume Charts Public The Total Network Volume chart shows the total traffic volume for the group of elements in the report. Chart Description
More informationProgramming Distributed Systems
Annette Bieniusa Programming Distributed Systems Summer Term 2018 1/ 26 Programming Distributed Systems 09 Testing Distributed Systems Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Summer
More informationLarge-Scale Web Applications
Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out
More informationCA464 Distributed Programming
1 / 25 CA464 Distributed Programming Lecturer: Martin Crane Office: L2.51 Phone: 8974 Email: martin.crane@computing.dcu.ie WWW: http://www.computing.dcu.ie/ mcrane Course Page: "/CA464NewUpdate Textbook
More informationWireless TCP Performance Issues
Wireless TCP Performance Issues Issues, transport layer protocols Set up and maintain end-to-end connections Reliable end-to-end delivery of data Flow control Congestion control Udp? Assume TCP for the
More informationScaling App Engine Applications. Justin Haugh, Guido van Rossum May 10, 2011
Scaling App Engine Applications Justin Haugh, Guido van Rossum May 10, 2011 First things first Justin Haugh Software Engineer Systems Infrastructure jhaugh@google.com Guido Van Rossum Software Engineer
More informationElastic Load Balance. User Guide. Issue 14 Date
Issue 14 Date 2018-02-28 Contents Contents 1 Overview... 1 1.1 Basic Concepts... 1 1.1.1 Elastic Load Balance... 1 1.1.2 Public Network Load Balancer...1 1.1.3 Private Network Load Balancer... 2 1.1.4
More informationSLE experience over unreliable network links
SLE experience over unreliable network links Ciprian Furtuna 1 and Carla Garcia 2 LSE Space GmbH, Argelsrieder Feld 22, 82234, Wessling, Germany Wilfried Kruse 3 Deutsches Zentrum für Luft und Raumfahrt
More informationDemocratized Performance Test Platform. Open source, enterprise ready modular platform, that is tool chain friendly.
Democratized Performance Test Platform Open source, enterprise ready modular platform, that is tool chain friendly. Democratized Performance Test Platform Open source, enterprise ready modular platform,
More informationSLE experience over unreliable network links
SLE experience over unreliable network links Ciprian Furtuna 1 and Carla Garcia 2 LSE Space GmbH, Argelsrieder Feld 22, 82234, Wessling, Germany Wilfried Kruse 3 Deutsches Zentrum für Luft und Raumfahrt
More informationRequirements. PA4: Multi-thread File Downloader Page 1. Assignment
PA4: Multi-thread File Downloader Page 1 Assignment What to Submit Write a program that downloads a file from the Internet using multiple threads. The application has a Graphical Interface written in JavaFX,
More informationStarting the Avalanche:
Starting the Avalanche: Application DoS In Microservice Architectures Scott Behrens Jeremy Heffner Introductions Scott Behrens Netflix senior application security engineer Breaking and building for 8+
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is
More informationPROCESSES AND THREADS THREADING MODELS. CS124 Operating Systems Winter , Lecture 8
PROCESSES AND THREADS THREADING MODELS CS124 Operating Systems Winter 2016-2017, Lecture 8 2 Processes and Threads As previously described, processes have one sequential thread of execution Increasingly,
More informationBUILDING SCALABLE AND RESILIENT OTT SERVICES AT SKY
BUILDING SCALABLE AND RESILIENT OTT SERVICES AT SKY T. C. Maule Sky Plc, London, UK ABSTRACT Sky have tackled some of the most challenging scalability problems in the OTT space head-on. But its no secret
More informationWeek 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols
Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols David D. Clark ACM CCR, Vol. 18, No. 4, August 1988 Main point Many papers describe how the Internet Protocols work But why do they
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is
More informationCloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved.
Cloud Native Architecture 300 Copyright 2014 Pivotal. All rights reserved. Cloud Native Architecture Why What How Cloud Native Architecture Why What How Cloud Computing New Demands Being Reactive Cloud
More informationDESIGN AS RISK MINIMIZATION
THOMAS LATOZA SWE 621 FALL 2018 DESIGN AS RISK MINIMIZATION IN CLASS EXERCISE As you come in and take a seat What were the most important risks you faced in a recent software project? WHAT IS A RISK? WHAT
More informationMorgan Bruce Paulo A. Pereira
Morgan Bruce Paulo A. Pereira Sample Chapter MANNING A microservice production environment Production Monitors Network and routing Connects Observability Observes Engineers Writes Manages Runtime management
More informationInteractive Programming In Java
IPIJ: Chapter Outlines Page 1 Front Matter I. Table of Contents 2. Preface Introduction to Interactive Programming by Lynn Andrea Stein A Rethinking CS101 Project Interactive Programming In Java Chapter
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Computer Systems Engineering: Spring Quiz I
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.033 Computer Systems Engineering: Spring 2016 Quiz I There are 15 questions and 13 pages in this quiz booklet.
More informationPart ONE
Networked Systems, COMPGZ0, 0 Answer TWO questions from Part ONE on the answer booklet containing lined writing paper, and answer ALL questions in Part TWO on the multiple-choice question answer sheet.
More informationInside the Garbage Collector
Inside the Garbage Collector Agenda Applications and Resources The Managed Heap Mark and Compact Generations Non-Memory Resources Finalization Hindering the GC Helping the GC 2 Applications and Resources
More informationOperating Systems Overview
Operating Systems Overview 1 operating system no clear traditional definition each definition cover a distinct aspect an interface between applications and hardware true, this was the first reason for
More informationFault Tolerance in Microservices
Masaryk University Faculty of Informatics Fault Tolerance in Microservices Master s Thesis Bc. Tomáš Livora Brno, Fall 2016 Declaration Hereby I declare that this paper is my original authorial work,
More informationThe Keys to Monitoring Internal Web Applications
WHITEPAPER The Keys to Monitoring Internal Web Applications Much of the focus on applications today revolves around SaaS apps delivered from the cloud. However, many large enterprises are also required
More informationFirewalls Network Security: Firewalls and Virtual Private Networks CS 239 Computer Software March 3, 2003
Firewalls Network Security: Firewalls and Virtual Private Networks CS 239 Computer Software March 3, 2003 A system or combination of systems that enforces a boundary between two or more networks - NCSA
More informationMicroservices. Are your Frameworks ready? Martin Eigenbrodt Alexander Heusingfeld
Microservices Are your Frameworks ready? Martin Eigenbrodt martin.eigenbrodt@innoq.com Alexander Heusingfeld alexander.heusingfeld@innoq.com Microservices? Levels of Architecture Domain architecture Macro
More informationHybrid Cloud for Business Communications
Hybrid Cloud for Business Communications THE ESSENTIAL GUIDE So you re considering hybrid cloud for your business communications. You re not alone! In fact, more and more businesses are turning to cloud
More informationThe Y-Comm Framework. A new way
The Y-Comm Framework A new way Mobility within Domains Mobile IP is good for moving between large defined domains But we also have to consider mobility issues within a domain which may have a number of
More informationScalable Enterprise Networks with Inexpensive Switches
Scalable Enterprise Networks with Inexpensive Switches Minlan Yu minlanyu@cs.princeton.edu Princeton University Joint work with Alex Fabrikant, Mike Freedman, Jennifer Rexford and Jia Wang 1 Enterprises
More informationWireless Challenges : Computer Networking. Overview. Routing to Mobile Nodes. Lecture 25: Wireless Networking
Wireless Challenges 15-441: Computer Networking Lecture 25: Wireless Networking Force us to rethink many assumptions Need to share airwaves rather than wire Don t know what hosts are involved Host may
More informationDistributed Systems. Day 13: Distributed Transaction. To Be or Not to Be Distributed.. Transactions
Distributed Systems Day 13: Distributed Transaction To Be or Not to Be Distributed.. Transactions Summary Background on Transactions ACID Semantics Distribute Transactions Terminology: Transaction manager,,
More informationTCP Tuning for the Web
TCP Tuning for the Web Jason Cook - @macros - jason@fastly.com Me Co-founder and Operations at Fastly Former Operations Engineer at Wikia Lots of Sysadmin and Linux consulting The Goal Make the best use
More information6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long
6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long Please read Chapter 19 of the 6.02 book for background, especially on acknowledgments (ACKs), timers,
More informationDistributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017
Distributed Systems 16. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2017 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can
More informationScheduling Mar. 19, 2018
15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note
More informationFreecoms VoIP Mobile Community Telecom S. Ferrari, page n 1»
Freecoms VoIP Mobile Community Telecom S. Ferrari, page n 1» Multiservice Mobile VoIP Community Powerful multiservice package: Home and Mobile VoIP communication. Business and Private WEB Portal community
More informationConcurrency Control In Distributed Main Memory Database Systems. Justin A. DeBrabant
In Distributed Main Memory Database Systems Justin A. DeBrabant debrabant@cs.brown.edu Concurrency control Goal: maintain consistent state of data ensure query results are correct The Gold Standard: ACID
More informationMicroservices Implementations not only with Java. Eberhard Wolff Fellow
Microservices Implementations not only with Java Eberhard Wolff http://ewolff.com @ewolff Fellow http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/ http://microservices-buch.de/ http://microservices-book.com/
More informationSCALE AND SECURE MOBILE / IOT MQTT TRAFFIC
APPLICATION NOTE SCALE AND SECURE MOBILE / IOT TRAFFIC Connecting millions of devices requires a simple implementation for fast deployments, adaptive security for protection against hacker attacks, and
More informationA RESTful Java Framework for Asynchronous High-Speed Ingest
A RESTful Java Framework for Asynchronous High-Speed Ingest Pablo Silberkasten Jean De Lavarene Kuassi Mensah JDBC Product Development October 5, 2017 3 Safe Harbor Statement The following is intended
More informationa. Under overload, whole network collapsed iii. How do you make an efficient high-level communication mechanism? 1. Similar to using compiler instead
RPC 1. Project proposals due tonight 2. Exam on Tuesday in class a. Open note, open papers b. Nothing else (no internet, no extra papers) 3. Notes from Creator: a. VMware ESX: Carl Waldspurger i. Still
More informationWithin Kodi you can add additional programs called addons. Each of these addons provides access to lots of different types of video content.
There are a lot of misconceptions in the Kodi world about what buffering is, what causes it, why it happens and how to help avoid it. So I wanted to write an article addressing some of the causes of buffering
More informationProtecting the Platforms. When it comes to the cost of keeping computers in good working order, Chapter10
Chapter10 Protecting the Platforms Painting: The art of protecting flat surfaces from the weather and exposing them to the critic. Ambrose Bierce (1842 1914) When it comes to the cost of keeping computers
More informationQualifying exam: operating systems, 1/6/2014
Qualifying exam: operating systems, 1/6/2014 Your name please: Part 1. Fun with forks (a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always
More information