Engage 2013 - Leveraging the cloud for ultimate flexibility

39
Leveraging the cloud for ultimate flexibility Case Study: AthleteTracker Neil Iversen Director of Software Development, Avtex

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

Page 1: Engage 2013 - Leveraging the cloud for ultimate flexibility

Leveraging the cloud for ultimate flexibility

Case Study: AthleteTracker

Neil IversenDirector of Software Development, Avtex

Page 2: Engage 2013 - Leveraging the cloud for ultimate flexibility

Agenda

• Solution Overview• Cloud First Design• AthleteTracker Components• Lessons Learned• Questions

Page 3: Engage 2013 - Leveraging the cloud for ultimate flexibility

TWIN CITIES MARATHON ATHLETETRACKERTavis Hudson

Page 4: Engage 2013 - Leveraging the cloud for ultimate flexibility

ATHLETETRACKER: SOLUTION OVERVIEW

Page 5: Engage 2013 - Leveraging the cloud for ultimate flexibility

Spectator or runner goes to AthleteTracker website to register to use AthleteTracker service1

Page 6: Engage 2013 - Leveraging the cloud for ultimate flexibility

Attendees at the Race Expo sign up for AthleteTracker using Windows 8 modern application2

Page 7: Engage 2013 - Leveraging the cloud for ultimate flexibility

Runner wearing a digital tracking chip on their shoe crosses over time tracking mats throughout the course3

Page 8: Engage 2013 - Leveraging the cloud for ultimate flexibility

Fans receive SMS text messages viatheir mobile phone of runnersprogress during the race4

Page 9: Engage 2013 - Leveraging the cloud for ultimate flexibility

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

Page 10: Engage 2013 - Leveraging the cloud for ultimate flexibility

ATHLETETRACKER: LOGICAL DESIGN

Page 11: Engage 2013 - Leveraging the cloud for ultimate flexibility

Website

Notification Receiver

Page 12: Engage 2013 - Leveraging the cloud for ultimate flexibility

What is the Cloud?

• Outside of your direct control

• Limited responsibility

Page 13: Engage 2013 - Leveraging the cloud for ultimate flexibility

Common Cloud Offerings

• Software as a Service (SaaS)

• Infrastructure as a Service (IaaS)

• Platform as a Service (PaaS)

Page 14: Engage 2013 - Leveraging the cloud for ultimate flexibility

Cloud First Design

• Take advantage of platform capabilities

• Embrace isolation and separation

• Asynchronous Scales

Page 15: Engage 2013 - Leveraging the cloud for ultimate flexibility

Application Anatomy

Interface

Processing

Persistence

Communication

Page 16: Engage 2013 - Leveraging the cloud for ultimate flexibility

Traditional 3-Tier

Client

Business Logic

Database

Page 17: Engage 2013 - Leveraging the cloud for ultimate flexibility

Modern Service Based Architecture

Client

Service Layer

Database

Page 18: Engage 2013 - Leveraging the cloud for ultimate flexibility

Modern Service Based Architecture

Client

Service Layer

Page 19: Engage 2013 - Leveraging the cloud for ultimate flexibility

1

2

34

5

Dimensions of Cloud Flexibility

Page 20: Engage 2013 - Leveraging the cloud for ultimate flexibility

1

2

34

5

Athelete Tracker Requirements

Page 21: Engage 2013 - Leveraging the cloud for ultimate flexibility

Capacity

• Amount of work a component can perform

• Critical for big data or time sensitive applications

• Operations per second, throughput or storage amount

Page 22: Engage 2013 - Leveraging the cloud for ultimate flexibility

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

Page 23: Engage 2013 - Leveraging the cloud for ultimate flexibility

Scalability

• Ability to match capacity with demand

1 2 3 4 5 6 7 80

1000

2000

3000

4000

5000

6000

7000

8000

9000

Page 24: Engage 2013 - Leveraging the cloud for ultimate flexibility

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

Page 25: Engage 2013 - Leveraging the cloud for ultimate flexibility

• Windows Azure turn on and off virtual machines

• Upgrade/Downgrade website capacity

• Increase database throughput on the fly

Scalability -

Page 26: Engage 2013 - Leveraging the cloud for ultimate flexibility

Availability

• Ability to recover from adverse conditions

• Most commonly associated with datacenter recovery

• Cloud platforms allow for automatic and custom failover scenarios

Page 27: Engage 2013 - Leveraging the cloud for ultimate flexibility

• Heavy use of Asynchronous Queues

• Redundant SMS Gateways

• Load monitoring and automatic balancing

Availability -

Page 28: Engage 2013 - Leveraging the cloud for ultimate flexibility

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

Page 29: Engage 2013 - Leveraging the cloud for ultimate flexibility

• Platform as a Service– Queuing– Web Site– SQL Database

• Infrastructure as a Serivce (IaaS) for queue manager

Maintainability -

Page 30: Engage 2013 - Leveraging the cloud for ultimate flexibility

Affordability

• Will it break the bank?

• Not all applications fit a cloud model

• Critical to understand the application’s profile

Page 31: Engage 2013 - Leveraging the cloud for ultimate flexibility

• Mothball it after the race

• Scale up/down environment even during development

• Creating development/test environments smooth process

Affordability -

Page 32: Engage 2013 - Leveraging the cloud for ultimate flexibility

LESSONS LEARNED

Page 33: Engage 2013 - Leveraging the cloud for ultimate flexibility

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

Page 34: Engage 2013 - Leveraging the cloud for ultimate flexibility

SUMMARY

Page 35: Engage 2013 - Leveraging the cloud for ultimate flexibility

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

Page 36: Engage 2013 - Leveraging the cloud for ultimate flexibility

avtex.com/atheletetracker

Page 37: Engage 2013 - Leveraging the cloud for ultimate flexibility

QUESTIONS?

Page 38: Engage 2013 - Leveraging the cloud for ultimate flexibility

Thank You!

Page 39: Engage 2013 - Leveraging the cloud for ultimate flexibility