A case study of how the Twin Cities Marathon used the cloud to scale without introducing significant infrastructure cost and delivered a great fan experience.
5. Spectator or runner goes to
AthleteTracker website to
register to use AthleteTracker
service
1
6. Attendees at the Race Expo sign
up for AthleteTracker using
Windows 8 modern application
2
7. Runner wearing a digital tracking chip
on their shoe crosses over time
tracking mats throughout the course
3
8. Fans receive SMS text messages via
their mobile phone of runners
progress during the race
4
9. AthleteTracker Results
19,363 spectators received text messages
151,483 text messages sent in 7.5 hours
50 states receiving text messages from runners
For less than $100 in race day server costs
21. Capacity
• Amount of work a component can perform
• Critical for big data or time sensitive applications
• Operations per second, throughput or storage amount
22. Capacity -
• Web Role
– Serves up site
• Infrastructure as a Serivce (IaaS) Virtual Machine
– Receives incoming runner data
• SQL Azure
– Writes hundreds of thousands of entries
– Keeps stats on SMS performance
23. Scalability
• Ability to match capacity with demand
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
1 2 3 4 5 6 7 8
25. • Windows Azure turn on and off virtual machines
• Upgrade/Downgrade website capacity
• Increase database throughput on the fly
Scalability -
26. Availability
• Ability to recover from adverse conditions
• Most commonly associated with datacenter recovery
• Cloud platforms allow for automatic and custom
failover scenarios
27. • Heavy use of Asynchronous Queues
• Redundant SMS Gateways
• Load monitoring and automatic balancing
Availability -
28. Maintainability
• Skill and time required to keep environment stable
• Networking components and server hardware failures
managed by the cloud
• Platform as a Service (PaaS) eliminates OS patching and
hardening
29. • Platform as a Service
– Queuing
– Web Site
– SQL Database
• Infrastructure as a Serivce (IaaS) for queue manager
Maintainability -
30. Affordability
• Will it break the bank?
• Not all applications fit a cloud model
• Critical to understand the application’s profile
31. • Mothball it after the race
• Scale up/down environment even during development
• Creating development/test environments smooth
process
Affordability -
33. Lessons Learned
• Taking advantage of platform features saves
development time
• The cloud offers performance and reliability boosts but
has some sharp edges
• Testing an app to its breaking point and practice failure
scenarios for time critical applications
35. Summary
• Cloud based application succeeded, and did it with
more flexibility
• Understanding your application is key to creating a
successful architecture
• Cloud providers offer a variety of options that can free
you from current limitations