As you read the paper, consider the following questions:
Question 1: Why is it challenging to mask failures from users in multitier Internet applications?
Question 2: What is the key idea behind using interaction contracts to provide fault-tolerance?
Question 3: What are the different types of contracts? Why are different types of contracts necessary and what guarantees does each type of contract provide?