SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Choosing Our Spots
How Tapjoy Saves with Amazon Spot Pricing
®

Weston Jossey
November 13th, 2013

© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Friday, November 15, 13
A Brief Introduction

Friday, November 15, 13
Who Am I?
• Engineer turned DevOps junkie
• Multiple Areas of Focus
•
•
•
•

Performance
Cost Management & Reduction
Efficiency
As Needed Firefighter

Friday, November 15, 13
Tapjoy’s Challenge
• Premier Mobile Ad Network Across iOS & Android
• Global Network (435 Million Monthly Reach)
• Diverse user base (54% Male, 46% Female)
• Billions of requests per day
• Growth requires iteration, experimentation, and massive
scale
• Small mistakes are magnified to millions of consumers
instantly
Friday, November 15, 13
Scale Horizontally
Everywhere

Friday, November 15, 13
What Everyone Sees
1. Develop a killer product, hire more engineers
2. Expand product as fast as possible, gain market
share
3. Iterate, grow, refine, scale...
4. #Profit

Friday, November 15, 13
What Everyone Forgets to Mention
• Engineering is a game of tradeoffs. Fast growth
comes at a price.
• Testing and QA are often the first to lag behind.
• Building quality test beds for engineers can be
complicated.

Friday, November 15, 13
Food for Thought
• Where are your bottlenecks in your development
cycle?
• How do you simulate production?

Friday, November 15, 13
Spot Instances:
The Dremel of Engineering
®

Friday, November 15, 13
The Mindset Required
• Engineer application level redundancy and fault
tolerance.
• Spread yourself amongst many zones, potentially even
many regions.
• Identify areas of required, not preferred, persistence.
• Understand how your “neighbors” are utilizing your
preferred instance type.

Friday, November 15, 13
Always Be Testing
• Lots of engineering means...
• Lots of code pushes
• Lots of pull requests
• Lots of automated tests to be run frequently to prevent regressions

• Full test suites can take > 1 hour when run serially.
• Can slow down the review process when changes
require at minimum an hour lag for automated sign-off.

Friday, November 15, 13
Scale Horizontally With Spot Instances
• Jenkins + Spot Instances
• https://github.com/bwall/ec2-plugin

• Go wide during business hours, scale back in the
evenings. Automatically kicks online at 06:00ET
• Workers scale horizontally to support dozens of
simultaneous regression tests spread out over dozens
of workers
• Jenkins automatically guards against spot termination
Friday, November 15, 13
Tapinabox
• Born from Tapjoy Hackathon
• Quarterly hackathons to promote engineering growth and creativity.
• Question Posed: “What if spinning up a fresh QA was as easy as launching
a app server on Heroku?”

• Goals
•
•
•
•

Behaves, operates, and performs like production.
Should be dead-simple to use. “Push a button, get a server.”
Save money through improved quality and low cost to operate.
End-To-End Product. No mocks, no stubs.

Friday, November 15, 13
Tapinabox Cont.
• Fully automated build & deployment process tied to a
developers Github account.
• Simple web interface for creating, managing, and
editing instances.
• Quick collaboration with Product Managers, remote
QA, and partner testing.
• Fully run on Spot Instances.

Friday, November 15, 13
Friday, November 15, 13
Friday, November 15, 13
How we Built Tapinabox
• Ruby on Rails
• AWS CLI
• Chef
• Amazon EC2 Spot Instances (zone & region agnostic)
• Tapjoy Slugs: Custom slug-deployments based on
FPM https://github.com/jordansissel/fpm

Friday, November 15, 13
Pointers & Lessons Learned
• Spot Instances can take a while to provision with a different
workflow than a traditional on-demand model.
• Very important to find quiet zones / regions based on your
workload.
• Pricing sometimes takes a back seat to reliability. What
instance types have contention?
• Guard against termination with adequate pricing, but don’t try
and prevent it. Automation is key. The price will eventually fall.
• Pick the right tool for the job. Don’t get greedy!
Friday, November 15, 13
Kudos
• Tapjoy Automation Team
•
•
•
•
•

John Russell
Chris Gerber
JLo
Adam Bell
Hugh Barrigan

Friday, November 15, 13
Thank You
weston.jossey@tapjoy.com
@dustywes

Friday, November 15, 13
Please give us your feedback on this
presentation

CPN207
As a thank you, we will select prize
winners daily for completed surveys!

Friday, November 15, 13

Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Q6 what have you learnt about technologies...
Q6   what have you learnt about technologies...Q6   what have you learnt about technologies...
Q6 what have you learnt about technologies...
greenyellowblue
 
Inside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyInside Out: A Web Performance Philosophy
Inside Out: A Web Performance Philosophy
Willie Jackson
 
FutureOfAgile
FutureOfAgileFutureOfAgile
FutureOfAgile
Rob Healy
 

Was ist angesagt? (14)

Faster Builds and Emulators (Xamarin.Android)
Faster Builds and Emulators (Xamarin.Android)Faster Builds and Emulators (Xamarin.Android)
Faster Builds and Emulators (Xamarin.Android)
 
Extreme Programming Deployed
Extreme Programming DeployedExtreme Programming Deployed
Extreme Programming Deployed
 
Surviving Black Friday - CodeMotion
Surviving Black Friday - CodeMotionSurviving Black Friday - CodeMotion
Surviving Black Friday - CodeMotion
 
Webcamp Ep 3 - Modern Web Development
Webcamp Ep 3  - Modern Web DevelopmentWebcamp Ep 3  - Modern Web Development
Webcamp Ep 3 - Modern Web Development
 
Kanban stand-up meetings
Kanban stand-up meetingsKanban stand-up meetings
Kanban stand-up meetings
 
Q6 what have you learnt about technologies...
Q6   what have you learnt about technologies...Q6   what have you learnt about technologies...
Q6 what have you learnt about technologies...
 
How is creating power point
How is creating power pointHow is creating power point
How is creating power point
 
Inside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyInside Out: A Web Performance Philosophy
Inside Out: A Web Performance Philosophy
 
Diy cont integration_dc_cebu
Diy cont integration_dc_cebuDiy cont integration_dc_cebu
Diy cont integration_dc_cebu
 
FutureOfAgile
FutureOfAgileFutureOfAgile
FutureOfAgile
 
Surviving Black Friday - A resilience engineering tale - Omri Fima - Codemoti...
Surviving Black Friday - A resilience engineering tale - Omri Fima - Codemoti...Surviving Black Friday - A resilience engineering tale - Omri Fima - Codemoti...
Surviving Black Friday - A resilience engineering tale - Omri Fima - Codemoti...
 
Slides for 150911 (notes copy)
Slides for 150911 (notes copy)Slides for 150911 (notes copy)
Slides for 150911 (notes copy)
 
9 Productive Tips to Work Faster
9 Productive Tips to Work Faster9 Productive Tips to Work Faster
9 Productive Tips to Work Faster
 
Drop Your Website Load Times Down a Waterfall
Drop Your Website Load Times Down a Waterfall Drop Your Website Load Times Down a Waterfall
Drop Your Website Load Times Down a Waterfall
 

Andere mochten auch

AWS Customer Presentation - Cycle Computing - AWS Summit 2012 - NYC
AWS Customer  Presentation - Cycle Computing - AWS Summit 2012 - NYCAWS Customer  Presentation - Cycle Computing - AWS Summit 2012 - NYC
AWS Customer Presentation - Cycle Computing - AWS Summit 2012 - NYC
Amazon Web Services
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Amazon Web Services
 
AWS Summit 2011 : Opening Keynote State of the Cloud Werner Vogels
AWS Summit 2011 : Opening Keynote State of the Cloud Werner VogelsAWS Summit 2011 : Opening Keynote State of the Cloud Werner Vogels
AWS Summit 2011 : Opening Keynote State of the Cloud Werner Vogels
Amazon Web Services
 
Running a lean startup with aws technical workshop
Running a lean startup with aws   technical workshopRunning a lean startup with aws   technical workshop
Running a lean startup with aws technical workshop
Amazon Web Services
 

Andere mochten auch (12)

AWS Customer Presentation - Cycle Computing - AWS Summit 2012 - NYC
AWS Customer  Presentation - Cycle Computing - AWS Summit 2012 - NYCAWS Customer  Presentation - Cycle Computing - AWS Summit 2012 - NYC
AWS Customer Presentation - Cycle Computing - AWS Summit 2012 - NYC
 
AWS Customer Presentation - Zanran and AWS
AWS Customer Presentation - Zanran and AWSAWS Customer Presentation - Zanran and AWS
AWS Customer Presentation - Zanran and AWS
 
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWSGetting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
Getting started in the AWS Cloud, Glen Robinson, Solutions Architect, AWS
 
AWS Customer Presentation - Shutl and AWS
AWS Customer Presentation - Shutl and AWSAWS Customer Presentation - Shutl and AWS
AWS Customer Presentation - Shutl and AWS
 
AWS Summit 2011 : Opening Keynote State of the Cloud Werner Vogels
AWS Summit 2011 : Opening Keynote State of the Cloud Werner VogelsAWS Summit 2011 : Opening Keynote State of the Cloud Werner Vogels
AWS Summit 2011 : Opening Keynote State of the Cloud Werner Vogels
 
Amazon Simple Email Service 101
Amazon Simple Email Service 101Amazon Simple Email Service 101
Amazon Simple Email Service 101
 
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
AWS Customer Presentation-Redefining the Relationship Between Game Maker and ...
 
Running a lean startup with aws technical workshop
Running a lean startup with aws   technical workshopRunning a lean startup with aws   technical workshop
Running a lean startup with aws technical workshop
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
 
A Day in the Life of a Billion Packets (CPN401) | AWS re:Invent 2013
A Day in the Life of a Billion Packets (CPN401) | AWS re:Invent 2013A Day in the Life of a Billion Packets (CPN401) | AWS re:Invent 2013
A Day in the Life of a Billion Packets (CPN401) | AWS re:Invent 2013
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
How I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloudHow I learned to stop worrying and love the cloud
How I learned to stop worrying and love the cloud
 

Ähnlich wie Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207) | AWS re:Invent 2013

Winning strategies in Test Automation
Winning strategies in Test AutomationWinning strategies in Test Automation
Winning strategies in Test Automation
XBOSoft
 

Ähnlich wie Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207) | AWS re:Invent 2013 (20)

Minimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good EnoughMinimum Viable Architecture - Good Enough is Good Enough
Minimum Viable Architecture - Good Enough is Good Enough
 
Winning strategies in Test Automation
Winning strategies in Test AutomationWinning strategies in Test Automation
Winning strategies in Test Automation
 
Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in Startups
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
 
Applying Chaos Engineering to Build Resilient Serverless Applications
Applying Chaos Engineering to Build Resilient Serverless Applications Applying Chaos Engineering to Build Resilient Serverless Applications
Applying Chaos Engineering to Build Resilient Serverless Applications
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 
Customized Scrum
Customized ScrumCustomized Scrum
Customized Scrum
 
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupMinimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
 
How Parse Built a Mobile Backend as a Service on AWS (MBL307) | AWS re:Invent...
How Parse Built a Mobile Backend as a Service on AWS (MBL307) | AWS re:Invent...How Parse Built a Mobile Backend as a Service on AWS (MBL307) | AWS re:Invent...
How Parse Built a Mobile Backend as a Service on AWS (MBL307) | AWS re:Invent...
 
Justin Ison
Justin IsonJustin Ison
Justin Ison
 
DevOps, what should you decide, when, why & how - Vinita Rathi
DevOps, what should you decide, when, why & how - Vinita RathiDevOps, what should you decide, when, why & how - Vinita Rathi
DevOps, what should you decide, when, why & how - Vinita Rathi
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
 
Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
 
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
Scaling a Mobile Web App to 100 Million Clients and Beyond (MBL302) | AWS re:...
 
Software management for tech startups
Software management for tech startupsSoftware management for tech startups
Software management for tech startups
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 

Mehr von Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207) | AWS re:Invent 2013

  • 1. Choosing Our Spots How Tapjoy Saves with Amazon Spot Pricing ® Weston Jossey November 13th, 2013 © 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Friday, November 15, 13
  • 3. Who Am I? • Engineer turned DevOps junkie • Multiple Areas of Focus • • • • Performance Cost Management & Reduction Efficiency As Needed Firefighter Friday, November 15, 13
  • 4. Tapjoy’s Challenge • Premier Mobile Ad Network Across iOS & Android • Global Network (435 Million Monthly Reach) • Diverse user base (54% Male, 46% Female) • Billions of requests per day • Growth requires iteration, experimentation, and massive scale • Small mistakes are magnified to millions of consumers instantly Friday, November 15, 13
  • 6. What Everyone Sees 1. Develop a killer product, hire more engineers 2. Expand product as fast as possible, gain market share 3. Iterate, grow, refine, scale... 4. #Profit Friday, November 15, 13
  • 7. What Everyone Forgets to Mention • Engineering is a game of tradeoffs. Fast growth comes at a price. • Testing and QA are often the first to lag behind. • Building quality test beds for engineers can be complicated. Friday, November 15, 13
  • 8. Food for Thought • Where are your bottlenecks in your development cycle? • How do you simulate production? Friday, November 15, 13
  • 9. Spot Instances: The Dremel of Engineering ® Friday, November 15, 13
  • 10. The Mindset Required • Engineer application level redundancy and fault tolerance. • Spread yourself amongst many zones, potentially even many regions. • Identify areas of required, not preferred, persistence. • Understand how your “neighbors” are utilizing your preferred instance type. Friday, November 15, 13
  • 11. Always Be Testing • Lots of engineering means... • Lots of code pushes • Lots of pull requests • Lots of automated tests to be run frequently to prevent regressions • Full test suites can take > 1 hour when run serially. • Can slow down the review process when changes require at minimum an hour lag for automated sign-off. Friday, November 15, 13
  • 12. Scale Horizontally With Spot Instances • Jenkins + Spot Instances • https://github.com/bwall/ec2-plugin • Go wide during business hours, scale back in the evenings. Automatically kicks online at 06:00ET • Workers scale horizontally to support dozens of simultaneous regression tests spread out over dozens of workers • Jenkins automatically guards against spot termination Friday, November 15, 13
  • 13. Tapinabox • Born from Tapjoy Hackathon • Quarterly hackathons to promote engineering growth and creativity. • Question Posed: “What if spinning up a fresh QA was as easy as launching a app server on Heroku?” • Goals • • • • Behaves, operates, and performs like production. Should be dead-simple to use. “Push a button, get a server.” Save money through improved quality and low cost to operate. End-To-End Product. No mocks, no stubs. Friday, November 15, 13
  • 14. Tapinabox Cont. • Fully automated build & deployment process tied to a developers Github account. • Simple web interface for creating, managing, and editing instances. • Quick collaboration with Product Managers, remote QA, and partner testing. • Fully run on Spot Instances. Friday, November 15, 13
  • 17. How we Built Tapinabox • Ruby on Rails • AWS CLI • Chef • Amazon EC2 Spot Instances (zone & region agnostic) • Tapjoy Slugs: Custom slug-deployments based on FPM https://github.com/jordansissel/fpm Friday, November 15, 13
  • 18. Pointers & Lessons Learned • Spot Instances can take a while to provision with a different workflow than a traditional on-demand model. • Very important to find quiet zones / regions based on your workload. • Pricing sometimes takes a back seat to reliability. What instance types have contention? • Guard against termination with adequate pricing, but don’t try and prevent it. Automation is key. The price will eventually fall. • Pick the right tool for the job. Don’t get greedy! Friday, November 15, 13
  • 19. Kudos • Tapjoy Automation Team • • • • • John Russell Chris Gerber JLo Adam Bell Hugh Barrigan Friday, November 15, 13
  • 21. Please give us your feedback on this presentation CPN207 As a thank you, we will select prize winners daily for completed surveys! Friday, November 15, 13 Thank You