Controlling cloud costs with analytics

Post on 15-Jul-2015

914 views 0 download

Tags:

Transcript of Controlling cloud costs with analytics

Ali Khajeh-Hosseini

@AliKhajeh Nov 2013, Bristol University

®

®

Controlling cloud costs with analytics  

How cloud computing… is changing IT spending

I’m here to talk about

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

Jul ‘12: Acquired by RightScale

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

What the heck is… a cloud?

Server

Rack

Container

Electricity, Water, Internet

2500 Servers

a cloud

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    

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  

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

Why do companies care?

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

Capacity planning

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

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

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

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

AWS Reserved Instances Marketplace

Buy and sell reservations

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  

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

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)

What the heck? I just wanted a simple database

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

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  

Cloud Analytics helps users make decisions

Cloud Management helps users take actions

Who buys our products?

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

Pearson Publishing, PBS, Zynga…

1. Connect to a cloud

2. We regularly collect data

3. Slice and dice the data

4. See historic trends

5. Forecast future costs based on patterns

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

Working in startups

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

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

- 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����������� ������������������  

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

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