SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Faster Builds and Emulators (Xamarin.Android)
Faster Builds and Emulators (Xamarin.Android)Faster Builds and Emulators (Xamarin.Android)
Faster Builds and Emulators (Xamarin.Android)Shail D
 
Extreme Programming Deployed
Extreme Programming DeployedExtreme Programming Deployed
Extreme Programming DeployedSteve Loughran
 
Surviving Black Friday - CodeMotion
Surviving Black Friday - CodeMotionSurviving Black Friday - CodeMotion
Surviving Black Friday - CodeMotionOmri Fima
 
Webcamp Ep 3 - Modern Web Development
Webcamp Ep 3  - Modern Web DevelopmentWebcamp Ep 3  - Modern Web Development
Webcamp Ep 3 - Modern Web DevelopmentJohn Wong
 
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
 
How is creating power point
How is creating power pointHow is creating power point
How is creating power pointppashmak
 
Inside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyInside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyWillie Jackson
 
Diy cont integration_dc_cebu
Diy cont integration_dc_cebuDiy cont integration_dc_cebu
Diy cont integration_dc_cebuJohnnie Fox
 
FutureOfAgile
FutureOfAgileFutureOfAgile
FutureOfAgileRob Healy
 
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...Codemotion
 
Slides for 150911 (notes copy)
Slides for 150911 (notes copy)Slides for 150911 (notes copy)
Slides for 150911 (notes copy)thomas mathie
 
9 Productive Tips to Work Faster
9 Productive Tips to Work Faster9 Productive Tips to Work Faster
9 Productive Tips to Work FasterShore Labs
 
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 Jeff Costa
 

Mais procurados (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
 

Destaque

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 - NYCAmazon Web Services
 
AWS Customer Presentation - Zanran and AWS
AWS Customer Presentation - Zanran and AWSAWS Customer Presentation - Zanran and AWS
AWS Customer Presentation - Zanran and AWSAmazon 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, AWSAmazon Web Services
 
AWS Customer Presentation - Shutl and AWS
AWS Customer Presentation - Shutl and AWSAWS Customer Presentation - Shutl and AWS
AWS Customer Presentation - Shutl and AWSAmazon 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 VogelsAmazon Web Services
 
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 ...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 workshopAmazon Web Services
 
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 2013Amazon Web Services
 
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 2013Amazon Web Services
 
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...Amazon Web Services
 
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 cloudShlomo Swidler
 

Destaque (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
 

Semelhante a How Tapjoy Saves with Amazon Spot Pricing

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 EnoughRandy Shoup
 
Winning strategies in Test Automation
Winning strategies in Test AutomationWinning strategies in Test Automation
Winning strategies in Test AutomationXBOSoft
 
Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in StartupsDusan Omercevic
 
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...Niels Frydenholm
 
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)Martin Spier
 
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 Emrah Samdan
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory TestingJustin Ison
 
Customized Scrum
Customized ScrumCustomized Scrum
Customized ScrumAbdul Karim
 
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 StartupRandy Shoup
 
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...Amazon Web Services
 
Justin Ison
Justin IsonJustin Ison
Justin IsonCodeFest
 
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 RathiJAXLondon_Conference
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive uiPaul van Zyl
 
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 ...DevConFu
 
Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020Minimal Viable Architecture - Silicon Slopes 2020
Minimal Viable Architecture - Silicon Slopes 2020Randy Shoup
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremKris Buytaert
 
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:...Amazon Web Services
 
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 FranciscoChristian Heilmann
 

Semelhante a How Tapjoy Saves with Amazon Spot Pricing (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
 

Mais de Amazon Web Services

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...Amazon Web Services
 
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...Amazon Web Services
 
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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
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 Amazon Web Services
 
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...Amazon Web Services
 
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...Amazon Web Services
 
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 WorkloadsAmazon Web Services
 
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 sfatareAmazon Web Services
 
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 NodeJSAmazon Web Services
 
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 webAmazon Web Services
 
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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mais de 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
 

Último

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Último (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

How Tapjoy Saves with Amazon Spot Pricing

  • 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