devops meets cloud: blueprints for couchbase server deployment
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
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
• 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
• 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
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