Exercises
Explain the pets and cattle analogy for computers.
What is a snowflake server? Why are they a bad idea?
If a snowflake server is risky, how can we reduce risk through repetition?
How do cattle-like systems help us be more efficient?
How do cattle-like systems help us scale services?
According to this chapter, why do banks have lousy interest rates?
A laptop and a desktop PC are very different. In what way could we treat them both as cattle of the same herd?
What is state? What is irreproducible state?
Why is isolating state to particular machines a good thing?
How can beta and production environments end up being different? How can we make them as similar as possible?
How is mass-production aided by moving variations to the end?
Sometimes bad customer service is described as being treated like cattle. Yet, some of the best companies have practices that assure that everyone receives extremely high-quality service in an efficient and mass-produced way. These companies are also managing people like cattle. How are the latter companies able to achieve this without offending their customers?
Pick a service in your organization that stores a lot of state. Describe how it could be implemented using an architecture that isolates state.
What are the benefits of moving variations to the end of the process?
Pick a process in your organization that has a lot of variation. How can it be restructured to move the variation to the end? What benefits would be achieved by doing this?