Controlling cloud costs with analytics

40
Ali Khajeh-Hosseini @AliKhajeh Nov 2013, Bristol University Controlling cloud costs with analytics

Transcript of Controlling cloud costs with analytics

Page 1: Controlling cloud costs with analytics

Ali Khajeh-Hosseini

@AliKhajeh Nov 2013, Bristol University

®

®

Controlling cloud costs with analytics  

Page 2: Controlling cloud costs with analytics

How cloud computing… is changing IT spending

I’m here to talk about

Page 3: Controlling cloud costs with analytics

Jan 2009: Started PhD in St Andrews

Dec ‘11: Hassan quit his job and joined

May ‘10: PlanForCloud v.1 ready

May ‘12: Mountain View for YC interview

Feb ‘12: Launched PlanForCloud (v.2)

5min demo video filmed in my flat with poor lighting and a £10 poster

Page 4: Controlling cloud costs with analytics

Jul ‘12: Acquired by RightScale

Nov ‘13: Launched Cloud Analytics (v.3)

Page 5: Controlling cloud costs with analytics

What the heck is… a cloud?

Page 6: Controlling cloud costs with analytics

Server

Page 7: Controlling cloud costs with analytics

Rack

Page 8: Controlling cloud costs with analytics

Container

Page 9: Controlling cloud costs with analytics

Electricity, Water, Internet

2500 Servers

Page 10: Controlling cloud costs with analytics
Page 11: Controlling cloud costs with analytics
Page 12: Controlling cloud costs with analytics

a cloud

Page 13: Controlling cloud costs with analytics

Around 60 Staff 30 Megawatts = Perth (Scotland)! 140 Containers 38,500 m2 = 4 ftbl pitches

360,000 Servers 500,000,000 Dollars

h#p://www.microso/.com/Presspass/emea/presscentre/pressreleases/February2012/23-­‐02DublinDataCentre.mspx    

Page 14: Controlling cloud costs with analytics

Infra

stru

cture-

as-a

-Servi

ce

Platfo

rm-a

s-a-Se

rvice

Softw

are-a

s-a-Se

rvice

Cloud Computing  Focus of my talk  

Page 15: Controlling cloud costs with analytics

Cloud computing has many benefits - Elasticity - Pay-per-use pricing ...

Why do companies care?

Page 16: Controlling cloud costs with analytics

Animoto’s crazy scale-out

h#p://blog.rightscale.com/2008/04/23/animoto-­‐facebook-­‐scale-­‐up/  

Scale-out from 50 to 4,000 servers in 3 days

Page 17: Controlling cloud costs with analytics

Capacity planning

Images  taken  from  h#p://aws.amazon.com/economics/    

Page 18: Controlling cloud costs with analytics

Zynga’s Z-Cloud

h#p://www.rightscale.com/customers/zynga-­‐grows-­‐to-­‐1-­‐social-­‐gaming-­‐site-­‐with-­‐rightscale.php  h#p://code.zynga.com/2012/02/the-­‐evoluKon-­‐of-­‐zcloud/  

Launch new games on public clouds Move to private cloud when usage patterns are understood

Page 19: Controlling cloud costs with analytics

There are different purchase options - On-Demand: fixed rate - Reserved: pay upfront, lower rate - Spot: Bid how much you would pay - Discounts and consolidated bills

Page 20: Controlling cloud costs with analytics

up-front procurement to pay-per-use

Image  taken  from  h#p://aws.typepad.com/aws/2011/12/reserved-­‐instance-­‐opKons-­‐for-­‐amazon-­‐ec2.html  

AWS Reserved Instances

You have to specify: term (1/3 yr), utilization, availability zone, instance type and OS when buying a RI

Page 21: Controlling cloud costs with analytics

AWS Reserved Instances Marketplace

Buy and sell reservations

Page 22: Controlling cloud costs with analytics

AWS Spot Prices

Bid for an instance, it’ll get switched on if bid >= spot price. You pay spot price, AWS sets it.

h#p://www.cs.technion.ac.il/~ladypine/spotprice-­‐slides-­‐postmortem.pdf  

Page 23: Controlling cloud costs with analytics

Prices change (feels like there’s a price war between providers)

Page 24: Controlling cloud costs with analytics

Example: a MySQL Database AWS Relation Database Service (RDS) - Up-front reservation fee (optional) - CPU: $X/hour (based on instance type and cloud) - Storage: $X/GB/month - Transactions: $X/Millions of I/O ops - Provisioned IOPS: $X/IOPS/month (has other limitations) - Redundancy: double the CPU hourly rate - Data transfer: $X/GB (tiered across cloud)

Page 25: Controlling cloud costs with analytics

What the heck? I just wanted a simple database

Page 26: Controlling cloud costs with analytics

It’s starting to get interesting 1. Many clouds worldwide 2. Many pricing models 3. Markets for computing 4. RightScale helps move between clouds

Cost optimisation

Page 27: Controlling cloud costs with analytics

Cloud spending is growing rapidly

Cloud pricing is complicated… we scrape over 12,000 prices.

Need to visualize, forecast and optimize cloud spend

The challenge

h#p://www.gartner.com/newsroom/id/2352816  

Page 28: Controlling cloud costs with analytics

Cloud Analytics helps users make decisions

Cloud Management helps users take actions

Page 29: Controlling cloud costs with analytics

Who buys our products?

Big-ass enterprises… like Sony, Samsung, EA Games,

Pearson Publishing, PBS, Zynga…

Page 30: Controlling cloud costs with analytics

1. Connect to a cloud

2. We regularly collect data

Page 31: Controlling cloud costs with analytics

3. Slice and dice the data

Page 32: Controlling cloud costs with analytics

4. See historic trends

Page 33: Controlling cloud costs with analytics

5. Forecast future costs based on patterns

Page 34: Controlling cloud costs with analytics

Other considerations Availability and disaster recovery Performance vs. cost trade-off Security and compliance Socio-technical factors …

Page 35: Controlling cloud costs with analytics

Working in startups

Page 36: Controlling cloud costs with analytics

Startups����������� ������������������  are����������� ������������������  fun����������� ������������������  

Page 37: Controlling cloud costs with analytics

Startups����������� ������������������  are����������� ������������������  based����������� ������������������  in����������� ������������������  awesome����������� ������������������  places����������� ������������������  

Page 38: Controlling cloud costs with analytics

- Design a new reporting section of the product; designers own the frontend code and we don’t use any frameworks like Bootstrap.

- Update our AngularJS-based frontend to let users design their own custom dashboards.

- Optimize our DataStore API to respond to within 5 seconds (Ruby, NewSQL backend).

- Decipher AWS’ billing algorithms to make our cost estimation engine more accurate.

- Develop a testing framework to verify data that’s gathered from major public and private clouds worldwide including AWS, Google Compute Engine, Microsoft Azure, Rackspace, and OpenStack.

- Develop tools to start/stop our staging environment on AWS within a few minutes, find a replacement for Jenkins, and change our weekly releases to daily releases.

Startups����������� ������������������  provide����������� ������������������  challenges����������� ������������������  

Page 39: Controlling cloud costs with analytics

Startups����������� ������������������  love����������� ������������������  good����������� ������������������  food����������� ������������������  (lunch����������� ������������������  &����������� ������������������  learn)����������� ������������������  

Page 40: Controlling cloud costs with analytics

Do you have an internship/job for me? PlanForCloud.com/jobs