SlideShare a Scribd company logo
1 of 23
Download to read offline
To Cloud

or Not to Cloud?



Greg Lindahl, CTO



@glindahl – greg@blekko.com"
About	
  Us	
  
•  Web-­‐scale	
  search	
  engine	
  with	
  our	
  own	
  crawl	
  &	
  index	
  
•  Public	
  launch,	
  November	
  2010	
  
•  $60	
  M	
  raised	
  
	
  
•  800	
  servers,	
  16	
  PB	
  spinning	
  rust,	
  ½	
  PB	
  flash	
  disk	
  
blekko.com	
  
izik	
  –	
  tablet	
  search	
  
The	
  wiring	
  diagram	
  
Web	
   Crawler	
   Extractor	
   Ranker	
   Indexer	
  
Lookup	
  
Query	
  
Analyzer	
  
Front	
  End	
  Query	
   SERP	
  
DIG	
  KB	
  
Hijacking	
  a	
  meetup	
  topic	
  
•  Original	
  topic	
  was	
  “virtualizaUon	
  or	
  not”	
  
•  But	
  really,	
  virtualizaUon	
  is	
  an	
  implementaUon	
  
detail	
  these	
  days	
  
– cloud	
  =>	
  virtual	
  
– virtual	
  =>	
  public	
  or	
  private	
  cloud	
  (probably)	
  
•  This	
  talk:	
  Public	
  cloud	
  vs.	
  not	
  
•  I’m	
  trying	
  to	
  list	
  a	
  bunch	
  of	
  things	
  that	
  you	
  
should	
  think	
  about	
  …	
  your	
  situaUon	
  probably	
  
differs	
  from	
  mine	
  
The	
  quesUon	
  
•  It’s	
  2007,	
  and	
  your	
  CEO	
  asks	
  you:	
  
Should	
  our	
  new	
  startup	
  use	
  this	
  newfangled	
  
cloud	
  compuUng	
  stuff	
  or	
  not?	
  
Why	
  cloud	
  at	
  all?	
  
•  Flexible	
  
– prototyping	
  &	
  development	
  
– tesUng	
  at	
  scale	
  
– scale	
  up	
  for	
  high	
  usage	
  and	
  back	
  down	
  later	
  
•  Turns	
  CapEx	
  into	
  OpEx	
  
– startups	
  prefer	
  paying	
  over	
  Ume	
  
– “money	
  tomorrow	
  is	
  cheaper	
  than	
  money	
  today”,	
  
if	
  you’re	
  successful	
  
{btw,	
  plenty	
  of	
  banks	
  will	
  loan	
  against	
  equipment.}	
  
Cloud	
  win	
  examples	
  
•  CommonCrawl.org	
  has	
  a	
  web	
  crawl	
  dataset	
  on	
  
EC2	
  
– Map/Reduce	
  job	
  to	
  read	
  the	
  whole	
  thing	
  is	
  ~	
  $50	
  
•  Fewer	
  ops	
  people	
  is	
  actually	
  true	
  
•  Your	
  company	
  can	
  change	
  direcUon	
  
OK,	
  so	
  what’s	
  bad?	
  
•  Examine	
  the	
  curve	
  of	
  Amazon’s	
  pricing	
  over	
  
Ume	
  and	
  per	
  volume	
  
•  People	
  think	
  it’s	
  a	
  low-­‐priced	
  product,	
  but	
  it’s	
  
not.	
  
•  It’s	
  value	
  priced.	
  
•  Not	
  enough	
  compeUUon,	
  yet,	
  to	
  really	
  drive	
  
Amazon’s	
  margins	
  down	
  
•  This	
  is	
  good	
  for	
  Amazon,	
  maybe	
  not	
  for	
  you.	
  
6	
  Reasons	
  to	
  not	
  use	
  Amazon	
  
•  Economy	
  of	
  scale	
  in	
  your	
  favor?	
  
•  Your	
  max::min	
  raUo	
  is	
  not	
  large	
  enough	
  
•  Cloud	
  IOPs	
  are	
  expensive	
  
•  Data	
  is	
  heavy	
  if	
  you	
  use	
  a	
  lot	
  of	
  local	
  disk	
  
•  SSDs	
  are	
  overpriced	
  
•  RaUo	
  of	
  disk	
  capacity	
  or	
  bandwidth	
  ::	
  ssd	
  ::	
  
memory	
  ::	
  compute	
  may	
  not	
  be	
  ideal	
  for	
  you	
  
Economy	
  of	
  scale	
  
•  “Amazon	
  has	
  100s	
  of	
  thousands	
  of	
  servers,	
  so	
  
they	
  can	
  run	
  them	
  cheaper	
  than	
  I	
  can.”	
  
•  But:	
  
– you	
  pay	
  retail,	
  not	
  wholesale	
  price	
  
– there	
  are	
  diminishing	
  returns	
  with	
  size	
  
•  At	
  some	
  point,	
  it’s	
  cheaper	
  to	
  do	
  it	
  yourself	
  
•  100	
  servers?	
  50	
  servers?	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  blekko	
  had	
  700	
  at	
  launch…	
  }	
  
Your	
  max::min	
  raUo	
  is	
  not	
  big	
  enough	
  
•  Maybe	
  you	
  use	
  100x	
  as	
  many	
  servers	
  some	
  
days?	
  
– Cloud	
  is	
  for	
  you!	
  
•  How	
  long	
  do	
  your	
  usage	
  spikes	
  last?	
  
•  Can	
  you	
  predict	
  them	
  far	
  enough	
  in	
  advance?	
  
•  How	
  long	
  does	
  it	
  take	
  you	
  to	
  spin	
  up	
  a	
  new	
  
node?	
  
{blekko’s	
  day::night	
  is	
  only	
  2x}	
  
Cloud	
  IOPs	
  are	
  expensive	
  
•  I/O	
  OperaUons	
  are	
  expensive	
  to	
  start	
  with	
  
– “spinning	
  rust”	
  disks	
  only	
  seek	
  so	
  much	
  
•  Networked	
  storage	
  has	
  low	
  bandwidth	
  
compared	
  to	
  10	
  apached	
  disks	
  
– 1	
  Gbyte/sec	
  sustained	
  –	
  woah!	
  
•  Networked	
  disks	
  are	
  more	
  expensive	
  than	
  
local	
  
– beper	
  failure	
  behavior,	
  whether	
  I	
  want	
  it	
  or	
  not	
  
Data	
  is	
  heavy	
  if	
  you	
  use	
  a	
  lot	
  of	
  local	
  disk	
  
•  I	
  mean:	
  it	
  takes	
  a	
  loooooong	
  Ume	
  to	
  copy	
  a	
  
few	
  tbytes	
  of	
  data	
  onto	
  your	
  local	
  disk	
  over	
  
the	
  network	
  
– 1	
  gigabit:	
  ½	
  tbyte/hour	
  
– 10	
  gigabit:	
  5	
  tbytes/hour	
  
– even	
  filling	
  your	
  ½	
  tbyte	
  SSD	
  is	
  kinda	
  slow	
  
•  Slow	
  spin-­‐up/down	
  of	
  nodes	
  hurts	
  your	
  ability	
  
to	
  flex	
  up	
  and	
  down	
  
SSDs	
  are	
  overpriced	
  (by	
  cloud	
  providers)	
  
•  SSDs	
  are	
  completely	
  awesome	
  for	
  read-­‐heavy	
  
analyUcs	
  queries	
  
•  SSDs	
  wear	
  out	
  with	
  writes	
  
•  No	
  cloud	
  provider	
  charges	
  a	
  fee	
  for	
  writes?	
  
•  Instead,	
  they	
  assume	
  all	
  their	
  customers	
  are	
  
average	
  
•  …	
  and	
  so	
  they	
  charge	
  way	
  too	
  much	
  to	
  
customers	
  who	
  are	
  smart	
  about	
  not	
  wriUng	
  
too	
  much	
  
{	
  blekko	
  is	
  great	
  at	
  not	
  wriUng	
  to	
  our	
  SSDs	
  }	
  
RaUos	
  available	
  might	
  not	
  fit	
  your	
  usage	
  	
  
•  Amazon	
  tries	
  prepy	
  hard:	
  
–  high	
  memory,	
  high-­‐CPU,	
  GPU,	
  high	
  I/O,	
  high-­‐storage	
  
–  weirder	
  ones	
  are	
  less	
  flexible	
  
•  It’s	
  sUll	
  easy	
  to	
  not	
  fit	
  into	
  that	
  set	
  of	
  cookie	
  
cupers	
  
•  Not	
  firng	
  ==	
  wasted	
  money	
  
–  idle	
  resources	
  that	
  you’ve	
  paid	
  for	
  
–  moves	
  the	
  break-­‐even	
  point	
  to	
  smaller	
  node	
  count	
  
	
  
{	
  blekko	
  crawler	
  nodes:	
  10	
  local	
  disks	
  (capacity,	
  
bandwidth,	
  seeks),	
  2	
  ssds,	
  96	
  gigs	
  ram}	
  	
  
So…	
  
•  For	
  us,	
  it	
  was	
  easy	
  to	
  predict	
  the	
  right	
  answer	
  
•  Our	
  SWAG	
  for	
  launch	
  day	
  was	
  600	
  servers	
  
– and	
  our	
  enUre	
  index	
  in	
  SSD	
  
– and	
  we	
  can’t	
  scale	
  down	
  from	
  that	
  
•  Amazon	
  wasn’t	
  renUng	
  SSDs	
  yet	
  
•  If	
  you’re	
  going	
  to	
  run	
  your	
  own	
  servers,	
  you	
  
need	
  to	
  start	
  early	
  
How	
  about	
  you?	
  
•  RT	
  analyUcs	
  is	
  a	
  complicated	
  subject	
  
•  Two	
  main	
  thrusts	
  
– Pre:	
  pre-­‐compute	
  aggregate	
  numbers,	
  query	
  
those	
  
– Mem:	
  sUck	
  a	
  subset	
  of	
  your	
  big	
  data	
  that	
  fits	
  into	
  
ram	
  or	
  ssd,	
  do	
  complicated	
  queries	
  against	
  those	
  
{	
  blekko	
  only	
  does	
  Pre	
  }	
  
Pre	
  
•  Needs	
  to	
  be	
  wired	
  into	
  your	
  stream	
  of	
  data	
  
generaUon,	
  e.g.	
  your	
  webserver	
  
•  Summary	
  data	
  can	
  be	
  prepy	
  small	
  
•  Doesn’t	
  really	
  maper	
  where	
  you	
  put	
  it	
  
•  Not	
  much	
  impact	
  on	
  the	
  cloud/no-­‐cloud	
  
decision	
  
{	
  blekko	
  pre-­‐computes	
  a	
  lot	
  of	
  things	
  using	
  
“combinators”	
  in	
  our	
  home-­‐grown	
  NoSQL,	
  	
  
opUonally	
  stuffing	
  them	
  into	
  our	
  SSD	
  caching	
  
system	
  }	
  
SERVER 1
PROCESS 1 PROCESS 2
SERVER 2
PROCESS 1 PROCESS 2
DISK 1 DISK 2 DISK 3
+4 +3 +4 +7
+11
+11+11
+7
+7+7
+18 +18 +18
Combinators	
  reduce	
  the	
  total	
  work	
  
Mem	
  
•  Even	
  a	
  decimated	
  subset	
  of	
  your	
  fresh	
  data	
  
can	
  involve	
  a	
  lot	
  of	
  write	
  bandwidth	
  
– SomeUmes	
  referred	
  to	
  as	
  “high	
  velocity”	
  
•  High	
  BW	
  probably	
  needs	
  to	
  go	
  nearby	
  your	
  big	
  
data	
  store	
  
•  AnalyUcs	
  probably	
  isn’t	
  going	
  to	
  influence	
  the	
  
cloud/not-­‐cloud	
  decision	
  
Discuss!	
  
•  Discuss	
  
•  For	
  more	
  about	
  blekko’s	
  setup:	
  
– 3	
  part	
  blog	
  series	
  at	
  highscalability.com	
  
– Please	
  search	
  [high	
  scalability	
  blekko]	
  in	
  your	
  
search	
  engine	
  of	
  choice	
  
– greg@blekko.com	
  -­‐-­‐-­‐	
  @glindahl	
  

More Related Content

What's hot

Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...
Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...
Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...Amazon Web Services
 
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)Amazon Web Services
 
Clash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureClash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureMihail Mateev
 
Deep Learning with AWS (November 2016)
Deep Learning with AWS (November 2016)Deep Learning with AWS (November 2016)
Deep Learning with AWS (November 2016)Julien SIMON
 
Tips & Tricks On Architecting Windows Azure For Costs
Tips & Tricks On Architecting Windows Azure For CostsTips & Tricks On Architecting Windows Azure For Costs
Tips & Tricks On Architecting Windows Azure For CostsNuno Godinho
 
Big Data in a Public Cloud
Big Data in a Public CloudBig Data in a Public Cloud
Big Data in a Public CloudCloudSigma
 
Day 3 - Maintaining Performance & Availability While Lowering Costs with AWS
Day 3 - Maintaining Performance & Availability While Lowering Costs with AWSDay 3 - Maintaining Performance & Availability While Lowering Costs with AWS
Day 3 - Maintaining Performance & Availability While Lowering Costs with AWSAmazon Web Services
 
WKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa SkillsWKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa SkillsAmazon Web Services
 
Drupal in the cloud with Windows Azure
Drupal in the cloud with Windows AzureDrupal in the cloud with Windows Azure
Drupal in the cloud with Windows AzureLeTesteur
 
How to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - WebinarHow to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - WebinarCommon Sense
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...Amazon Web Services
 
(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep DiveAmazon Web Services
 
How to scale up, out or down in Windows Azure
How to scale up, out or down in Windows AzureHow to scale up, out or down in Windows Azure
How to scale up, out or down in Windows AzureCommon Sense
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceBOSC 2010
 
Cmg06 utilization is useless
Cmg06 utilization is uselessCmg06 utilization is useless
Cmg06 utilization is uselessAdrian Cockcroft
 
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014Amazon Web Services
 
Planning a successful private cloud - CloudStack Collaboration Europe 2013
Planning a successful private cloud - CloudStack Collaboration Europe 2013Planning a successful private cloud - CloudStack Collaboration Europe 2013
Planning a successful private cloud - CloudStack Collaboration Europe 2013Tim Mackey
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Archroyans
 
Everything You Need for a Viral Game (Except the Game)
Everything You Need for a Viral Game (Except the Game)Everything You Need for a Viral Game (Except the Game)
Everything You Need for a Viral Game (Except the Game)Amazon Web Services
 

What's hot (20)

Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...
Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...
Developing for Your Target Market - Social, Games & Mobile - AWS India Summit...
 
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
 
Performance stack
Performance stackPerformance stack
Performance stack
 
Clash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft AzureClash of Technologies Google Cloud vs Microsoft Azure
Clash of Technologies Google Cloud vs Microsoft Azure
 
Deep Learning with AWS (November 2016)
Deep Learning with AWS (November 2016)Deep Learning with AWS (November 2016)
Deep Learning with AWS (November 2016)
 
Tips & Tricks On Architecting Windows Azure For Costs
Tips & Tricks On Architecting Windows Azure For CostsTips & Tricks On Architecting Windows Azure For Costs
Tips & Tricks On Architecting Windows Azure For Costs
 
Big Data in a Public Cloud
Big Data in a Public CloudBig Data in a Public Cloud
Big Data in a Public Cloud
 
Day 3 - Maintaining Performance & Availability While Lowering Costs with AWS
Day 3 - Maintaining Performance & Availability While Lowering Costs with AWSDay 3 - Maintaining Performance & Availability While Lowering Costs with AWS
Day 3 - Maintaining Performance & Availability While Lowering Costs with AWS
 
WKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa SkillsWKS404 7 Things You Must Know to Build Better Alexa Skills
WKS404 7 Things You Must Know to Build Better Alexa Skills
 
Drupal in the cloud with Windows Azure
Drupal in the cloud with Windows AzureDrupal in the cloud with Windows Azure
Drupal in the cloud with Windows Azure
 
How to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - WebinarHow to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - Webinar
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
 
(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive
 
How to scale up, out or down in Windows Azure
How to scale up, out or down in Windows AzureHow to scale up, out or down in Windows Azure
How to scale up, out or down in Windows Azure
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substance
 
Cmg06 utilization is useless
Cmg06 utilization is uselessCmg06 utilization is useless
Cmg06 utilization is useless
 
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
(SDD403) Amazon RDS for MySQL Deep Dive | AWS re:Invent 2014
 
Planning a successful private cloud - CloudStack Collaboration Europe 2013
Planning a successful private cloud - CloudStack Collaboration Europe 2013Planning a successful private cloud - CloudStack Collaboration Europe 2013
Planning a successful private cloud - CloudStack Collaboration Europe 2013
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
Everything You Need for a Viral Game (Except the Game)
Everything You Need for a Viral Game (Except the Game)Everything You Need for a Viral Game (Except the Game)
Everything You Need for a Viral Game (Except the Game)
 

Viewers also liked

Viewers also liked (10)

Market research kari kowalski
Market research kari kowalskiMarket research kari kowalski
Market research kari kowalski
 
History of computer
History of computerHistory of computer
History of computer
 
Hola
HolaHola
Hola
 
Milk-cost ratio
Milk-cost ratioMilk-cost ratio
Milk-cost ratio
 
Welcome
WelcomeWelcome
Welcome
 
Kamrul hassan 2012-07-03.msc.thesis
Kamrul hassan 2012-07-03.msc.thesisKamrul hassan 2012-07-03.msc.thesis
Kamrul hassan 2012-07-03.msc.thesis
 
Natalia possu cortes mision y vision
Natalia possu cortes mision y visionNatalia possu cortes mision y vision
Natalia possu cortes mision y vision
 
Warpa
WarpaWarpa
Warpa
 
Characterization
CharacterizationCharacterization
Characterization
 
Mapping Agricultural Investments and Technologies - Melanie Bacou
Mapping Agricultural Investments and Technologies - Melanie BacouMapping Agricultural Investments and Technologies - Melanie Bacou
Mapping Agricultural Investments and Technologies - Melanie Bacou
 

Similar to To Cloud or Not To Cloud?

High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2ScribbleLive
 
Mapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the CloudMapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the CloudChris Dagdigian
 
Leveraging Databricks for Spark Pipelines
Leveraging Databricks for Spark PipelinesLeveraging Databricks for Spark Pipelines
Leveraging Databricks for Spark PipelinesRose Toomey
 
Leveraging Databricks for Spark pipelines
Leveraging Databricks for Spark pipelinesLeveraging Databricks for Spark pipelines
Leveraging Databricks for Spark pipelinesRose Toomey
 
How to Make SQL Server Go Faster
How to Make SQL Server Go FasterHow to Make SQL Server Go Faster
How to Make SQL Server Go FasterBrent Ozar
 
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...Amazon Web Services
 
My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013hernanibf
 
Why does my choice of storage matter with cassandra?
Why does my choice of storage matter with cassandra?Why does my choice of storage matter with cassandra?
Why does my choice of storage matter with cassandra?Johnny Miller
 
Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)Govind Kanshi
 
Mtc learnings from isv & enterprise interaction
Mtc learnings from isv & enterprise  interactionMtc learnings from isv & enterprise  interaction
Mtc learnings from isv & enterprise interactionGovind Kanshi
 
M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentationEdward Capriolo
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systemselliando dias
 
My site is slow
My site is slowMy site is slow
My site is slowhernanibf
 
Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...Igor Sfiligoi
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18BIWUG
 
Radical Cloud Consolidation on The Ball
Radical Cloud Consolidation on The BallRadical Cloud Consolidation on The Ball
Radical Cloud Consolidation on The BallKallex
 
DataStax Enterprise in the Field – 20160920
DataStax Enterprise in the Field – 20160920DataStax Enterprise in the Field – 20160920
DataStax Enterprise in the Field – 20160920Daniel Cohen
 
Scaling apps for the big time
Scaling apps for the big timeScaling apps for the big time
Scaling apps for the big timeproitconsult
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightRed_Hat_Storage
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightColleen Corrice
 

Similar to To Cloud or Not To Cloud? (20)

High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2High Scalability Toronto: Meetup #2
High Scalability Toronto: Meetup #2
 
Mapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the CloudMapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the Cloud
 
Leveraging Databricks for Spark Pipelines
Leveraging Databricks for Spark PipelinesLeveraging Databricks for Spark Pipelines
Leveraging Databricks for Spark Pipelines
 
Leveraging Databricks for Spark pipelines
Leveraging Databricks for Spark pipelinesLeveraging Databricks for Spark pipelines
Leveraging Databricks for Spark pipelines
 
How to Make SQL Server Go Faster
How to Make SQL Server Go FasterHow to Make SQL Server Go Faster
How to Make SQL Server Go Faster
 
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
 
My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013
 
Why does my choice of storage matter with cassandra?
Why does my choice of storage matter with cassandra?Why does my choice of storage matter with cassandra?
Why does my choice of storage matter with cassandra?
 
Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)
 
Mtc learnings from isv & enterprise interaction
Mtc learnings from isv & enterprise  interactionMtc learnings from isv & enterprise  interaction
Mtc learnings from isv & enterprise interaction
 
M6d cassandrapresentation
M6d cassandrapresentationM6d cassandrapresentation
M6d cassandrapresentation
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
 
My site is slow
My site is slowMy site is slow
My site is slow
 
Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18
 
Radical Cloud Consolidation on The Ball
Radical Cloud Consolidation on The BallRadical Cloud Consolidation on The Ball
Radical Cloud Consolidation on The Ball
 
DataStax Enterprise in the Field – 20160920
DataStax Enterprise in the Field – 20160920DataStax Enterprise in the Field – 20160920
DataStax Enterprise in the Field – 20160920
 
Scaling apps for the big time
Scaling apps for the big timeScaling apps for the big time
Scaling apps for the big time
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer Spotlight
 
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer SpotlightCeph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer Spotlight
 

Recently uploaded

Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 

Recently uploaded (20)

Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 

To Cloud or Not To Cloud?

  • 1. To Cloud
 or Not to Cloud?
 
 Greg Lindahl, CTO
 
 @glindahl – greg@blekko.com"
  • 2. About  Us   •  Web-­‐scale  search  engine  with  our  own  crawl  &  index   •  Public  launch,  November  2010   •  $60  M  raised     •  800  servers,  16  PB  spinning  rust,  ½  PB  flash  disk  
  • 4. izik  –  tablet  search  
  • 5. The  wiring  diagram   Web   Crawler   Extractor   Ranker   Indexer   Lookup   Query   Analyzer   Front  End  Query   SERP   DIG  KB  
  • 6. Hijacking  a  meetup  topic   •  Original  topic  was  “virtualizaUon  or  not”   •  But  really,  virtualizaUon  is  an  implementaUon   detail  these  days   – cloud  =>  virtual   – virtual  =>  public  or  private  cloud  (probably)   •  This  talk:  Public  cloud  vs.  not   •  I’m  trying  to  list  a  bunch  of  things  that  you   should  think  about  …  your  situaUon  probably   differs  from  mine  
  • 7. The  quesUon   •  It’s  2007,  and  your  CEO  asks  you:   Should  our  new  startup  use  this  newfangled   cloud  compuUng  stuff  or  not?  
  • 8. Why  cloud  at  all?   •  Flexible   – prototyping  &  development   – tesUng  at  scale   – scale  up  for  high  usage  and  back  down  later   •  Turns  CapEx  into  OpEx   – startups  prefer  paying  over  Ume   – “money  tomorrow  is  cheaper  than  money  today”,   if  you’re  successful   {btw,  plenty  of  banks  will  loan  against  equipment.}  
  • 9. Cloud  win  examples   •  CommonCrawl.org  has  a  web  crawl  dataset  on   EC2   – Map/Reduce  job  to  read  the  whole  thing  is  ~  $50   •  Fewer  ops  people  is  actually  true   •  Your  company  can  change  direcUon  
  • 10. OK,  so  what’s  bad?   •  Examine  the  curve  of  Amazon’s  pricing  over   Ume  and  per  volume   •  People  think  it’s  a  low-­‐priced  product,  but  it’s   not.   •  It’s  value  priced.   •  Not  enough  compeUUon,  yet,  to  really  drive   Amazon’s  margins  down   •  This  is  good  for  Amazon,  maybe  not  for  you.  
  • 11. 6  Reasons  to  not  use  Amazon   •  Economy  of  scale  in  your  favor?   •  Your  max::min  raUo  is  not  large  enough   •  Cloud  IOPs  are  expensive   •  Data  is  heavy  if  you  use  a  lot  of  local  disk   •  SSDs  are  overpriced   •  RaUo  of  disk  capacity  or  bandwidth  ::  ssd  ::   memory  ::  compute  may  not  be  ideal  for  you  
  • 12. Economy  of  scale   •  “Amazon  has  100s  of  thousands  of  servers,  so   they  can  run  them  cheaper  than  I  can.”   •  But:   – you  pay  retail,  not  wholesale  price   – there  are  diminishing  returns  with  size   •  At  some  point,  it’s  cheaper  to  do  it  yourself   •  100  servers?  50  servers?                              {  blekko  had  700  at  launch…  }  
  • 13. Your  max::min  raUo  is  not  big  enough   •  Maybe  you  use  100x  as  many  servers  some   days?   – Cloud  is  for  you!   •  How  long  do  your  usage  spikes  last?   •  Can  you  predict  them  far  enough  in  advance?   •  How  long  does  it  take  you  to  spin  up  a  new   node?   {blekko’s  day::night  is  only  2x}  
  • 14. Cloud  IOPs  are  expensive   •  I/O  OperaUons  are  expensive  to  start  with   – “spinning  rust”  disks  only  seek  so  much   •  Networked  storage  has  low  bandwidth   compared  to  10  apached  disks   – 1  Gbyte/sec  sustained  –  woah!   •  Networked  disks  are  more  expensive  than   local   – beper  failure  behavior,  whether  I  want  it  or  not  
  • 15. Data  is  heavy  if  you  use  a  lot  of  local  disk   •  I  mean:  it  takes  a  loooooong  Ume  to  copy  a   few  tbytes  of  data  onto  your  local  disk  over   the  network   – 1  gigabit:  ½  tbyte/hour   – 10  gigabit:  5  tbytes/hour   – even  filling  your  ½  tbyte  SSD  is  kinda  slow   •  Slow  spin-­‐up/down  of  nodes  hurts  your  ability   to  flex  up  and  down  
  • 16. SSDs  are  overpriced  (by  cloud  providers)   •  SSDs  are  completely  awesome  for  read-­‐heavy   analyUcs  queries   •  SSDs  wear  out  with  writes   •  No  cloud  provider  charges  a  fee  for  writes?   •  Instead,  they  assume  all  their  customers  are   average   •  …  and  so  they  charge  way  too  much  to   customers  who  are  smart  about  not  wriUng   too  much   {  blekko  is  great  at  not  wriUng  to  our  SSDs  }  
  • 17. RaUos  available  might  not  fit  your  usage     •  Amazon  tries  prepy  hard:   –  high  memory,  high-­‐CPU,  GPU,  high  I/O,  high-­‐storage   –  weirder  ones  are  less  flexible   •  It’s  sUll  easy  to  not  fit  into  that  set  of  cookie   cupers   •  Not  firng  ==  wasted  money   –  idle  resources  that  you’ve  paid  for   –  moves  the  break-­‐even  point  to  smaller  node  count     {  blekko  crawler  nodes:  10  local  disks  (capacity,   bandwidth,  seeks),  2  ssds,  96  gigs  ram}    
  • 18. So…   •  For  us,  it  was  easy  to  predict  the  right  answer   •  Our  SWAG  for  launch  day  was  600  servers   – and  our  enUre  index  in  SSD   – and  we  can’t  scale  down  from  that   •  Amazon  wasn’t  renUng  SSDs  yet   •  If  you’re  going  to  run  your  own  servers,  you   need  to  start  early  
  • 19. How  about  you?   •  RT  analyUcs  is  a  complicated  subject   •  Two  main  thrusts   – Pre:  pre-­‐compute  aggregate  numbers,  query   those   – Mem:  sUck  a  subset  of  your  big  data  that  fits  into   ram  or  ssd,  do  complicated  queries  against  those   {  blekko  only  does  Pre  }  
  • 20. Pre   •  Needs  to  be  wired  into  your  stream  of  data   generaUon,  e.g.  your  webserver   •  Summary  data  can  be  prepy  small   •  Doesn’t  really  maper  where  you  put  it   •  Not  much  impact  on  the  cloud/no-­‐cloud   decision   {  blekko  pre-­‐computes  a  lot  of  things  using   “combinators”  in  our  home-­‐grown  NoSQL,     opUonally  stuffing  them  into  our  SSD  caching   system  }  
  • 21. SERVER 1 PROCESS 1 PROCESS 2 SERVER 2 PROCESS 1 PROCESS 2 DISK 1 DISK 2 DISK 3 +4 +3 +4 +7 +11 +11+11 +7 +7+7 +18 +18 +18 Combinators  reduce  the  total  work  
  • 22. Mem   •  Even  a  decimated  subset  of  your  fresh  data   can  involve  a  lot  of  write  bandwidth   – SomeUmes  referred  to  as  “high  velocity”   •  High  BW  probably  needs  to  go  nearby  your  big   data  store   •  AnalyUcs  probably  isn’t  going  to  influence  the   cloud/not-­‐cloud  decision  
  • 23. Discuss!   •  Discuss   •  For  more  about  blekko’s  setup:   – 3  part  blog  series  at  highscalability.com   – Please  search  [high  scalability  blekko]  in  your   search  engine  of  choice   – greg@blekko.com  -­‐-­‐-­‐  @glindahl