basho Thursday, 11 April 13 $ Thursday, 11 April 13 $ whoami - - PowerPoint PPT Presentation

basho
SMART_READER_LITE
LIVE PREVIEW

basho Thursday, 11 April 13 $ Thursday, 11 April 13 $ whoami - - PowerPoint PPT Presentation

Killing pigs and saving Danish bacon GOTO Zurich Zurich, Switzerland 11th April 2013 basho Thursday, 11 April 13 $ Thursday, 11 April 13 $ whoami Thursday, 11 April 13 $ whoami Name: Matthew Revell Title:


slide-1
SLIDE 1

basho

Killing pigs and saving Danish bacon

GOTO Zurich Zurich, Switzerland 11th April 2013

Thursday, 11 April 13
slide-2
SLIDE 2

$

Thursday, 11 April 13
slide-3
SLIDE 3

whoami $

Thursday, 11 April 13
slide-4
SLIDE 4

whoami $ Name: Matthew Revell Title: Community Manager Company: Basho Technologies Twitter: @matthewrevell

Thursday, 11 April 13
slide-5
SLIDE 5

Zeitgeist

Thursday, 11 April 13
slide-6
SLIDE 6

Zeitgeist

  • Web scale
Thursday, 11 April 13
slide-7
SLIDE 7

Zeitgeist

  • Web scale
  • Big data
Thursday, 11 April 13
slide-8
SLIDE 8

Zeitgeist

  • Web scale
  • Big data
  • Dev ops
Thursday, 11 April 13
slide-9
SLIDE 9

Web scale

Thursday, 11 April 13
slide-10
SLIDE 10

Web scale

  • Scales up and down at the very moment we

need it

  • Never goes down
Thursday, 11 April 13
slide-11
SLIDE 11

Big data

Thursday, 11 April 13
slide-12
SLIDE 12

Dev ops

Thursday, 11 April 13
slide-13
SLIDE 13

What do we want?

Thursday, 11 April 13
slide-14
SLIDE 14

Scalability

Thursday, 11 April 13
slide-15
SLIDE 15

Data availability

Thursday, 11 April 13
slide-16
SLIDE 16

Ops friendliness

Thursday, 11 April 13
slide-17
SLIDE 17 Thursday, 11 April 13
slide-18
SLIDE 18

Riak is...

Thursday, 11 April 13
slide-19
SLIDE 19

Riak is...

  • A key-value store, with extras
Thursday, 11 April 13
slide-20
SLIDE 20

Riak is...

  • A key-value store, with extras
  • Masterless: no single point of failure
Thursday, 11 April 13
slide-21
SLIDE 21

Riak is...

  • A key-value store, with extras
  • Masterless: no single point of failure
  • Distributed: within a cluster and between geographic locations
Thursday, 11 April 13
slide-22
SLIDE 22

Riak is...

  • A key-value store, with extras
  • Masterless: no single point of failure
  • Distributed: within a cluster and between geographic locations
  • Easily and massively linearly scalable
Thursday, 11 April 13
slide-23
SLIDE 23

Riak is...

  • A key-value store, with extras
  • Masterless: no single point of failure
  • Distributed: within a cluster and between geographic locations
  • Easily and massively linearly scalable
  • Highly available and fault tolerant
Thursday, 11 April 13
slide-24
SLIDE 24

Riak is...

  • A key-value store, with extras
  • Masterless: no single point of failure
  • Distributed: within a cluster and between geographic locations
  • Easily and massively linearly scalable
  • Highly available and fault tolerant
  • Redundant: automatically replicates data
Thursday, 11 April 13
slide-25
SLIDE 25

Riak is...

  • A key-value store, with extras
  • Masterless: no single point of failure
  • Distributed: within a cluster and between geographic locations
  • Easily and massively linearly scalable
  • Highly available and fault tolerant
  • Redundant: automatically replicates data
  • Always available for reads and writes
Thursday, 11 April 13
slide-26
SLIDE 26

Riak is...

  • A key-value store, with extras
  • Masterless: no single point of failure
  • Distributed: within a cluster and between geographic locations
  • Easily and massively linearly scalable
  • Highly available and fault tolerant
  • Redundant: automatically replicates data
  • Always available for reads and writes
  • Built for the web
Thursday, 11 April 13
slide-27
SLIDE 27

Riak the project

Thursday, 11 April 13
slide-28
SLIDE 28

Riak the project

  • Open source: Apache licensed
Thursday, 11 April 13
slide-29
SLIDE 29

Riak the project

  • Open source: Apache licensed
  • Created by Basho
Thursday, 11 April 13
slide-30
SLIDE 30

Riak the project

  • Open source: Apache licensed
  • Created by Basho
  • Developed by Basho and community developers
Thursday, 11 April 13
slide-31
SLIDE 31

Riak the project

  • Open source: Apache licensed
  • Created by Basho
  • Developed by Basho and community developers
  • Also available in enterprise and S3-compatible favours
Thursday, 11 April 13
slide-32
SLIDE 32

Riak the project

  • Open source: Apache licensed
  • Created by Basho
  • Developed by Basho and community developers
  • Also available in enterprise and S3-compatible favours
  • Based on Amazon’s Dynamo paper
Thursday, 11 April 13
slide-33
SLIDE 33

Riak the project

  • Open source: Apache licensed
  • Created by Basho
  • Developed by Basho and community developers
  • Also available in enterprise and S3-compatible favours
  • Based on Amazon’s Dynamo paper
  • Built using Erlang/OTP: designed for fault-tolerance
Thursday, 11 April 13
slide-34
SLIDE 34

The CAP trade-ofs

  • CAP theorem:
  • Consistency
  • Availability
  • Partition tolerance
  • Riak is:
  • Eventually consistent
  • Highly available
Thursday, 11 April 13
slide-35
SLIDE 35

Basho

  • We are a distributed systems company
  • Creators and ongoing developers of Riak
  • HQ is Cambridge, MA
  • EMEA HQ is London
  • Founded in 2008 by Akamai executives
Thursday, 11 April 13
slide-36
SLIDE 36

Riak EDS and Riak CS

  • Riak Enterprise Data Server:
  • Multi-data centre replication
  • Support, reporting and roadmap input
  • Riak Cloud Storage:
  • S3-compatible data store
  • Built on Riak EDS
  • Redundant, highly available, fault tolerant
storage on commodity hardware Thursday, 11 April 13
slide-37
SLIDE 37

Temetra

Thursday, 11 April 13
slide-38
SLIDE 38

Temetra

  • Meter data repository: many types of data
  • Audit log
  • Software for mobile devices
  • Routing plans
  • Interfaces to connected meters
  • Web interface for ofce-based utility staf
Thursday, 11 April 13
slide-39
SLIDE 39

Temetra

  • Millions of meters
  • Producing billions of data points
  • Meters in 2000: four data points a year
  • Meters in 2013: up to 35,000 data points a year
  • Enormously high data ingress
  • Relatively few reads
Thursday, 11 April 13
slide-40
SLIDE 40

Temetra

  • MUST NOT LOSE DATA
  • Revenue-generating data
  • Audit logs are serious business too
  • Must not lose access to data
  • Need to scale to expand
Thursday, 11 April 13
slide-41
SLIDE 41

Temetra

Thursday, 11 April 13
slide-42
SLIDE 42

Riak gave Temetra

  • No slow downs with huge amounts of data
  • No data loss
  • Easy and afordable scalability
  • Data availability even when things go wrong
  • Operational simplicity
Thursday, 11 April 13
slide-43
SLIDE 43

How is it quicker?

  • Key value queries are simpler than SQL queries
  • But also...
Thursday, 11 April 13
slide-44
SLIDE 44

Requests in Riak

Thursday, 11 April 13
slide-45
SLIDE 45

Requests in Riak

  • 160-bit integer keyspace

2160/2 2160/4

Thursday, 11 April 13
slide-46
SLIDE 46

Requests in Riak

  • 160-bit integer keyspace
  • divided into fxed number
  • f evenly-sized partitions

32 partitions 2160/2 2160/4

Thursday, 11 April 13
slide-47
SLIDE 47

Requests in Riak

  • 160-bit integer keyspace
  • divided into fxed number
  • f evenly-sized partitions
  • partitions are claimed by
nodes in the cluster

32 partitions

node 0 node 1 node 2 node 3

2160/2 2160/4

Thursday, 11 April 13
slide-48
SLIDE 48

Requests in Riak

  • 160-bit integer keyspace
  • divided into fxed number
  • f evenly-sized partitions
  • partitions are claimed by
nodes in the cluster
  • replicas go to the N
partitions following the key node 0 node 1 node 2 node 3 Thursday, 11 April 13
slide-49
SLIDE 49

Requests in Riak

  • 160-bit integer keyspace
  • divided into fxed number
  • f evenly-sized partitions
  • partitions are claimed by
nodes in the cluster
  • replicas go to the N
partitions following the key node 0 node 1 node 2 node 3

hash(“user_id”)

N=3 Thursday, 11 April 13
slide-50
SLIDE 50

Failure scenario

Thursday, 11 April 13
slide-51
SLIDE 51

Failure scenario

  • Node fails

X X X X X X X X

Thursday, 11 April 13
slide-52
SLIDE 52

Failure scenario

  • Node fails
  • Requests go to fallback

X X X X X X X X

hash(“user_id”)

Thursday, 11 April 13
slide-53
SLIDE 53

Failure scenario

  • Node fails
  • Requests go to fallback
  • Node comes back

hash(“user_id”)

Thursday, 11 April 13
slide-54
SLIDE 54

Failure scenario

  • Node fails
  • Requests go to fallback
  • Node comes back
  • “Handof” - data returns
to recovered node

hash(“user_id”)

Thursday, 11 April 13
slide-55
SLIDE 55

Failure scenario

  • Node fails
  • Requests go to fallback
  • Node comes back
  • “Handof” - data returns
to recovered node
  • Normal operations
resume

hash(“user_id”)

Thursday, 11 April 13
slide-56
SLIDE 56

Easy scalability

Thursday, 11 April 13
slide-57
SLIDE 57

Easy scalability

  • riak-admin cluster join riak@192.168.1.1
Thursday, 11 April 13
slide-58
SLIDE 58

Easy scalability

  • riak-admin cluster join riak@192.168.1.1
  • Success: staged join request for 'riak@192.168.2.5' to
'riak@192.168.2.2' Thursday, 11 April 13
slide-59
SLIDE 59

Rovio

Thursday, 11 April 13
slide-60
SLIDE 60
  • Makers of “Angry Birds” and many more

games

  • Consumers worldwide have downloaded

1.7B Rovio games

(http://www.factbrowser.com/facts/10813/)
  • As of December 2012, Rovio had 263M active

monthly users across all platforms

(http://www.factbrowser.com/facts/10814/) Thursday, 11 April 13
slide-61
SLIDE 61

Rovio and Riak

  • Rovio have three Riak clusters:
  • Yellowbird
  • Redbird
  • Fatbird
  • Let’s take a look at them...
Thursday, 11 April 13
slide-62
SLIDE 62

Yellowbird (1)

  • Account ID Storage Service
  • Authenticates user with Rovio’s digital

services

  • Communicates with “Wallet”
  • Wallet, service for in-game micro transactions
  • Designed to simplify the user experience for

gamers across all of Rovio’s games

Thursday, 11 April 13
slide-63
SLIDE 63

Yellowbird (2)

  • Why Riak?
  • User authentication is a k/v query
  • Needed a scalable solution to support the

next-generation of their gaming platform

  • As they enable their customer base to use

the new service, they can scale out their cluster easily

  • In production now!
Thursday, 11 April 13
slide-64
SLIDE 64

Redbird (1)

  • Account Push Notifcation Service
  • Co-ordinates sending Apple/iOS push

notifcations

  • Used to batch notifcations:
  • based on timezone
  • based on game type
Thursday, 11 April 13
slide-65
SLIDE 65

Redbird (2)

  • Why Riak?
  • Secondary Index (2i) Range Queries for

batch jobs

  • Very large dataset, each account has

multiple records (one for each game type)

  • Handles large batches of k/v requests, sent

to mobile services push systems

Thursday, 11 April 13
slide-66
SLIDE 66

Fatbird (1)

  • Game Storage Service
  • Each account has many game sessions saved
  • Allows users to transfer game sessions across

devices (iOS, android, web-based)

Thursday, 11 April 13
slide-67
SLIDE 67

Fatbird (2)

  • Why Riak?
  • Game session requests are k/v queries
  • High availability, use Riak Enterprise for

Disaster Recovery

  • Planning to expand the platform across

multiple data centers

  • In production now!
Thursday, 11 April 13
slide-68
SLIDE 68

Danish Health Authority

Thursday, 11 April 13
slide-69
SLIDE 69

Danish Health Authority

  • “Common Medical Card” program
Thursday, 11 April 13
slide-70
SLIDE 70

Danish Health Authority

  • “Common Medical Card” program
  • Stores prescription information for all
Thursday, 11 April 13
slide-71
SLIDE 71

Danish Health Authority

  • “Common Medical Card” program
  • Stores prescription information for all
  • Common view on patient data anywhere
Thursday, 11 April 13
slide-72
SLIDE 72

Danish Health Authority

  • “Common Medical Card” program
  • Stores prescription information for all
  • Common view on patient data anywhere
  • 70 prescriptions per citizen per year
Thursday, 11 April 13
slide-73
SLIDE 73

Danish Health Authority

  • “Common Medical Card” program
  • Stores prescription information for all
  • Common view on patient data anywhere
  • 70 prescriptions per citizen per year
  • ~400 million critical transactions per year
Thursday, 11 April 13
slide-74
SLIDE 74

Danish Health Authority

  • “Common Medical Card” program
  • Stores prescription information for all
  • Common view on patient data anywhere
  • 70 prescriptions per citizen per year
  • ~400 million critical transactions per year
  • 100% availability of data without exception
Thursday, 11 April 13
slide-75
SLIDE 75

Danish Health Authority

  • “Common Medical Card” program
  • Stores prescription information for all
  • Common view on patient data anywhere
  • 70 prescriptions per citizen per year
  • ~400 million critical transactions per year
  • 100% availability of data without exception
  • Far more cost-efective than Oracle
Thursday, 11 April 13
slide-76
SLIDE 76

UK National Health Service

Thursday, 11 April 13
slide-77
SLIDE 77

UK National Health Service

  • Spine project
Thursday, 11 April 13
slide-78
SLIDE 78

UK National Health Service

  • Spine project
  • Non-clinical patient data:
Thursday, 11 April 13
slide-79
SLIDE 79

UK National Health Service

  • Spine project
  • Non-clinical patient data:
  • NHS number: most people don’t know it
Thursday, 11 April 13
slide-80
SLIDE 80

UK National Health Service

  • Spine project
  • Non-clinical patient data:
  • NHS number: most people don’t know it
  • Every prescription issues by General

Practitioners

Thursday, 11 April 13
slide-81
SLIDE 81

UK National Health Service

  • Spine project
  • Non-clinical patient data:
  • NHS number: most people don’t know it
  • Every prescription issues by General

Practitioners

  • Keep a record of everyone current medicine

and adverse reactions

Thursday, 11 April 13
slide-82
SLIDE 82

UK National Health Service

  • Spine project
  • Non-clinical patient data:
  • NHS number: most people don’t know it
  • Every prescription issues by General

Practitioners

  • Keep a record of everyone current medicine

and adverse reactions

  • 80 million patients in England
Thursday, 11 April 13
slide-83
SLIDE 83

UK National Health Service

Thursday, 11 April 13
slide-84
SLIDE 84

UK National Health Service

  • 20,000 integrated end points
Thursday, 11 April 13
slide-85
SLIDE 85

UK National Health Service

  • 20,000 integrated end points
  • 500 complex messages per second
Thursday, 11 April 13
slide-86
SLIDE 86

UK National Health Service

  • 20,000 integrated end points
  • 500 complex messages per second
  • Zero data loss requirement
Thursday, 11 April 13
slide-87
SLIDE 87

UK National Health Service

  • 20,000 integrated end points
  • 500 complex messages per second
  • Zero data loss requirement
  • 99.9% availability requirement
Thursday, 11 April 13
slide-88
SLIDE 88

UK National Health Service

Thursday, 11 April 13
slide-89
SLIDE 89

UK National Health Service

  • 2002 a £1 billion project
Thursday, 11 April 13
slide-90
SLIDE 90

UK National Health Service

  • 2002 a £1 billion project
  • Built by large consultancy
Thursday, 11 April 13
slide-91
SLIDE 91

UK National Health Service

  • 2002 a £1 billion project
  • Built by large consultancy
  • 15,000 people years spent on meetings,

project management, etc.

Thursday, 11 April 13
slide-92
SLIDE 92

UK National Health Service

  • 2002 a £1 billion project
  • Built by large consultancy
  • 15,000 people years spent on meetings,

project management, etc.

  • £1 million per month on hardware update

costs

Thursday, 11 April 13
slide-93
SLIDE 93

UK National Health Service

  • 2002 a £1 billion project
  • Built by large consultancy
  • 15,000 people years spent on meetings,

project management, etc.

  • £1 million per month on hardware update

costs

  • Business no-data-loss guarantee: useless
Thursday, 11 April 13
slide-94
SLIDE 94

UK National Health Service

Thursday, 11 April 13
slide-95
SLIDE 95

UK National Health Service

  • Contract up for renewal in 2013
Thursday, 11 April 13
slide-96
SLIDE 96

UK National Health Service

  • Contract up for renewal in 2013
  • Agile in house team
Thursday, 11 April 13
slide-97
SLIDE 97

UK National Health Service

  • Contract up for renewal in 2013
  • Agile in house team
  • Evaluated Riak
Thursday, 11 April 13
slide-98
SLIDE 98

UK National Health Service

  • Contract up for renewal in 2013
  • Agile in house team
  • Evaluated Riak
  • Built the Spine 2 project in-house on Riak
Thursday, 11 April 13
slide-99
SLIDE 99

UK National Health Service

  • Contract up for renewal in 2013
  • Agile in house team
  • Evaluated Riak
  • Built the Spine 2 project in-house on Riak
  • Commodity hardware
Thursday, 11 April 13
slide-100
SLIDE 100

UK National Health Service

  • Contract up for renewal in 2013
  • Agile in house team
  • Evaluated Riak
  • Built the Spine 2 project in-house on Riak
  • Commodity hardware
  • Technical zero data-loss guarantee
Thursday, 11 April 13
slide-101
SLIDE 101

UK National Health Service

  • Contract up for renewal in 2013
  • Agile in house team
  • Evaluated Riak
  • Built the Spine 2 project in-house on Riak
  • Commodity hardware
  • Technical zero data-loss guarantee
  • Moral imperative: more money to save livess
Thursday, 11 April 13
slide-102
SLIDE 102

Basho Technologies

Thursday, 11 April 13
slide-103
SLIDE 103

Basho Technologies

  • Founded in 2008 by a group of engineers and

executives from Akamai Technologies, Inc.

Thursday, 11 April 13
slide-104
SLIDE 104

Basho Technologies

  • Founded in 2008 by a group of engineers and

executives from Akamai Technologies, Inc.

  • Design large scale distributed systems
Thursday, 11 April 13
slide-105
SLIDE 105

Basho Technologies

  • Founded in 2008 by a group of engineers and

executives from Akamai Technologies, Inc.

  • Design large scale distributed systems
  • Develop Riak, open-source distributed

database

Thursday, 11 April 13
slide-106
SLIDE 106

Basho Technologies

  • Founded in 2008 by a group of engineers and

executives from Akamai Technologies, Inc.

  • Design large scale distributed systems
  • Develop Riak, open-source distributed

database

  • Specialize in storing critical information, with

data integrity

Thursday, 11 April 13
slide-107
SLIDE 107

Basho Technologies

  • Founded in 2008 by a group of engineers and

executives from Akamai Technologies, Inc.

  • Design large scale distributed systems
  • Develop Riak, open-source distributed

database

  • Specialize in storing critical information, with

data integrity

  • Ofces in US, Europe (London) and Japan
Thursday, 11 April 13
slide-108
SLIDE 108

Planned for November 2013

Thursday, 11 April 13
slide-109
SLIDE 109

Let’s talk

Thursday, 11 April 13
slide-110
SLIDE 110

Let’s talk

  • mrevell@basho.com
Thursday, 11 April 13
slide-111
SLIDE 111

Let’s talk

  • mrevell@basho.com
  • Tech talk: bit.ly/RiakTechTalk
Thursday, 11 April 13