Engage 2013 - Leveraging the cloud for ultimate flexibility

Post on 19-May-2015

261 views 1 download

Tags:

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.

Transcript of Engage 2013 - Leveraging the cloud for ultimate flexibility

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!