Upload
avtex
View
262
Download
1
Tags:
Embed Size (px)
DESCRIPTION
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.
Citation preview
Leveraging the cloud for ultimate flexibility
Case Study: AthleteTracker
Neil IversenDirector of Software Development, Avtex
Agenda
• Solution Overview• Cloud First Design• AthleteTracker Components• Lessons Learned• Questions
TWIN CITIES MARATHON ATHLETETRACKERTavis Hudson
ATHLETETRACKER: SOLUTION OVERVIEW
Spectator or runner goes to AthleteTracker website to register to use AthleteTracker service1
Attendees at the Race Expo sign up for AthleteTracker using Windows 8 modern application2
Runner wearing a digital tracking chip on their shoe crosses over time tracking mats throughout the course3
Fans receive SMS text messages viatheir mobile phone of runnersprogress during the race4
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
ATHLETETRACKER: LOGICAL DESIGN
Website
Notification Receiver
What is the Cloud?
• Outside of your direct control
• Limited responsibility
Common Cloud Offerings
• Software as a Service (SaaS)
• Infrastructure as a Service (IaaS)
• Platform as a Service (PaaS)
Cloud First Design
• Take advantage of platform capabilities
• Embrace isolation and separation
• Asynchronous Scales
Application Anatomy
Interface
Processing
Persistence
Communication
Traditional 3-Tier
Client
Business Logic
Database
Modern Service Based Architecture
Client
Service Layer
Database
Modern Service Based Architecture
Client
Service Layer
1
2
34
5
Dimensions of Cloud Flexibility
1
2
34
5
Athelete Tracker Requirements
Capacity
• Amount of work a component can perform
• Critical for big data or time sensitive applications
• Operations per second, throughput or storage amount
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
Scalability
• Ability to match capacity with demand
1 2 3 4 5 6 7 80
1000
2000
3000
4000
5000
6000
7000
8000
9000
AthleteTracker Demand
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 760
20000
40000
60000
80000
100000
120000
• Windows Azure turn on and off virtual machines
• Upgrade/Downgrade website capacity
• Increase database throughput on the fly
Scalability -
Availability
• Ability to recover from adverse conditions
• Most commonly associated with datacenter recovery
• Cloud platforms allow for automatic and custom failover scenarios
• Heavy use of Asynchronous Queues
• Redundant SMS Gateways
• Load monitoring and automatic balancing
Availability -
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
• Platform as a Service– Queuing– Web Site– SQL Database
• Infrastructure as a Serivce (IaaS) for queue manager
Maintainability -
Affordability
• Will it break the bank?
• Not all applications fit a cloud model
• Critical to understand the application’s profile
• Mothball it after the race
• Scale up/down environment even during development
• Creating development/test environments smooth process
Affordability -
LESSONS LEARNED
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
SUMMARY
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
avtex.com/atheletetracker
QUESTIONS?
Thank You!