cisco's move from legacy software to cloud-based service model: couchbase connect 2015

29
Application Renovation with Couchbase Clint Ricker

Upload: couchbase

Post on 11-Aug-2015

202 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Application Renovation with Couchbase Clint Ricker

Page 2: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSRM Intro

VSRM = Video Session & Resource Manager

Enables broadcast, on demand, and hosted DVR Video

Page 3: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Background scenario

Changing industry

Changing ecosystem

Page 4: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Sold as a 1U appliance

VSRM (Before Couchbase)

Scalability via segmentation (1 server per 100K subscribers)

No centralized management

Page 5: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSR<

Platform Components

Applications

Application Protocol Adaptors

SDV Policy Mgr

S6VERM

SSP

Resource Manager

Resource Manager Adaptors

CMTS QAMBulk

Encryptor

Elem

ent Ma

nager (proprietary local

database)

VSRM (Before Couchbase)

MCMIS

VOD

Log Manager

Config Manager

HA Manager

Page 6: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM Scalability (Before Couchbase)

Page 7: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Phase 1: Assessment

Page 8: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Strong Underlying Design

Pluggable components

Core components plus adaptors

Model based applications

Page 9: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Deep customer entrenchment

Large scale customer deployments

Deep customer integration and customization

Page 10: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Rich algorithms and business logic

Complex algorithms

Rich support for customer policy rules

Page 11: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Why not?

Bad Design

Easy to reimplement algorithms and business logic

Small customer entrenchment

High technical debt

Page 12: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Phase 2: Renovation

Page 13: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSRM VSRM VSRM VSRM VSRM

DB DB DB DB DB

Concept

Distributed database / shared memory

Page 14: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Why Couchbase?

Strong consistency

Reliable low latency

Great scalability

Page 15: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSR<

Platform Components

Applications

Application Protocol Adaptors

SDV Policy Mgr

S6VERM

SSP

Resource Manager

Resource Manager Adaptors

CMTS QAMBulk

Encryptor

Elem

ent Ma

nager (proprietary local

database)

VSRM

MCMIS

VOD

Log Manager

Config Manager

HA Manager

Couchbase Adaptor

DB Manager

State

Page 16: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Data Former Became

Per session data (session state)

In memory C struct and legacy local database

Couchbase keys (now text based)

Component data model (config / application state)

Legacy local database 1 couchbase key per tableSession data typically peeled offCounters are individual keys

Raw memory C struct Couchbase keys using memcpy on C/C++.Other APIs transparently handle objects.

Data Model Transformation

Page 17: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Data Sizing

Smaller keys have lower latency

Max rate of consistent update of a key–higher for small keys

Transactions needed for consistent updates of groups of keys

Page 18: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Design Rules

Real time operations use key/value operations

Views reserved for maintenance operations

All database calls go through abstraction layer

Page 19: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Locking / Serialization

Pessimistic locks as a replacement for mutex

Provides serialization, not order

Optimistic locks for read efficiency

Page 20: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Queries

Be intentional on what data is indexed

Weaker consistency

Limited resource, especially if stale=true

Page 21: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Data Model TransformationCouchbase = clustering Swiss Army knife

Lightweight directory services

Simple distributed queues with append

Master election via get w/lock

Page 22: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Danger Zones

Consider key contention. Break apart keys if necessary. Redesign to avoid.

Distributed databases require robust error handling.

Test error handling and edge cases at scale.

Page 23: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

Phase 3: Makeover Grand Reveal

Page 24: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSR<

Platform Components

Applications

Application Protocol Adaptors

SDV Policy Mgr

S6VERM

SSP

Resource Manager

Resource Manager Adaptors

CMTS QAMBulk

Encryptor

Elem

ent Ma

nager (proprietary local

database)

VSRM (Before Couchbase)

MCMIS

VOD

Log Manager

Config Manager

HA Manager

Page 25: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSR<

Platform Components

Couchbase Adaptor

Applications

Application Protocol Adaptors

SDV Policy Mgr

S6VERM

SSP

Resource Manager

Resource Manager Adaptors

CMTS QAMBulk

Encryptor

Elem

ent Ma

nager (structure only)

VSRM Today

MCMIS

VOD

Log Manager

Config Manager

HA Manager

Web Svc Manager

Recorder Mgr

Linear Mgr

C3 A8RM-IS

RM-SS

RecorderVideo Mux

DB Manager

Page 26: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM

Clients (externally sharded to

~100K)

QAMQAMQAMQAMQAM

Mgmt

DB

VSRM Scalability Before Couchbase

Page 27: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSR<VSRMVM

Instance

VSRM Scalability Today (unified deployment model)

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAMQAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

Clients

VSRMVM

Instance

VSRMVM

Instance

VSRMVM

Instance

VSRMVM

Instance

Management

Load Balancer

Load Balancer

CouchbaseClusterCouchbase

ClusterCouchbaseCluster

Provisioning

Public or P

rivate C

loud

Page 28: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

VSR<

VSRM Scalability Today (per service deployment model)

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAMQAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

QAMQAMQAMQAMQAM

Clients

App Micro Service

App Service

Load Balancer

Load Balancer

CouchbaseClusterCouchbase

ClusterCouchbaseCluster

Provisioning

Public or P

rivate C

loud

Resource Mgr

Service

Resource Mgr

Service

Resource Mgr

Service

App AdaptorsServices

Resource Mgr

Service

Resource AdaptorServices

Management

Page 29: Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

The End