In a world of seamless deployments to auto-scaling cloud environments, a ThoughtWorks team found itself in a very different place - trying to deploy a RESTful pricing API to every one of a UK supermarket’s 40,000 tills in a reliable, repeatable fashion.
14. However...
● Network performance is poor
○ 60 mins downtime per store per month
● Most stores have a single point of failure
● The customer must ALWAYS be able to check out
THE ONLY PLACE FOR BUSINESS CRITICAL SERVICES
IS THE TILL ITSELF
15. Plan
● Till ALWAYS talks to a local Pricing API
● Events are stored in embedded DB
● Background sync to central
● Run in parallel
27. Methods
“Till Build”
OS and core applications installed by engineer on site Slow release cycle
Enterprise Software Management
CA DSM / Nolio etc. No standard tool
“Spider”
28. Methods
Written by Till Deployment team
Already running in till estate
P2P distribution in store
“Spider”
47. Guiding Principles
Central Service
● Logic goes here
● Scalable
● Cheap
Till Clients
● Low overhead
● Convention-based
● Bootstrap once
● Self-updating
64. 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 L Peter Deutsch
So true...
Fallacies of Distributed Computing