devops meets cloud: blueprints for couchbase server deployment

31
1 Couchbase, Inc. Confiden2al Couchbase, Inc. Confiden2al Todd Greenstein Couchbase and Cloudso. Couchbase Overview

Upload: couchbase

Post on 20-Aug-2015

348 views

Category:

Technology


0 download

TRANSCRIPT

1  Couchbase,  Inc.  Confiden2al  Couchbase,  Inc.  Confiden2al  

Todd  Greenstein  

Couchbase  and  Cloudso.  Couchbase  Overview  

2  Couchbase,  Inc.  Confiden2al  

Fastest  growing  NoSQL  database  company  >  4x  growth  in  2013;  Widely  recognized  as  industry  leader  

Worldwide  opera?ons  with  >  150  employees  >75  in  engineering;  more  than  doubling  every  year  Support  offices  in  US  (mul2ple),  UK,  India,  Japan,  China  (soon)      

Leader  in  scalability  &  high  performance  Easily  &  reliable  scale  your  app;  Get  consistent  low  latency  &  high  throughput  

Only  NoSQL  vendor  with  mobile  database  +  sync    Recognized  as  most  innova?ve  NoSQL  vendor    

Provide  KV  &  document  database  for  web  &  mobile  apps  Flexible,  schemaless  JSON  data  model;  100%  open  source  

Mission  cri?cal  deployments  at  large  enterprises  &  internet  companies  >  400  customers;  >10,000  paid  produc2on  nodes  deployed;  worldwide  customer  base  

Couchbase,  Inc.  Confiden2al  

3  Couchbase,  Inc.  Confiden2al  Couchbase,  Inc.  Confiden2al  

Market  Adop?on  

>  400  customers;      >  10,000  produc?on  nodes  deployed  

Internet  Companies   Enterprises  

4  Couchbase,  Inc.  Confiden2al  Couchbase,  Inc.  Confiden2al  

What  is  Couchbase  

5  Couchbase,  Inc.  Confiden2al  Couchbase,  Inc.  Confiden2al  

Overview  

Couchbase  offers  a  full  range  of  Data  Management  solu?ons  

High  Availability  Cache  

Key  Value   Document   Mobile  device  

SSN:  400  658  9993  Pass:  ******  

Pass:  ******  

6  Couchbase,  Inc.  Confiden2al  Couchbase,  Inc.  Confiden2al  

Couchbase  Server  Is  The  Complete  Solu?on  

One  click  scalability  and  no  app  changes.  

Sub  millisecond  latency  with  high  throughput  for  reads  and  writes.  

Maintenance,  upgrades  and  cluster  resizing  all  online  without  applica2on  down2me  

JSON  document  model  with  no  fixed  schema.  

✔  

✔  

✔  

✔  

Consistent  High  Performance  

Flexible  Data  Model  

Easy  Scalability  

Always  On  24x7x365  

7  Couchbase,  Inc.  Confiden2al  

Easy  Scalability  

XDCR   Single  Node  Type  

No  Manual  Sharding    Database  manages  data  movement  to  scale  out  -­‐  Not  the  user    

Database  handles  propaga2on  of  updates  to  scale  across  clusters    and  geos    Provides  disaster  recover    /  data  locality  

Hugely  simplifies  management  of  clusters    Easy  to  scale  clusters  by  adding  any  #  of  nodes  

FEATURES  

Auto  Sharding  

Couchbase,  Inc.  Confiden2al  

8  Couchbase,  Inc.  Confiden2al  

Consistent,  High  Performance  

Fine  Grained  Locking  

Built-­‐in  Cache  

Hash  Par??oning  

Allows  high  concurrency  and  in  turn  high  throughput  via  highly  granular  latches  

No  need  of  separate  cache  layer    Database  manages  ac2vely  used  data  

Uniform  data  distribu2on    Uniform  load  distribu2on  –    NO  hotspots  

PERFORMANCE

Support  a  large  number  of  users  needed  for  interac2ve  apps  

Massive  Concurrent  Connec?ons  

FEATURES  

Couchbase,  Inc.  Confiden2al  

9  Couchbase,  Inc.  Confiden2al  

Always  on  24x7  Capability    

All  admin  opera2ons  online    • Compac2on  • Indexing  • Rebalance  • Backup  &  Restore  

• High  availability  using  in-­‐memory  replica2on  • Auto  or  manual  failover    • XDCR  for  disaster  recovery  

Online  administra?ve  opera?ons  

HA  via  Replica?on    DR  via  XDCR    

FEATURES  

Online  DB  upgrades  and  HW  maintenance    Op2mized  swap  opera2on  to  replace  nodes  

Online  DB  upgrades  and  maintenance  

Couchbase,  Inc.  Confiden2al  

10  Couchbase,  Inc.  Confiden2al  

Flexible  Data  Model  

Represent  data  as  objects  instead  of  shredding  into  rows  and  columns    Create  indexes  on  any  akribute  of  the  document  

Each  document  can  have  a  different  structure      Easy  to  change  data  without  database  changes  and  down2me  

Maintains  Na?ve  object  

representa?on  

Handles  constantly  

changing  data  

JSONJSONJSON

JSONJSON

FEATURES  

Data  with  mixed  structure  beker  managed  via  JSON  in  a  document  DB  than  an  RDBMS  

Schema-­‐less  for  structured  /  un/semi-­‐  structured  

data  

Couchbase,  Inc.  Confiden2al  

Couchbase Blueprints in Apache Brooklyn

Todd Greenstein Couchbase

Alex Heneveld Cloudsoft

• What is Couchbase?

• What are Apache Brooklyn Blueprints?

• A Simple Blueprint for Couchbase

• A Multi-Tier Blueprint using Couchbase

• What is Couchbase?

• What are Apache Brooklyn Blueprints?

• A Simple Blueprint for Couchbase

• A Multi-Tier Blueprint using Couchbase

couchbase.com

• What is Couchbase?

• What are Apache Brooklyn Blueprints?

• A Simple Blueprint for Couchbase

• A Multi-Tier Blueprint using Couchbase

brooklyn.io

• What is Couchbase?

• What are Apache Brooklyn Blueprints?

• A Simple Blueprint for Couchbase

• A Multi-Tier Blueprint using Couchbase

services:- type: brooklyn.entity.nosql.couchbase.CouchbaseCluster initialSize: 5!location: softlayer:ams01

name: Couchbase Two Bucket!location: aws-ec2:us-east-1!services:- type: brooklyn.entity.nosql.couchbase.CouchbaseCluster initialSize: 3 adminUsername: Administrator adminPassword: Password createBuckets: - bucket: default bucket-port: 11211 - bucket: my_bucket_2 bucket-port: 11222

• What is Couchbase?

• What are Apache Brooklyn Blueprints?

• A Simple Blueprint for Couchbase

• A Multi-Tier Blueprint using Couchbase

name: My Couchbase with Elastic Load Generator!services:!- type: brooklyn.entity.nosql.couchbase.CouchbaseCluster id: cb-cluster adminUsername: Administrator adminPassword: Password initialSize: 3 createBuckets: [ { bucket: default } ] brooklyn.config: provisioning.properties: minRam: 16384 minCores: 4 brooklyn.policies: - type: brooklyn.policy.autoscaling.AutoScalerPolicy brooklyn.config: metric: $brooklyn:sensor("brooklyn.entity.nosql.couchbase.CouchbaseCluster", "couchbase.stats.cluster.per.node.ops") metricLowerBound: 500 metricUpperBound: 1000 minPoolSize: 3 maxPoolSize: 8!- type: brooklyn.entity.webapp.ControlledDynamicWebAppCluster name: Web Couchbase Load Gen Cluster war: https://github.com/neykov/web-load-gen/raw/master/load-gen.war brooklyn.config: provisioning.properties: minCores: 4 java.sysprops: brooklyn.example.couchbase.nodes: $brooklyn:formatString("'%s'", component("cb-cluster").attributeWhenReady("couchbase.cluster.node.addresses")) initialSize: 2!location: softlayer:wdc01

Couchbase Blueprints in Apache Brooklyn

Todd Greenstein Couchbase

Alex Heneveld Cloudsoft